summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-06-03nusb/usbd: cleanupcinap_lenrek
2014-06-03kernel: remove wrong and needles mapsize check in newseg() (thanks Yoann ↵cinap_lenrek
Padioleau)
2014-06-03nusb/usbd: serialize /dev/usbevent processingcinap_lenrek
when there are multiple readers of /dev/usbevent, we have to serialize the processing to make sure that only one driver is opening the devices control endpoint at a time. to do this, we assume the device is busy after reading the event file until the next read or clunk on the same fid. to mark a device busy, we set the dev->aux pointer to the fid processing a event. And the Event structure takes a reference to the device producing the event. the problem arised from cdc ethernet and nusb/serial sharing the same device class, and we need to run the particular driver to figure out if the device can be used. doing this concurrently fails because devusb allows only one open per endpoint.
2014-06-01pc64: fix for unsigned comparsion of (top - base) >= sizecinap_lenrek
the rounding of base can make it above top, so have to use signed comparsion.
2014-06-01pc64: use 2MB pages for preallocpages()cinap_lenrek
2014-06-01pc64: allocate palloc.pages from upagescinap_lenrek
the palloc.pages array takes arround 5% of the upages which gives us: 16GB = ~0.8GB 32GB = ~1.6GB 64GB = ~3.2GB we only have 2GB of address space above KZERO so this will not work for long. instead, pageinit() was altered to accept a preallocated memory in palloc.pages. and preallocpages() in pc64/main.c allocates the in upages memory, mapping it in the VMAP area (which has 512GB). the drawback is that we cannot poke at Page structures now from /proc/n/mem as the VMAP area is not accessible from it.
2014-06-01games/nes: support Battle City two players mode with joypadsftrvxmtrx
2014-05-306a, 6c, 6l: fix copy propagationAram Hăvărneanu
Without an explicit signal for a truncation, copy propagation will sometimes propagate a 32-bit truncation and end up overwriting uses of the original 64-bit value. This was independently discovered and fixed in Go. See: http://golang.org/issue/1315 https://codereview.appspot.com/6002043/ Thanks Charles Forsyth for tips and advice.
2014-05-30we look for strings.c, it is broken, this strings.c will make us go.cinap_lenrek
2014-05-29pc, pc64: simplify reboot codecinap_lenrek
as we do system reset and reboot only from boot processor cpu0 now, theres no need for active.rebooting conditional variable. mpshutdown() will unconditionally park application processors and and cpu0 boots the new kernel or calls mpshutdown() causing system reset.
2014-05-29pc: initiate machine reset only from boot processors in mpshutdown()cinap_lenrek
in vmware, mpshutdown() used to hang in i8042reset() when not called from the boot processor, so instead of reseting from first cpu that acquires the shutdown lock, we park all application processors and let the boot processor do the reset.
2014-05-29games/md: bug fixesaiju
2014-05-29ape/stdio: set errno to EMFILE when running out of streamscinap_lenrek
2014-05-27games/snes: originwindow confuses the cataiju
2014-05-26page(1): orcinap_lenrek
2014-05-26page(1): minuscinap_lenrek
2014-05-26page(1): theres no -r option, nor multipage restrictionscinap_lenrek
2014-05-26mergeaiju
2014-05-26games/md: moonwalker!aiju
2014-05-26pc64: fix ulongs for address of devarchs realmodemem filecinap_lenrek
2014-05-26devproc: handle 64bit address writes to /proc/n/mem filescinap_lenrek
procwrite() did truncate the offset to 32bit ulong. introduce off2addr() function that does the sign extension hack and use it conststently for Qmem reads and writes.
2014-05-26mergecinap_lenrek
2014-05-26kernel: simplify fdclose()cinap_lenrek
2014-05-26devproc: fix close and closefiles procctlcinap_lenrek
for the CMclose procctl, the fd number was not bounds checked before indexing in the Fgrp.fd array. for the CMclosefiles, we looped fd from 0..maxfd-1, but need to loop from 0..maxfd as maxfd is inclusive.
2014-05-25games/md: small cpu and vdp bug fixesaiju
2014-05-25pc64: cleanup mmuzapcinap_lenrek
2014-05-25games/md: first bug fixesaiju
2014-05-25added crude version of games/mdaiju
2014-05-24libauth: dont print blobs in auth_proxy error stringscinap_lenrek
2014-05-24cpu: remove duplicate environment and chdir($home) code (thanks qrstuv)cinap_lenrek
newns() (called by auth_chuid()) already prepares the environment variables and puts us in a sane working directory (as specified by the namespace file).
2014-05-24kernel: fix read size calculation in pio() demand loadcinap_lenrek
on amd64, the text segment is aligned and padded to 2MB, but segment granularity is 4K which can give us page faults that are beyond the highest file offset. this is perfectly valid, but was not handled correctly in pio().
2014-05-23libc: avoid static table and supurious reads in nsec()cinap_lenrek
use two per process memory slots, one for the pid and one for the fd instead of a global table avoiding the case when the table gets full. instead of calling pread() on the cached fd (dangerous as it has side effects when the fd was not closed), we check if the cached fd is still good using fd2path() when called the first time in this process.
2014-05-20libc: revert nsec() change, bring back filedescriptor cachingcinap_lenrek
theres big performance regression with this using cwfs. cwfs calls time() to update atime on every read/write which now causes walks on /dev. reverting to the previous version for now. in the long run, we'll use new _nsec() syscall but this has to wait for a later release once new kernels are established.
2014-05-20syscall: add missing _nsec() declarationcinap_lenrek
2014-05-20add _nsec() syscall 53 for binary compatibility with labs distributioncinap_lenrek
the new syscall is added under the symbol _nsec() for binary compatibility. nsec() is still a library function reading /dev/bintime.
2014-05-20libc: dont cache /dev/bintime filedescriptor for nsec()cinap_lenrek
2014-05-19init: dont interpret environment var contents as fmtstring, cleanupcinap_lenrek
2014-05-19pc64: remove cpuserver bigboy hack and honor *kernelpercent=cinap_lenrek
2014-05-19ip/torrent: use "torrent" as default user agentcinap_lenrek
2014-05-19ip/torrent: fix usage, add -A option to set user-agentcinap_lenrek
trackers do like the new default Mozilla/5.0 (compatible) user agent. so force useragent to hjdicks and give option to override it in case trackers get even more clever in the future.
2014-05-18ipconfig: fix dhcp watchcinap_lenrek
in dhcpwatch, the sleep time "secs" could become zero potentially freezing the lease time. give up when in Sinit state in dhcpquery() as this is a terminal state.
2014-05-16fortunes: 14:37 -!- kfx was kicked from #suckless by __20h__ [kfx]stanley lieber
2014-05-16sdiahci: fix (unused) hba reset function (thanks erik quanstro)cinap_lenrek
from the specification: software may reset the entire HBA by setting GHC.HR to '1'. When software sets the GHC.HR bit to '1', the HBA shall perform an internal reset action. The bit shall be cleared to '0' by the HBA when the reset is complete.
2014-05-16added devgpio (thanks Krystian!). Also added getrevision() to vcore which ↵Matthew Veety
allows you to get the raspberry pi board revision. I kept in the segment that allows direct access to the gpio memory
2014-05-14mergecinap_lenrek
2014-05-14play: set user-agent, otherwise server thinks we'r mozilla m(cinap_lenrek
2014-05-12sam(1): add ctrl+bftrvxmtrx
2014-05-12samterm: fix esc, change ctrl+b behaviour to a more useful one (thanks cinap)ftrvxmtrx
2014-05-12samterm: clean up key defines. use ctrl+b as in rioftrvxmtrx
2014-05-12usps: remove redundant uhtml pipelinecinap_lenrek