summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-01-12added a segment for segattach(2) that gives access to the raspberry pi's ↵Matthew Veety
gpio header.
2014-01-12etheryuk: fix lockups (thanks burnzez for testing)cinap_lenrek
according to a comment in linux driver, reading Isrc2 register caused interrupts to be disabled. we used to read Isrc2 in ifstat() and it was confirmed that reading ifstat locks up ethernet. removing the Isrc2 read in ifstats, and also reenable interrupts after reading Isrc2 when the interrupt was not for us. (this is from the linux driver) in replenish(), set ring software write pointer (Sring.wp) *before* the hardware write index register. otherwise rx() could get status notification for completed receive but wont find the rx descriptor in the ring. handle uint wrap arround when calculating ring fill count and remaining count.
2014-01-11netif: fix wrong qid in 3rd level stats/ifstats files (thanks burnzez)cinap_lenrek
the stats and ifstats files in the 3rd level of a netif are not per connection, but for the interface. this made fstat fail for /net/ether0/N/*stats where N > 0 as the NETID() bits in the qid didnt compare.
2014-01-11rio: properly handle initial wrap arround in wlook()cinap_lenrek
2014-01-11rio: implement "look" (thanks lf94)cinap_lenrek
2014-01-10kernel: fix fairshare formula in comment (thanks erik)cinap_lenrek
2014-01-10mixfs: make mixbuffer addition atomiccinap_lenrek
serialize mixing with spinlock to make the addition on the mixbuffer samples atomic.
2014-01-10mergecinap_lenrek
2014-01-10libdraw: cleanup string() and stringwidth()cinap_lenrek
getting rid of the goto at the end of the while loop by moving the if(subfontnae) case before the cachechars() call.
2014-01-08winwatch: this is not about sanity. rows might be negativemischief
2014-01-08winwatch: prevent divide by zero if the window height is too smallmischief
2014-01-07mothra: remove versioncinap_lenrek
2014-01-07libframe: fix _frcanfit() for zero width runes, simplify chopframe()cinap_lenrek
2014-01-06weather: trim garbage from outputstanley lieber
2014-01-06libframe: avoid _frcanfit() call in frdelete()cinap_lenrek
no need to calculate number of runes to fit in box when box contains no runes.
2014-01-06libdraw: fix stringwidth problemscinap_lenrek
cachechars() used to skip over characters on its own when loadchar() could not find the character or a PJW replacement. this resulted in wrong width calculation. now we just return and handle the case inside _string and _stringwidth. fix subfont leak in stringwidth() remove annoying prints in stringwidth()
2014-01-05mergecinap_lenrek
2014-01-05rio: make scrollwheel handling consistent with samcinap_lenrek
scrollwheel now works proportional to y mouse position. special case is when shift is hold down. then scrollwheel will work like before and scroll one line up or down.
2014-01-04fortunes: This is Go.stanley lieber
2014-01-039fs: add atom and atomdump (fix the mount spec)cinap_lenrek
2014-01-039fs: add atom alias for atom.9atom.orgcinap_lenrek
2014-01-03kernel: simplify procalarm()cinap_lenrek
2014-01-03alarm: skip timed out alarms when inserting in procalarm() (thanks erik)cinap_lenrek
from erik quanstros 9fans post: i think the list insertion code needs a single-read test that f->alarm != 0. to prevent the 0 from acting like a fencepost. e.g. trying to insert -10 into list -40 -30 0 -20. if(alarms.head) { l = &alarms.head; for(f = *l; f; f = f->palarm) { >> fw = f->alarm; >> if(fw != 0 && (long)(fw - when) >= 0) { up->palarm = f; *l = up; goto done; } l = &f->palarm; } *l = up; }
2014-01-02ps2mouse: retry disable packet streaming command 0xf5cinap_lenrek
disabling mouse packet streaming command 0xf5 can fail when a packet is currently transmitted. this can be seen when one moves the mouse while running: while(){echo accelerated >/dev/mousectl; sleep 0.5}
2014-01-02ps2mouse: disable packet streaming during reprogrammingcinap_lenrek
sometimes, ps2 mouse setup failed on thinkpads during boot. disabling packet streaming while we program the mouse seems to fix the issue.
2014-01-01mergecinap_lenrek
2014-01-01kernel: nil check, exited procs handling in postnote()cinap_lenrek
make sure not to dereference Proc* nil pointer. this can potentially happen from devip which has code like: if(er->read4p) postnote(er->read4p, 1, "unbind", 0); the process it is about to kill can zero er->read4p at any time, so there is the possibility of the condition to be true and then er->read4p becoming nil. check if the process has already exited (p->pid == 0) in postnote() under p->debug qlock.
2014-01-01proc(3): the args file is writable, not read only (thanks qrstuv)cinap_lenrek
2014-01-01kernel: remove error label in pgrpnote() arround postnotecinap_lenrek
postnote does not raise error, so the error label is not neccesary.
2014-01-01kernel: fix alarm postnote racecinap_lenrek
when alarmkproc is commited to send the alarm note to the process, the process might have exited already, or worse, being reused for another process. pexit() zeros p->alarm at the beginning, but the kalarmproc() might read p->alarm before pexit() zeroed it, decide to send the note, then get preempted and pexit() releases the proc. once kalarmproc() is resumed, the proc might be already something different and we send the note to the wrong thing. we now check p->alarm under the debug qlock. that way, pexit() cannot make progress while we test the condition. remove the error label arround postnote(). postnote does not raise error.
2013-12-31devproc: fix noteid permission checks for nonecinap_lenrek
make sure noteid is valid (>0). prohibit changing note group of kernel processes. this is also checked for in pgrpnote(). prevent "none" user from changing its note group to another "none" sessions. this would allow him to send notes other none processes other than its own.
2013-12-31kernel: check for error label stack underflow in nexterror()cinap_lenrek
2013-12-31mothra: mouse scrollwheel behave the same as in samstanley lieber
2013-12-31kernel: halt idle processors on mp system by default (from sources)cinap_lenrek
one can add: int idle_spin = 1; in the kernel configuration to enable the old behaviour. see the comment at idlehands().
2013-12-29kernel: remove unused debug cprint() function from port/cache.ccinap_lenrek
the cache can be inspected more easily with acid kernel library.
2013-12-29kernel: dont call pprint() while holding up->debug qlockcinap_lenrek
pprint() might block or even (maliciously) call into devproc write which will corrupt the qlock chain on attempt to qlock up->debug again.
2013-12-29kernel: make sure user text, data and bss wont overlap the stack segment in ↵cinap_lenrek
sysexec()
2013-12-28mothra: add regular expression text search (thanks mischief, sl)cinap_lenrek
this works differently from mischiefs original patch. instead of overloading the address bar, we popup our own enter box. the function can be invoked from the menu or by hitting ^F.
2013-12-28page: fix page bookmarks for epub filescinap_lenrek
2013-12-28ape: move strdup() from libbsd to libap (from sources)cinap_lenrek
including <string.h> should be enougth to make strdup() available.
2013-12-27cifs(4): replace with correct versionstanley lieber
2013-12-27cifs(4), cifsd(8): add HISTORYstanley lieber
2013-12-27add HISTORY to various man pagesstanley lieber
2013-12-27audio/mixfs: implement Tstat to obtain buffer size, better underrun handlingcinap_lenrek
2013-12-26audio(1): add pcmconv to HISTORYstanley lieber
2013-12-26fortunes: That's a video card, Blake.stanley lieber
2013-12-26audio(3): fix spellingstanley lieber
2013-12-26audio(1): add HISTORY, fix spellingstanley lieber
2013-12-26add audio/mixfs to allow simultanious playback streams over a single /dev/audiocinap_lenrek
2013-12-25json(2): fix out of order SOURCE headingcinap_lenrek