cpu_fork() mistakenly created processes forked by proc0, including
kthreads, in splhigh condition, because [1] proc0's PCB was zero
cleared during initialization, and [2] value 0 in status register
field made processes to have splhigh condition when CPU tick was
assigned for them. This mostly doesn't matter as forked processes
dive immediately into user mode through proc_trampoline code path,
however, kthreads never do that and remain in splhigh.
Reported by Ethan Solomita <ethan@geocast.com>.
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
resource allocation.
- Insertion and removal of callouts is constant time, important as
this facility is used quite a lot in the kernel.
The old timeout()/untimeout() API has been removed from the kernel.
so that the right entries get added to dev_name2blk[]. Needed for / on RAID.
(Missed these yesterday.. Thanks to Izumi Tsutsui for noticing, and for
letting me know :) )
inherited from DECstation 3100 and other debris floating around.
This file will go away naturally when interrupt establish procedure
and dispatcher are well coordinated in sane way of encapulating
target implementation differences.
This haven't tested with original Acer Pica 61, but it appeared that
NEC Image RISCstation is almost fully compatible with Pica 61, and
doesn't have problem with using product id as ethernet address.
(Although it is better to use SONIC device configuration data from ARC BIOS,
rather than product id. Autoconfiguration stuff for jazz derived systems
really should be revisited.)
- use "objcopy -O ecoff-littlemips" instead of elf2ecoff to make cross
compilation easy. this also workarounds a problem that -current
elf2ecoff doesn't work with ARC BIOS.
- use -mips2 for ld, since mixing -mips3 and -mips2 doesn't work with
-current ld.
mostly from Izumi Tsutsui <tsutsui@netbsd.org>