it to determine the boot device: mvme68k, pc532, macppc, ofppc. Those
platforms should be changed to use device_register(). In the mean time,
those ports defined __BROKEN_DK_ESTABLISH.
contains the values __SIMPLELOCK_LOCKED and __SIMPLELOCK_UNLOCKED, which
replace the old SIMPLELOCK_LOCKED and SIMPLELOCK_UNLOCKED. These files
are also required to supply inline functions __cpu_simple_lock(),
__cpu_simple_lock_try(), and __cpu_simple_unlock() if locking is to be
supported on that platform (i.e. if MULTIPROCESSOR is defined in the
_KERNEL case). Change these functions to take an int * (&alp->lock_data)
rather than the struct simplelock * itself.
These changes make it possible for userland to use the locking primitives
by including <machine/lock.h>.
incorrectly added as a union member which overlaid the keyboard
state structure. Fixed by moving the callout structure into to
keyboard state structure.
rcons_ttyinit() was never added to the pmax rasterconsole stuff. Output
to the display using /dev/console has not been working since then. Adding
the call to rcons_ttyinit() makes this work again.
processor is unlikely able to boot the kernel.
- Correct comments about what mach_init() and cpu_startup() do.
- Relocate cn_tab = &promcd to make ROM console printf() work in the
earliest stage of boot.
variable and cpu_intr() body in machdep.c. Reorder and rename
model specific interrupt handler arguments. Fixup machine/intr.h and
machine/cpu.h appropriately.
* Remove the casts to vaddr_t from the round_page() and trunc_page() macros to
make them type-generic, which is necessary i.e. to operate on file offsets
without truncating them.
* In due course, cast pointer arguments to these macros to an appropriate
integral type (paddr_t, vaddr_t).
Originally done by Chuck Silvers, updated by myself.
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.
(Whoops! I missed checking these in when adding the RAID_AUTOCONFIG stuff.)
This one is more in the spirit of incorrect version which was trying
to shorten the interrupt path. This probably isn't quite as fast as
using a switch() statement to dispatch the interrupts, but should be
a little faster than testing for each of the possible 6 interrupt
conditions.
than one interrupt bit is set (unless you do some fancy case values).
Check each interrupt bit individually and process the interrupt if set.
5000/200 doesn't hang shortly after booting now.
device. Works on a 3100 with both old and MI SCSI, on a 5000/25 built-in
IOASIC with both old and MI SCSI, on the 5000/25 PMAZ TC option card
with both old and MI SCSI, and with tftp boot on the 5000/25.