summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-12-02kencc: make "function not declared" a warning unless compiling with -Taiju
2018-12-02python: explicitly declare WaitForThreadShutdown as voidmischief
2018-12-02ape: declare gethostnamemischief
2018-12-02mergecinap_lenrek
2018-12-02libsec: fix memory leak in pkcs1_decrypt()cinap_lenrek
2018-12-01libdtracy: wrong operator in XORI (thanks aiju)BurnZeZ
2018-12-01kencc: turn "function args not checked" warning into "function not declared" ↵aiju
error if appropriate
2018-12-012c(1): document some differences with ANSI Caiju
2018-12-01hgwebfs: write headers individually, so they are not limited by webfs iounit ↵cinap_lenrek
(thanks mischief)
2018-12-01webfs: write headers individually so they are not limited in sum to the 8k ↵cinap_lenrek
buffer
2018-11-30fplot: add support for readout with middle mouse buttonaiju
2018-11-30fplot: color different curvesaiju
2018-11-30fplot: compute y range correctly when used with multiple graphsaiju
2018-11-28upas: get rid of broken validatesender example, remove redundant upas/misc ↵cinap_lenrek
and setup target
2018-11-28hgwebfs: read to eof by default to match urllib2 behaviormischief
2018-11-28devip: fix arpread, dont return partial entriescinap_lenrek
2018-11-27fshalt: wait for fileservers command file to vanishcinap_lenrek
cwfs and hjfs create ther /srv command files with ORCLOSE flag, so they get removed once the fileserver terminates. we can use this to check that the fileserver has in fact finished halting without making assumtions about the time it should maximally take for any fileserver to write out its buffers to disk.
2018-11-26upas/fs: avoid switch on vlong breaking build (thanks k0ga)cinap_lenrek
2018-11-26upas/fs: another mistake ...cinap_lenrek
2018-11-26upas/fs: fix broken body.ext in walk (thanks sl)cinap_lenrek
2018-11-24libmach: change amd64 szreg to 8 (thanks charles forsyth)cinap_lenrek
2018-11-24delete old NOTICE fileaiju
2018-11-22snap: use Mach->szaddr as the width of the stack pointer (fixes snap on amd64)cinap_lenrek
to read the value of the stack pointer register, snap used Machdata->szreg to determine the width of the SP register in the Ureg structure. however, the value does not match the Ureg.sp type for a number of architectures (mips2, amd64) and it is unclear if this was an oversight as it is rarely used (snap is indeed the only user) or if it was intended for a different purpose. so we use szaddr instead which matches the stack pointer width in the Ureg and fixes the truncated stack issue on amd64.
2018-11-22snap: add debug flag, make debug less verbosecinap_lenrek
2018-11-22snap: check for overflows, cleanup error handlingcinap_lenrek
2018-11-22snap: consequently use ulong for page index and countcinap_lenrek
2018-11-22snap: be more conservative taking stack snapshotcinap_lenrek
include up to 8k below the stack to get some more context. don't assume stack is at least 16K.
2018-11-22upas/fs: keep messages *marked* for deletion in the indexcinap_lenrek
2018-11-22upas/fs: allow msgincref() with mb->refs == 0cinap_lenrek
this can happen when the on the final sync when the mailbox is being freed: freembox -> mboxdecref -> syncmbox -> wridxfile -> pridx -> insurecache -> msgincref
2018-11-21upas/fs: checkfid() might be called with uninitialized fid, ignorecinap_lenrek
2018-11-21upas/fs: fix walkcinap_lenrek
2018-11-21upas/fs: don't enter mailbox into hashtree when it is being freedcinap_lenrek
syncmbox() used to enter the mailbox into the hash tree to update the qid.vers. this is wrong when we are doing the final sync before freeing the mailbox as the hash reference has already been removed by freemailbox(). also avoid adding hash entries for mails for the about to be freed mailbox in cachehash().
2018-11-21mp(2): fix spellingcinap_lenrek
2018-11-21mp(2): clarify mptoa() and mpfmt() default basecinap_lenrek
2018-11-21upas/fs: rework the refcounting, use 64bit qid path, add checkscinap_lenrek
add function to check the refcounts for Mailbox and Message on a fid use the full 64 bit of the qid.path, so we can use the full 32 bit for the id instead of only maintaining refcount for the top message, msgincref() now adds a reference to all its parent messages including self and top message. then we can check in recursive delmessage() that all the parts have a zero refcount. remove the Fid.mtop field, it was never used. make sure deletion and flag changes only affect the top message. cachefree(): only look for top message in lru. sub-parts are never added to the cache. use the nparts field when reading sub-part of existing message, so that we parse the index right in case the number of parts somehow changed. messages marked as Deleted but still in inbox should be written to the index.
2018-11-20games/md: fix mkfileaiju
2018-11-20games/md: use cpu.c from blitaiju
2018-11-20games/blit: clean up cpu.c and make it pass testsaiju
2018-11-19pc, pc64: park application processors in rebootcode with mmu offcinap_lenrek
instead of having application processors spin in mpshutdown() with mmu on, and be subject to reboot() overriding kernel text and modifying page tables, park the application processors in rebootcode idle loop with the mmu off.
2018-11-18vt(1): vt doesnt exit when the host process exits as claimed (thanks driusan)cinap_lenrek
2018-11-18cc: fix wrong "useless or misleading comparison" warningcinap_lenrek
to reproduce: u8int x, y; x = 0xff; y = 0xc0; if((s8int)(x & y) >= 0) print("help\n"); compiles correctly but prints a warning warning: test.c:11 useless or misleading comparison: UINT >= 0 the issue is that compar() unconditionally skipped over all left casts ignoring the case when a cast would sign extend the value. the new code only skips over the cast when the original type with is smaller than the cast result or when they are equal width and types have same signedness. so the effective left hand side type is the last truncation or sign extension.
2018-11-18rc: implement $"x in terms of Xdol() and new Xqw() instructioncinap_lenrek
to get $"1 right, remove Xqdol() and instead implement it in terms of Xdol() instruction and use the new Xqw() instruction to quote the resulting list.
2018-11-18devip: fix swapped tcp snd.scale and recv.scale in tcpstate() format (thanks ↵cinap_lenrek
joe9)
2018-11-18libdraw: avoid deadlock for mouse ioproc sending on resizeccinap_lenrek
a deadlock has been observed with samterm (thanks burnzez), that shows the mouse ioproc being stuck in sending on the resize channel, while the mouse consumer is stuck in a readmouse() loop wanting a rectangle to be drawn by the user: recv(v=0x42df50)+0x28 /sys/src/libthread/channel.c:321 readmouse(mc=0x42df50)+0x54 /sys/src/libdraw/mouse.c:34 getrect(.ret=0x41bce0,but=0x4,mc=0x42df50)+0x62 /sys/src/libdraw/getrect.c:49 r=0x41bc70 rc=0x41bc70 getr(rp=0x41bce0)+0x24 /sys/src/cmd/samterm/main.c:244 p=0x6b000004f6 r=0x2 sweeptext(new=0x0,tag=0x2d)+0x12 /sys/src/cmd/samterm/menu.c:208 r=0x2 t=0x42df50 inmesg(type=0x2,count=0x2)+0x1ab /sys/src/cmd/samterm/mesg.c:136 m=0x10000002d l=0x2d00001b00 i=0x43829000000001 t=0x438290 lp=0x42e050 rcv()+0x7a /sys/src/cmd/samterm/mesg.c:77 threadmain(argv=0x7ffffeffef90)+0x173 /sys/src/cmd/samterm/main.c:63 so avoid blocking in the mouse ioproc by using nbsend() instead of send() for writing to the resize channel.
2018-11-17devbridge: fix runt packets going through the bridge (thanks cinap)mischief
linux will send small, unpadded arp packets which may arrive over wifi, so allow small packets into the bridge and pad any packets that are too small when going out.
2018-11-17games/c64: make keyboard table more readableaiju
2018-11-14ether82563: ignore i82753 checksums, fixes T60 ethernetmischief
2018-11-14nusb/kb: multitouch support (touchscreens, stylus)cinap_lenrek
touchscreens signal multiple contact points (X/Y) in the hid descriptor separated by being nested in separate collections. the contact point is identified by a optional contact id. if omited, we use the collection index and report id. so we collect all the items (X/Y, buttons, wheel) from separate collections in Hidslot structures and in the end combine all the slots together. buttons are or'ed together while absolute X/Y is applied when it changed. relative X/Y deltas get added together. thanks to kivik and Glats for testing.
2018-11-13rcpu: fix pvar to initialize empty variables (thanks mycroftiv)cinap_lenrek
2018-11-13nusb/kb: revert multitouch, breaks some mice...cinap_lenrek