summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-06-22gba: handle 8bit writes to vramqwx
ignore 8bit writes to obj and oam, and duplicate bits for bg and palette memory, as per gbatek. thanks aiju for helping with the implementation.
2018-06-22stats(8): document -z flag (thanks xcko)mischief
2018-06-21ape: add strnlenspew
2018-06-20ape: provide bogus chroot implementationspew
2018-06-19devip: fix flush, copy tag when replacing route entrycinap_lenrek
2018-06-18play(1): handle file names containing consecutive spacesAlex Musolino
2018-06-17ape: add some common fields for stat, grp and pwdspew
2018-06-14zunq: add sdram drivercinap_lenrek
2018-06-14udp: fix udp checksumcinap_lenrek
we did not apply the special case to store 0xFFFF (-0) in the checksum field when the checksum calculation returned zero. we survived this for v4 as RFC768 states: > If the computed checksum is zero, it is transmitted as > all ones (the equivalent in one's complement arithmetic). > > An all zero transmitted checksum value means that the > transmitter generated no checksum (for debuging or for > higher level protocols that don't care). for ipv6 however, the checksum is not optional and receivers would drop packets with a zero checksum.
2018-06-149pc, 9pc64: make mapalloc() and mapfree() static in memory.ccinap_lenrek
2018-06-14mergecinap_lenrek
2018-06-14stats: fix crash with -Y fag when window too narrowcinap_lenrek
2018-06-14mergecinap_lenrek
2018-06-14devip: don't send arp requests from null addresscinap_lenrek
during dhcp, ipconfig assigns the null address :: which makes ipforme() return Runi for any destination, which can trigger arp resolution when we attempt to reply. so have v4local() skip the null address and have sendarp() check the return status of v4local(), avoing the spurious arp requests.
2018-06-13devip: reject incompatible multicast/interface ip address pairs for ↵cinap_lenrek
ipifcaddmulti()
2018-06-13sysinfo: minor formatting fixaiju
2018-06-13emulators ui: don't drink and codeqwx
2018-06-13emulators ui: add option for fixed factor scaling and bound scale verticallyqwx
2018-06-13stats: read cputemp as C, set scale max to 100 Cmischief
2018-06-13games/gb: attempt at fixing sprite priorityaiju
2018-06-13games/gb: fix mbc5 register addressing (fixes warioland3 gamebreaking bug)aiju
2018-06-12devip: fix missing wunlock() for "ipifc not yet bound to device" case, don't ↵cinap_lenrek
create multicast entry on error
2018-06-12ip/dhcp6d: don't drink and codecinap_lenrek
2018-06-12ip/dhcp6d: only announce all-dhcp-servers multicast address on interface ↵cinap_lenrek
with link-local address on it
2018-06-12/sys/src/mkfile: add libttfcinap_lenrek
2018-06-12upas/nedmail: marshal(1) options -n and -8 are mutually exclusiveAlex Musolino
2018-06-11ip/dhcp6d: ignore short and from non-local source packetscinap_lenrek
2018-06-11devip: fix use after free in ipifcremmulti()cinap_lenrek
closeconv() calls ipifcremmulti() like: while((mp = cv->multi) != nil) ipifcremmulti(cv, mp->ma, mp->ia); so we have to defer freeing the entry after doing: if((lifc = iplocalonifc(ifc, ia)) != nil) remselfcache(f, ifc, lifc, ma); which accesses the otherwise free'd ia and ma arguments.
2018-06-11devip: do not icmp reply on multicast destinationcinap_lenrek
2018-06-10dhcp6d: make constants for message types, check server identifier in ↵cinap_lenrek
request, only recheck ndb every minute
2018-06-10dhcp6d: add minimal stateless DHCPv6 server for network boot and DNS ↵cinap_lenrek
configuration
2018-06-10kernel: don't cap the minimum sleep time to TK2MS(1) for syssleep()cinap_lenrek
on HZ 100 systems like pc and pc64, the minium sleep time was 10ms, which is quite high. the cap isnt really needed as arch specific timerset() enforces its own limit, but on a higher resolution. background: from Charles Forsyth: I haven't really got an opinion on it. The 10ms interval was first used on machines that were much slower. I thought someone did set HZ to a bigger value, partly to support better in-kernel timing. I haven't done it because I never had a need for it. If I were doing (say) protocol implementation in user mode, I'd certainly reconsider. Sleep itself forces at best ms granularity, and for some applications that's too big. initial mail from qwx raising the issue: > Hello, > > I found out recently that sleep(2)'s resolution on 386 and 9front's amd64 > kernel is 10 ms rather than 1 ms. The reason is that on those kernels, > HZ is set to 100 rather than say 1000. In syssleep, we get 1 tich every > 10 ms. > > What is unclear is why. > > To paraphrase cinap_lenrek's answer to my question: > > In syssleep: > if(ms < TK2MS(1)) > ms = TK2MS(1); > tsleep(&up->sleep, return0, 0, ms); > > "TK2MS(1)" can be replaced with just "1", and the arch specific > timerset() routine would do its own capping of the period if it's too > small for the timer resolution, and make better decisions based on what > the minimum timer period should be given the latency overhead of the > given arch's interrupt handling and performance characteristics. > > Alternatively, HZ could be raised to 500 or 1000. > > It seems it's just trying to prevent excessive context switches and > interrupts, but it seems somewhat arbitrary. A ton of syscalls can be > done in 1 ms, and it's the lowest we can go without changing the unit. > > > What do you think? > > Thanks in advance, > > qwx
2018-06-09libttf: add missing file impl.haiju
2018-06-09add ttfrender(1)aiju
2018-06-09add libttfaiju
2018-06-09snes: fix input botch 2qwx
2018-06-09snes: fix input botchqwx
2018-06-08mklib: add %.acid targetmischief
2018-06-08avl(2): add avlmin/avlmax in synopsismischief
2018-06-03getuser(2): add source or sysname()cinap_lenrek
2018-06-03kernel: stop the practice of passing DMDIR to devir() perm argumentcinap_lenrek
devdir internally replicates the qid in ther perm stat field already and the practice of explicitely passing just causing confusion when done inconsistently.
2018-06-03devaoe: fix dotdot walk in devlinkdir, make perms consistentcinap_lenrek
2018-06-03devenv: make #ec files not show up as world writablecinap_lenrek
2018-06-03ip/dhcpd: parseip() error handling, make sure client ip is ipv4, add ↵cinap_lenrek
explicit length arguments to lookupname() and lookupserver()
2018-06-03ip/ipconfig: use ipmove() instead of memmove()cinap_lenrek
2018-06-02fix incorrect character range in vga/unicode.font leading to missing CJK ↵aiju
characters
2018-06-02tcs: support EUC-JP JIS X 0212 codesaiju
2018-06-01mergecinap_lenrek
2018-06-01ndb/cs: make ipv6 only host practical by checking ip version on local interfacescinap_lenrek
avoid returning ip addresses that cannot be reached due to lack of a compatible ip address. this means when here is no ipv4 address configured, we wont return ipv4 addresses and would not query dns for an A record. likewise, when here is no ipv6 address configured then we wont query dns for an AAAA record. ipv6 lookups can still be disabled with the -4 flag just as before.
2018-05-31doom: don't set repl if scale is 1qwx