Commit graph

660 commits

Author SHA1 Message Date
cinap_lenrek aa0627162b remove non standard COM3 (eia2) serial port from i8250 uart.
access to non standard serial port COM3 at i/o port 0x200 causes
kernel panic on some machines (Toshiba Sattelite 1415-S115). also,
some machines have gameport at 0x200.

i readded uartisa to the pcf and pccpuf kernel configurations so
one can use plan9.ini to add non standard uarts like:

uart2=type=isa port=0x200 irq=5
2013-01-13 10:23:31 +01:00
cinap_lenrek 77438f99c8 devtls: fix hmac buffer size for SHA1 hashes (from erik)
the buffer isn't big enough for SHA1 hashes, which are larger than MD5
hashes.
2013-01-09 06:39:20 +01:00
cinap_lenrek 8c81499659 scsi: do only 36 byte inquiry
some devices freeze up with inqiry allocation length
other than 36 bytes. as we do not really care about
the vendor specific part of the inquiry, lets only do
36 byte inquiry for now.
2013-01-03 20:46:25 +01:00
cinap_lenrek 7d8664db07 devmouse: deduplicate some code by using absmousetrack() 2013-01-03 16:05:06 +01:00
cinap_lenrek 6cadd03bbe fix utf and rune handling in preparation for 32bit runes 2012-12-31 21:09:46 +01:00
cinap_lenrek 4a4c8218ee devsd: fix possible sdbio() race with inquiry data changing (due to ahci hotplug)
the unit inquiry data might change in case the drive got pulled
with ahci. so keep track if we locked the ctl in a local stack
variable instead of relying on that the inquiry data stays the
same.
2012-12-26 17:53:12 +01:00
cinap_lenrek 5a138029db move devusb to port
moved devusb to port, shifting the responsibility of how
to enable interrupts to the arch specific hci driver.
2012-12-06 18:53:17 +01:00
cinap_lenrek 0750687012 move usb ethernet in bootfs.paq 2012-12-05 13:53:34 +01:00
cinap_lenrek 96cc3eb2ee devtls: add support for aes_128_cbc and aes_256_cbc (import from sources) 2012-12-04 10:53:53 +01:00
cinap_lenrek b296b96c68 devssl: handle bad secretin/secretout ctl arguments (import from sources) 2012-12-04 10:52:42 +01:00
cinap_lenrek b142e2a308 devpipe: import pipe wstat() support to change permissions (import from sources) 2012-12-04 10:40:08 +01:00
cinap_lenrek a8fc4ddc6d usbehci: route ports to all ehci controllers, not just the first
i belive the seizing up was a side effect of broken
bios handover. ehci will not work on the other controllers
if we do not route the ports to them.
2012-11-28 07:35:28 +01:00
cinap_lenrek 4b4070a8b9 ratrace: fix race conditions and range check
the syscallno check in syscallfmt() was wrong. the unsigned
syscall number was cast to an signed integer. so negative
values would pass the check provoking bad memory access from
kernel. the check also has an off by one. one has to check
syscallno >= nsyscalls instead of syscallno > nsyscalls.

access to the p->syscalltrace string was not protected
from modification in devproc. you could awake the process
and cause it to free the string giving an opportunity for
the kernel to access bad memory. or someone could kill the
process (pexit would just free it).

now the string is protected by the usual p->debug qlock. we
also keep the string arround until it is overwritten again
or the process exists. this has the nice side effect that
one can inspect it after the process crashed.

another problem was that our validaddr() would error() instead
of pexiting the current process. the code was changed to only
access up->s.args after it was validated and copied instead of
accessing the user stack directly. this also prevents a sneaky
multithreaded process from chaning the arguments under us.

in case our validaddr() errors, we cannot assume valid user
stack after the waserror() if block. use up->s.arg[0] for the
noted() call to avoid bad access.
2012-11-23 20:27:09 +01:00
cinap_lenrek 6f1efd37a2 limit clunk queue length for cclose()
dont let the clunk queue grow too large if we are allowed to
block (cclose) as the fileserver might run out of fids.
2012-11-07 22:04:29 +01:00
cinap_lenrek 6c8097a84d fix spurious kproc ppid
newproc() didnt zero parentpid and kproc() didnt set it, so
kprocs ended up with random parent pid. this is harmless as
kprocs have no up->parent but it gives confusing results in
pstree(1).

now we zero parentpid in newproc(), and set it in sysrfork()
unless RFNOWAIT has been set.
2012-11-07 20:46:30 +01:00
cinap_lenrek 2c4a77f21f devproc: remove pgrpid == 1 check for notepg open
assuming that this check tried to prevent the hostowner
from killing init, it is silly because init would just
handle the note.

with kbdfs, we actually want to send interrupt note to
the initial process group so instead of working arround
this with rfork(RFNOTEG|RFNAMEG), we remove the check.
2012-11-07 18:57:02 +01:00
cinap_lenrek 90cbdce8ab devdraw: fix stats for #i/winname (thanks jas) 2012-10-27 22:27:19 +02:00
cinap_lenrek 22c7584780 devproc: fix another channel leak, move the cclose(c) from proctext() to procopen. 2012-10-22 21:59:52 +02:00
cinap_lenrek 6680d50d4b fix devproc text chan leak 2012-10-22 18:51:19 +02:00
cinap_lenrek 1ee5cd7425 kernel: mnt cache rework
avoid double entries in the cache for copen() and properly handle
locking so we wont just give up if we cant lock the Mntcache entry,
but drop the cache lock, qlock the Mntcache entry, and then recheck
the cache.

general cleanup (cdev -> ccache, use eqchantdqid())
2012-10-17 15:48:30 +02:00
cinap_lenrek fcacce0f2f kernel: duppage cleanup
remove the sched() call and retry loop from duppage() and just
drop the page lock, then reacquire it after lock(&palloc).
2012-10-16 16:10:26 +02:00
cinap_lenrek 45b99937be kernel: cachedel() lock order, lookpage, cleanup
the lock order of page.Lock -> palloc.hashlock was
violated in cachedel() which is called from the
pager. change the code to do it in the right oder
to prevent deadlock.

change lookpage to retry on false hit. i assume that
a false hit means:

a) we'r low on memory -> cached page got uncached/reused

b) duppage() got called on the page, meaning theres another
cached copy in the image now.

paging in is expensive compared to the hashtable lookup, so
i think retrying is better.

cleanup fixfault, adding comments.
2012-10-16 14:12:21 +02:00
cinap_lenrek 1335be8276 swap: track swap pages with > 255 references, setswapchan() swapimage.c
swaped pages use a 8bit refcount where as the Page uses a 16bit one.
this might be exploited with having a process having a single page
swaped out and then forking 255 times to make the swap map refcount
overflow and panic the kernel.

this condition is probably very rare. so instead of doubling the
size of the swap map, we add a single 32bit refcount swapalloc.xref
which will keep the combined refcount of all swap map entries who
exceeded 255 references.

zero swapimage.c in setswapchan() after closing it as the stat() call
below might error leaving a dangeling pointer.
2012-10-15 14:04:30 +02:00
cinap_lenrek 2f732e9a85 kernel: attachimage / exec error handling
attachimage()'s approach to handling newseg() error is flawed:

a) the the image is on the hash table, but ref is still 0, and
there is no segment/pages attached to it so nobody is going to
reclaim / putimage() it -> leak

b) calling pexit() would deadlock us because exec has acquired
up->seglock when calling attachimage(), so this would just deadlock.

the fix does the following:

attachimage() will putimage() and nexterror() if newseg() fails
instead of pexit(). this is less surprising.

exec now keeps the condition variable commit which is set once
we are commited / reached the point of no return and check this
variable in the highest waserror() handler and pexit() us there.

this way we have released up all the locks and pexit() will
cleanup.

note: this bug shouldnt us hit in with the current newseg()
implementation as it uses smalloc() which would wait to
satisfy the allocation instead of erroring.
2012-10-14 19:48:46 +02:00
cinap_lenrek 16d61d3c97 kernel: try to catch some (rare) mistakes
kstrcpy() did not null terminate for < 4 byte buffers. fixed,
but i dont think there is any case where this can happen in
practice.

always set malloctag in kstrdup(), cleanup.

always use ERRMAX bounded kstrcpy() to set up->errstr, q->err
and note[]->msg. paranoia.

instead of silently truncating interface name in netifinit(),
panic the kernel if interface name is too long as this case
is clearly a mistake.

panic kernel when filename is too long for addbootfile() in
devroot. this might happen if your kernel configuration is
messed up.
2012-10-11 17:29:16 +02:00
cinap_lenrek 73e7e47d5b kenrel: simplify image cache by use of ccloseq() 2012-10-10 08:22:35 +02:00
cinap_lenrek 9e7ecc41d5 devproc buffer overflow, strncpy
in devproc status read handler the p->status, p->text and p->user
could overflow the local statbuf buffer as they where copied into
it with code like: memmove(statbuf+someoff, p->text, strlen(p->text)).
now using readstr() which will truncate if the string is too long.

make strncpy() usage consistent, make sure results are always null
terminated.
2012-10-01 02:52:05 +02:00
cinap_lenrek 5d64e428eb fix devproc and killbig segment race
we have to acquire p->seglock before we lock the individual
segments of the process and lock them. if we dont then pexit()
might free the segments before we can lock them causing the
"qunlock called with qlock not held, from ..." prints.
2012-09-30 16:14:27 +02:00
cinap_lenrek 336df4d4ae Qcoalesce patch to satisfy full read length 2012-09-14 03:35:15 +02:00
cinap_lenrek 9c18f300a4 devshr: honor noattach 2012-09-06 01:05:37 +02:00
cinap_lenrek 0c52215ae3 usb: fix potential isoread overruns, error instead of panic on isoread in ohci 2012-09-03 04:23:02 +02:00
cinap_lenrek cfd25faa28 usb: fix isowrite putsamples race 2012-09-03 01:54:34 +02:00
aiju 5ba4ccd30e fixed RFNOMNT 2012-08-27 17:50:48 +02:00
cinap_lenrek 3ac4524e4a syscallfmt: use up->syserrstr instead of up->errstr (import from sources) 2012-08-24 15:53:35 +02:00
cinap_lenrek 86f323290c wait: always check up->nchild before going to sleep
always make sure that there are child processes we can wait for
before sleeping.

put pwait() sleep into a loop and recheck. this is not strictly
neccesary but prevents accidents if there are spurious wakeups
or a bug.
2012-08-24 13:11:04 +02:00
cinap_lenrek d404e9e9f8 devmnt: more carefull wakeup in mountmux
once we set q->done = 1 in mountmux, the sleeper might return freeing q
so the wakeup might access invalid memory. we change the embedded Rendez
structure in the Mntrpc into a pointer to the sleeping procs up->sleep
rendez so the rendez is always going to be valid even if the rpc has been
freed.

the call to mntstats was moved before we set q->done also to prevent
accessing invalid memory.
2012-08-24 13:00:14 +02:00
aiju b21b9ba89c added hjfs 2012-08-07 17:57:04 +02:00
cinap_lenrek 36adf27af8 add Echange[] error string 2012-08-07 07:15:41 +02:00
cinap_lenrek fcc5e75d07 tsemacquire: manpage and syscallfmt 2012-07-30 22:45:49 +02:00
cinap_lenrek 49ac0b93d3 add tsemacquire syscall for go 2012-07-29 20:26:49 +02:00
cinap_lenrek a360bddee7 qio: raise critical queue bloat threshold from 2 to 10 times to queue limit
the limit for overqueueing was too small for stuff like fcp
on a fileserver connected with a standard 32K limit pipe like
ramfs.

fcp usesd 8K*16procs > 32K*2

the biggest queue limit used in the kernel is 256K making
the maximum queue bloat 2.5MB or 320K for standard pipes.
that should be big enougth to never happen in practice
unless there is a bug which we like to catch before we
exhaust all kernel memory.
2012-07-08 19:11:29 +02:00
cinap_lenrek 1de9ca2de5 bring back il protocol support 2012-05-03 10:47:40 +02:00
cinap_lenrek 7f04d86dfb kernel: move duplicated random.c to port 2012-05-03 08:49:25 +02:00
cinap_lenrek 1d42b2dac1 avoid leaking up->dot into the closeproc 2012-04-28 09:12:04 +02:00
cinap_lenrek e440d414d5 fix missed clunkq wakeup race 2012-04-27 18:51:15 +02:00
cinap_lenrek 6bd82b34fd async clunk for cached mounts, fix closeproc explosion 2012-04-27 17:51:20 +02:00
cinap_lenrek 73b7f5f12c panic: trailing newlines 2012-03-28 18:13:45 +02:00
cinap_lenrek c3004ddf25 port/chan.c: fix locking issue 2012-03-28 18:11:09 +02:00
cinap_lenrek f0facb2ed8 usbehci: import changes from sources (portreset, port handover handling), set interrupt threshold to 1 uframe 2012-03-07 23:50:58 +01:00
cinap_lenrek f2b6ec3140 correcting unicode superscripts for 1 2 and 3 2012-02-23 16:58:53 +01:00
cinap_lenrek 5b07f6238b devdraw: use QLock to serialize sleep on refresh to prevent double sleep 2012-02-20 10:49:14 +01:00
cinap_lenrek 77c21a062c kernel: remove duppage debug, add comments, cleanup 2012-02-16 18:04:08 +01:00
cinap_lenrek 083612b34e kernel: duppage checking 2012-02-16 11:38:50 +01:00
cinap_lenrek 4780a7ff56 devmouse: add twitch mousectl command 2012-02-13 07:06:08 +01:00
cinap_lenrek 061d55111b add Etoolong error string, cleanup genbuf truncation fix 2012-02-08 02:32:03 +01:00
cinap_lenrek 022fd02b96 fix endless devwalk loops caused by genbuf truncation 2012-02-08 00:00:42 +01:00
cinap_lenrek 5acde1e791 make smalloc() uninterruptable as most callers cant handle it anyway 2012-02-06 05:28:57 +01:00
cinap_lenrek 9d60d8262e fix potential double ready in postnote() for rendezvous 2012-02-06 00:23:38 +01:00
cinap_lenrek 3599f733ee more checking for eqlock 2012-02-05 20:52:12 +01:00
cinap_lenrek 8d22d0b165 devuart: fix no memory panic with zero number of uarts 2012-02-04 16:41:46 +01:00
cinap_lenrek 8ef32ed38c fix double free in exec 2012-01-23 05:12:05 +01:00
cinap_lenrek e2bbb41a30 fix unlock(&procalloc) race on mp systems 2012-01-22 22:33:15 +01:00
cinap_lenrek 413ab7785f eqlock: cleanup 2012-01-15 14:31:53 +01:00
cinap_lenrek 577d31ab13 fix race condition of the CCACHE flag by clearing the flag in
attachimage() instead of temporarily reseting in pio().
2012-01-12 12:54:45 +01:00
cinap_lenrek 659943558f kernel: keep segment locked for data2txt 2012-01-09 21:33:22 +01:00
cinap_lenrek 85fd5bf58d eqlock: dont rely on notepending flag when detecting eqlock interruption 2012-01-09 21:18:03 +01:00
cinap_lenrek 2131248411 swap: make sure swapchan doesnt use the mntcache 2011-12-22 02:33:49 +01:00
cinap_lenrek ea5a23d39a kernel: make mntcache effective, be carefull 2011-12-22 02:17:29 +01:00
cinap_lenrek 4fe344847c kernel: better pidalloc() 2011-12-21 23:08:15 +01:00
cinap_lenrek 2450b55c7b kernel: add pidalloc() and reuse pid once the counter wraps arround 2011-12-20 22:22:08 +01:00
cinap_lenrek bef3c5a3c5 devfs: dont raise "no more trees" if malloc fails 2011-12-13 16:12:40 +01:00
cinap_lenrek 1238374df9 killbig(): fix crash if no process could be found 2011-12-13 16:10:37 +01:00
cinap_lenrek 36dc22fd57 panic(): dont print message twice. for terminals, dont auto reboot. 2011-12-13 16:07:52 +01:00
cinap_lenrek f32ef135d4 devbridge: fix 2011-12-12 19:28:21 +01:00
cinap_lenrek 3028437f8b glitch :-) 2011-12-12 19:20:40 +01:00
cinap_lenrek 8cb8043d0e kernel: fix more malloc/smalloc errors 2011-12-12 19:17:58 +01:00
cinap_lenrek 304ee3b2b5 devfs: fix cryptio memory leak 2011-12-12 19:17:24 +01:00
cinap_lenrek bf3476d661 kernel: fix inproper use of malloc/smalloc 2011-12-12 16:55:26 +01:00
cinap_lenrek 589f99915e devssl: tiny fixes (from plan 9) 2011-12-12 14:59:14 +01:00
cinap_lenrek 077537baeb fix cdrom media change 2011-12-06 14:49:40 +01:00
cinap_lenrek 30907f1d00 devmouse: allow multiple writers on /dev/mousein 2011-11-03 02:33:09 +01:00
cinap_lenrek 4c05d129e2 eqlock: fix postnote/qunlock race 2011-11-02 21:39:30 +01:00
cinap_lenrek 3fce94e785 fix _tos->pcycles, make _tos->kcycles actually count cycles executing kernel code on behalf of the process 2011-10-25 20:17:39 +02:00
cinap_lenrek 0089c44663 devcons: readd dummy consctl file so telnetd has something to bind on 2011-09-17 02:35:03 +02:00
cinap_lenrek 513bdcccdc chan: use chanpath() in chan DBG, do more checking in cclose and cclone 2011-09-02 14:12:39 +02:00
cinap_lenrek cd47b3e9d4 bootrc: prefer 9660 filesystem as default on cdboot, restart factotum, delay for usb 2011-08-28 20:37:20 +02:00
cinap_lenrek a6e3c9fd83 calculate the real number of pages used by segments and use it for killbig and proc 2011-08-26 04:47:34 +02:00
cinap_lenrek cf974eb852 fix kernel: pio()/mfreeseg() race 2011-08-24 14:43:15 +02:00
cinap_lenrek 61a0117ea5 swap: do less print spamming, sched after killbig so killed proc can get released 2011-08-24 07:58:14 +02:00
cinap_lenrek 5182bb7ecf dont hang if swap is full 2011-08-24 06:52:24 +02:00
aiju 8434f98cdd added interrupt proc ctl message 2011-08-20 12:30:06 +02:00
cinap_lenrek 79a044e38e usb: fix potential uninterruptable calls 2011-08-19 05:19:10 +02:00
cinap_lenrek c44b78f739 change definition of Chan.create to return a chan like open 2011-08-17 23:27:31 +02:00
cinap_lenrek 72304eb350 fix broken cross platform build 2011-08-17 23:25:22 +02:00
cinap_lenrek f682600440 serial console stuff 2011-08-16 10:15:36 +02:00
cinap_lenrek cb9e638c00 bind devshr to /shr 2011-08-16 01:49:37 +02:00
cinap_lenrek b39d5fbbef devshr: security! 2011-08-15 18:27:30 +02:00
cinap_lenrek 945e2a7aa1 devshr/devsrv 2011-08-14 11:11:51 +02:00
cinap_lenrek 4ec0e921e5 eqlock(): use eqlock when interruption is possible 2011-08-11 04:25:51 +02:00
cinap_lenrek e9d441fccf eqlock(): use separate lock to protect eql, fix missing unlock 2011-08-11 23:02:48 +02:00
cinap_lenrek 4b506cd0ae qio: fix block leak introduced by eqlock change 2011-08-10 17:26:05 +02:00
cinap_lenrek 70e4b8d1f9 added eqlock(), a interruptable version of qlock. addresses issue #81 2011-08-10 16:21:17 +02:00
cinap_lenrek 676a876df6 usb: added buffer delay control 2011-08-01 19:02:50 +02:00
aiju 6aed9711b4 devshr: changed #σc to contain directories
nusb: detaching
2011-07-30 14:30:27 +02:00
cinap_lenrek f9846213d1 nusb: change usbevent format, put nusbrc in bootfs 2011-07-30 07:23:26 +02:00
aiju 27fd88af23 devshr: rename hook 2011-07-28 14:22:39 +02:00
aiju c08f86254e devshr: fixed crash 2011-07-27 10:40:21 +02:00
aiju d2a1d1fb37 devshr: fixed memory leaks / race condition 2011-07-25 10:10:11 +02:00
aiju e1260aa4d6 devshr: added unmounting 2011-07-24 14:51:49 +02:00
aiju 8784d2d0ea added devshr 2011-07-24 22:12:01 +02:00
cinap_lenrek a7a56b9a48 devaudio: ignore non absolute volume items with range 0 2011-07-21 01:24:18 +02:00
aiju 11bf57fb2c add message on OOM kill, fix issue #70 2011-07-18 10:12:45 +02:00
cinap_lenrek c6c2e04d4a segdesc: add /dev/^(ldt gdt) support 2011-07-12 15:46:22 +02:00
cinap_lenrek c2fc2fad13 merge sd changes from 9atom 2011-07-10 14:14:23 +02:00
cinap_lenrek b222c16a38 qio: naive fixing attempt on issue #64 2011-07-09 13:15:39 +02:00
cinap_lenrek b274842f5c audio: cleanup 2011-07-03 05:56:53 +02:00
cinap_lenrek 86f316987d audio: add delay control 2011-07-03 03:42:37 +02:00
aiju 89500cba40 added /proc/*/ppid 2011-06-26 14:15:14 +02:00
cinap_lenrek cde40efb0c boot(8): add cfs support 2011-06-15 14:50:29 +02:00
cinap_lenrek 7827e7ae6f cleanup boot(8), replace read(1), fix cpu kernel configs 2011-06-04 08:07:21 +00:00
cinap_lenrek f55d5517ed boot(8): strip bootfs 2011-06-04 07:18:11 +00:00
cinap_lenrek 792b186b3a boot(8): replace bzfs with paqfs 2011-06-04 05:19:29 +00:00
cinap_lenrek f83d4972db devaudio: interlock reads too 2011-06-04 01:04:14 +00:00
cinap_lenrek 15cdb69f61 devaudio: serialize calls in devaudio, sb16: remove qlock 2011-06-04 00:28:17 +00:00
cinap_lenrek 1bc10a7c93 kproc(): remove the lines and the comment 2011-05-31 17:11:33 +00:00
cinap_lenrek d18a4568a8 kprocs dont share memory with up, see: http://9fans.net/archive/2011/05/159 2011-05-31 17:06:41 +00:00
cinap_lenrek 2def26ce10 add cryptsetup to rootfs.bz2 2011-05-31 15:59:36 +00:00
taruti 9655db2550 devfs crypto code - alpha version 2011-05-24 22:19:33 +00:00
cinap_lenrek e7d3e20912 remove keyboard stuff from other ports, make openssl and python compile on arm 2011-05-21 00:42:08 +00:00
cinap_lenrek 6cd063199d devaudio: audiostat perms 2011-05-20 21:08:10 +00:00
cinap_lenrek a75eb31752 devaudio: attach 2011-05-20 20:45:17 +00:00
cinap_lenrek 4bc74b8aef audioif, mixer control 2011-05-20 18:30:46 +00:00
cinap_lenrek b74418c2ce sb16: new approach, works in qemu 2011-05-18 19:57:31 +00:00
cinap_lenrek be81150bb4 remove audio.h, put stuff in port^(dat fns).h 2011-05-16 22:31:27 +00:00
cinap_lenrek 7b0e90b5d1 sb16: make it work in bochs 2011-05-16 22:09:39 +00:00
cinap_lenrek d11cd06c10 audio.h 2011-05-16 16:29:27 +00:00
cinap_lenrek d642d726ba add ac97 driver 2011-05-16 12:16:43 +00:00
cinap_lenrek 59aaec97ca add rdb message to /dev/reboot 2011-05-12 20:15:39 +00:00
cinap_lenrek fefd557d83 fix bad proto entry for cront/bootes, remove partfs from rootfs 2011-05-10 01:29:42 +00:00
aiju 51c9ad3413 changed Egreg 2011-05-09 09:52:53 +00:00
aiju ed3a999828 added absolute movement for mousein 2011-05-09 08:48:14 +00:00
cinap_lenrek 26c2845917 kbdfs 2011-05-09 08:32:14 +00:00
cinap_lenrek 470eb1c6a8 remove .i files in clean rule 2011-05-04 10:40:12 +00:00
cinap_lenrek fa9a40027b boot(8): merge usb boot method into local 2011-05-02 01:21:55 +00:00
ment 6a4063e245 merge 2011-04-30 16:52:50 +02:00
cinap_lenrek 15656fc79d boot(8): fix boot restarting 2011-04-30 20:17:33 +00:00
ment 012dec1119 boot: partitioning USB disks, mounting 9front.iso from FAT partition 2011-04-30 16:43:54 +02:00
aiju c693f26b2c fixed mordor 2011-04-21 17:31:51 +02:00
cinap_lenrek 19a82a2654 add fstype command to detect 9660, kfs and cwfs filesystems 2011-04-21 10:40:03 +00:00
cinap_lenrek 1b1fac3874 boot(8): fix it 2011-04-19 05:24:46 +00:00
iru b261a0c31b Add /sys/src/9/boot/tread, a tool to read a line with a timeout.
While here, remove boot(8) references to pcload.
2011-04-17 17:25:55 -03:00
cinap_lenrek 0087d42a68 boot(8): add cwfs support to, restart if mount fails, usbd. cwfs: exit code 2011-04-18 05:58:04 +00:00
iru 23b2128da1 Oops, forgot to add port/bootfs.proto and port/mkbootfs. 2011-04-16 17:50:51 -03:00
iru 478d102443 Initial import of the new boot(8). Change pccd and pcf to use it. 2011-04-16 17:42:16 -03:00
aiju 4d4fc2ca34 moved /dev/mordor to devcons 2011-04-16 14:15:01 +02:00
cinap_lenrek 632defb656 vesa-changes 2011-04-11 20:56:59 +00:00
cinap_lenrek 05569f6f2c perms 2011-04-11 15:38:29 +00:00
Taru Karttunen 8f69bf2252 Some more permissions for kernel compile 2011-03-31 09:06:36 +00:00
Taru Karttunen a9060cc06b Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
Taru Karttunen e5888a1ffd Import sources from 2011-03-30 iso image 2011-03-30 15:46:40 +03:00