summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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
2018-05-29sdram: properly support multiple ramdisks, so that ramdiskX corresponds to sdZXcinap_lenrek
2018-05-29emulators ui: don't call flushmouse twiceqwx
2018-05-286c, 8c: Fix nocast cast bug which prevents address arithmetic from being ↵spew
computed at compile time
2018-05-27mergecinap_lenrek
2018-05-279boot: detect SYSLINUX "memdisk" and pass to kernel via ramdisk0= parametercinap_lenrek
this makes virtual "memdisk" from SYSLINUX accessible to the kernel, allowing the iso to be loaded via TFTP and started without any ethernet or disk drivers available.
2018-05-27sdram: experimental ramdisk drivercinap_lenrek
this driver makes regions of physical memory accessible as a disk. to use it, ramdiskinit() has to be called before confinit(), so that conf.mem[] banks can be reserved. currently, only pc and pc64 kernel use it, but otherwise the implementation is portable. ramdisks are not zeroed when allocated, so that the contents are preserved across warm reboots. to not waste memory, physical segments do not allocate Page structures or populate the segment pte's anymore. theres also a new SG_CHACHED attribute.
2018-05-27sshfs(4): languageaiju
2018-05-27sshfs(4): don't drink and troffaiju
2018-05-27sshfs(4): replace the much maligned -r optionaiju
2018-05-26Bfn improvementsaiju
2018-05-24cc: fix result of operation not used warning for void castsspew
2018-05-24dc(1): add pi program as exampleaiju
2018-05-24mergeaiju
2018-05-24ape: floating point improvements (thanks spew)aiju
2018-05-23ndb/dnsdebug: handle .ip6.arpa namescinap_lenrek
2018-05-23ndb/dnsquery: handle .ip6.arpa names, don't mount the dns servicecinap_lenrek
2018-05-22ip/tftpd: deal with block wrap arroundcinap_lenrek
2018-05-21pc64: fix fpu bugcinap_lenrek
fpurestore() unconditionally changed fpstate to FPinactive when the kernel used the FPU. but in the FPinit case, the registers are not saved by mathemu(), resulting in all zero initialized registers being loaded once userspace uses the FPU so the process would have wrong MXCR value. the index overflow check was wrong with using shifted value.