that is priority is rasied. Add a new spllowersoftclock() to provide the
atomic drop-to-softclock semantics that the old splsoftclock() provided,
and update calls accordingly.
This fixes a problem with using the "rnd" pseudo-device from within
interrupt context to extract random data (e.g. from within the softnet
interrupt) where doing so would incorrectly unblock interrupts (causing
all sorts of lossage).
XXX 4 platforms do not have priority-raising capability: newsmips, sparc,
XXX sparc64, and VAX. This platforms still have this bug until their
XXX spl*() functions are fixed.
* Add IPL_HIGH. Alias IPL_HIGH to IPL_RTTY
* Define splrtty (used by the scn driver).
* Add iv_level and iv_mask to struct iv. These define the IPL at
which the handler should run.
* intr_establish now takes *two* ipls. One at which the handler should run,
and one in which the interrupt should get blocked.
Several had: _MACHINE_ICU_H_ -> _NS32K_ICU_H_
cpu.h * Removed definition of cpu_swapout.
* Added definition of cpu_wait.
frame.h * added struct switchframe
icu.h * tweeked ints_off
param.h * More derived constants.
* Alot of things taken over from i386/include/param.h.
pcb.h * Removed pcb_flags (was unused) and pcb_pl.
The current priority level is now stored
in the switch frame by cpu_switch.
pmap.h * Taken over from i386/include/pmap.h.
psl.h * Add USERMODE definition
trap.h * T_INTERRUPT -> T_AST
types.h * Remove __FORK_BRAINDAMAGE
vmparam.h * Taken over from i386/include/vmparam.h.
Added definition of INTSTACK.
* conf/DEFAULT: new file, default install kernel
* conf/INSTALL: +MSDOSFS, +NO_INLINE_SPLX, +RD_SIZE=2mb, +scn4/5
* conf/KLONDIKE: cosmetic changes
* conf/STEELHEAD: cosmetic changes
* conf/files.pc532: rd got a file of it's own
* dev/lpt.c: changes to support lower interrupt latency, packet input/output
is now done at spl0
* dev/ncr.c: changes to support the most recent atari version of the ncr5380
driver
* dev/ncr5380.c, dev/ncr5380reg.h: upgraded to most recent atari version,
memcpy -> bcopy.
* dev/rd.c: ramdisk driver
* dev/scn.c: by patching scndefaultrate, the kernel's default baud rate can
be changed with gdb
* include/psl.h: struct iv now protected by !LOCORE && _KERNEL
inlining of splx can be prevented with new kernel option NO_INLINE_SPLX
splx_di is like splx but leaves processor interrupts disabled
* pc532/autoconf.c: cosmetic changes
* pc532/conf.c: with rd entries
* pc532/intr.c: changes to support splx_di
* pc532/locore.s: ramdisk is no longer initialized
not splx, but rett is now used to reenable CPU interrupts when leaving the
interrupt service routine. This is necessary to prevent recursive interrupts.
* pc532/sys_machdep.c: memcpy -> bcopy
* pc532/mem.c: moved ramdisk to dev/rd.c
* stand/Makefile: boot is now loaded at 0x3eb800 instead of 0x363800
Use current form of libsa and libkern.
* stand/inflate.c: emit twiddle every 8k and not every 1k
* stand/rd.c: ramdisk starts at 0x288000