summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-09-27hgignore: ignore amd64 kernel and initmischief
2014-09-24pc64: enable rtl8169 driver (thanks awabimakoto for testing)mischief
2014-09-246c/8c: eleminate moves by swaping source and destination operands in ↵cinap_lenrek
peephole pass
2014-09-22acid: fix sysr1() stack corruptioncinap_lenrek
the syscall stubs (for amd64) currently have a unconditional spill of the first (register) argument to the stack. sysr1 (and _nsec) are exceptional in that they do not take any arguments, so the stub is writing unconditionally to ther first argument slot on the stack. i could avoid emiting the spill in the syscall stubs for sysr1 but that would also break truss which assumes fixed instruction sequence from stub start to the syscall number. i'm not going to complicate the syscall stubs just for sysr1 (_nsec is not used in 9front), but just add a dummy argument to sysr1 definition that can receive the bogus argument spill.
2014-09-21devip: sanity check Nchan in Fsproto()cinap_lenrek
devip can only handle Maskconv+1 conversations per protocol depending on how many bits it uses in the qid to encode the conversation number. we check this when the protocol gets registered. if we do not do this, the kernel will mysteriously panic when the conversaion numbers collide which took some time to debug.
2014-09-21sysinfo: relax regex for start of kernel boot messagescinap_lenrek
we used to look for /^Plan 9$/ for the start of kernel boot messages in /dev/kmesg. but the xen kernel prints Plan 9 (.....) on boot. so just look for line starting with /^Plan 9/ for now.
2014-09-21devip: print protocol name in garbage collection notificationcinap_lenrek
2014-09-21pc64: print "Plan 9" on boot, cleanup pccpu64 filescinap_lenrek
2014-09-20stats: handle /dev/sysstat 32bit overflow in delta calculationcinap_lenrek
the numbers from /dev/sysstat overflow on 32bit, so have to do subtraction modulo 2^32 as we calculate with 64bit integers. thanks mischief for reporting this.
2014-09-20pc64: syscallfmt for nsec syscallcinap_lenrek
2014-09-20pc64: put return value of nsec syscall in register on amd64cinap_lenrek
WHAT WHERE THEY *THINKING*??!?! unlike seek, the (new) nsec syscall (not used in 9front libc) returns the time value in register (from nix), so do the same for compatibility.
2014-09-19libmemdraw: fix byte ordering in memfillcolor()cinap_lenrek
memfillcolor() used to write longs in host byte order which is wrong. have to always use little endian. to simplify, moved little endian conversion into memsetl() and memsets() avoiding code duplication.
2014-09-19lib9p: fix nil dereference crash in remove for directory permission checkcinap_lenrek
file->parent can be nil when the file has been previously removed. removefile() deals with this, so skip the permission check in that case and let removefile() error out.
2014-09-17teg2: fix wrong l2 setshift address in wholecache() (from sources)cinap_lenrek
2014-09-16oggdec: recognize "begin of stream" packets and restart decodingcinap_lenrek
2014-09-16mergecinap_lenrek
2014-09-16libauthsrv: allow multiple auth= attributes for backup auth servers, ↵cinap_lenrek
authdial() tries each one in order some of us run auth servers from home that are used by multiple servers on the internet. when the home authserver becomes unreachable, services on the outside servers stop working. so we thought about specifing a secondary auth servers for backup when the primary server is not reachable. this changes authdial() to consult multiple auth= entries in the authdom= or dom= tuples, trying each one in order until dial() succeeds.
2014-09-15ramfs: allow changing mtime in wstatsmischief
2014-09-15hg: make intermediate directories like newer hg doesmischief
2014-09-16ramfs: fix directory check in wstat() (thanks mischief)cinap_lenrek
2014-09-15devtls: fix typo in debug printcinap_lenrek
2014-09-14telnetd: let the kernel place the shared segment in segattach() (thanks ↵cinap_lenrek
kenji arisawa)
2014-09-14libmemdraw: update drawtest to use same rounding in alpha calculation as ↵cinap_lenrek
libmemdraw
2014-09-14kernel: fix segattach() rounding of va+len (thanks kenji arisawa)cinap_lenrek
from segattach(2): Va and len specify the position of the segment in the process's address space. Va is rounded down to the nearest page boundary and va+len is rounded up. The system does not permit segments to overlap. If va is zero, the system will choose a suitable address. just rounding up len isnt enougth. we have to round up va+len instead of just len so that the span [va, va+len) is covered even if va is not page aligned. kenjis example: print("%p\n",ap); // 206cb0 ap = segattach(0, "shared", ap, 1024); print("%p\n",ap); // 206000 term% cat /proc/612768/segment Stack defff000 dffff000 1 Text R 1000 6000 1 Data 6000 7000 1 Bss 7000 7000 1 Shared 206000 207000 1 term% note that 0x206cb0 + 0x400 > 0x20700.
2014-09-13hgignore: ignore intermediate object files for amd64mischief
2014-09-13hgignore: ignore mips binariesmischief
2014-09-13vi: implement _nsec syscallmischief
2014-09-14libsec: experimental DHE client support for tls and cleanupscinap_lenrek
2014-09-14libsec: add diffie-hellman functionscinap_lenrek
2014-09-14libsec: fix hmac for keys bigger then 64 byte block sizecinap_lenrek
RFC2104 defines HMAC for keys bigger than the 64 byte block size as follows: Applications that use keys longer than B (64) bytes will first hash the key using H (the hash function) and then use the resultant L byte string as the actual key to HMAC.
2014-09-13libsec: ecgen() and ecdsasign() fixaiju
2014-09-11acme: remove unused #includeBurnZeZ
2014-09-11games/gb: minor goofaiju
2014-09-11games/nes: reduce volume, causes overflow and confuses ac97aiju
2014-09-06/lib/rob: Just write the code.stanley lieber
2014-09-06add /lib/terrystanley lieber
2014-09-06ip/ayiya: experimental anything in anything tunnel protocol clientcinap_lenrek
this is a work in progress implementation of the ayiya (anything in anything) protocol as used by sixxs.net. hiro tested it and it worked for him, but progress has stalled as sixxs.net rejected my request for an account and ignored my emails since.
2014-09-04doom: fix alignment issues for armcinap_lenrek
2014-09-045e: fix signed long multiplycinap_lenrek
2014-09-035e: push ERRMAX for note message on stack avoiding unaligned stack pointercinap_lenrek
2014-09-02ether8139: fix pointer to smaller int tuncation warning on amd64cinap_lenrek
2014-08-28/sys/lib/dist/ndb/common: add auth=fs.stanleylieber.com authdom=inristanley lieber
2014-08-27fortunes: $75K Prosthetic Arm Is Bricked When Paired iPod Is Stolenstanley lieber
2014-08-27ipconfig: remove sleep() left over from debug :-)cinap_lenrek
2014-08-27ipconfig: fix readipifc() memory leaks in recvra6 and sendra6 processescinap_lenrek
to avoid continuously leaking memory in recvra6 and sendra6 processes, pass the previous Ipifc* pointer to readipifc().
2014-08-26ip: set arp entry for own v6 address when not tentativecinap_lenrek
after running ip/ipconfig -6, we are unable to ping our own link-local address and the arp daemon sends out useless neighbor solicitation requests to itself. this change adds an arp entry for our ipv6 address. however, this must not be done for tentative interface configuration.
2014-08-26ipconfig: cleanup code duplication in ip6cfg()cinap_lenrek
2014-08-26ping: don't spin when we get error reading icmp connection, print error and ↵cinap_lenrek
sleep
2014-08-22pc64: enable ether8139 in kernel config (thanks hiro)cinap_lenrek
2014-08-21ether8139: fix pointer truncation by ulong cast, use mallocalign()cinap_lenrek