* add a new enum decstation_intr_t to trap.c, naming each instrumented
interrupt symbolically, and used to index into intrcnt[]. Change the
model-specific interrupt handlers to use the decstation_intr_t when
updating interrupt counters.
* add instrumentation to the kmin and maxine interrupt handlers.
* fix a bug that counted each hardclock interrupts on the kn02 twice.
The hardcoded mapping from locore names to units is gross; but these
counters will hopefully be useful in identifying interrupt hot-spots
and PPP problems on the 3MIN.
on the size of MI data structures that come before it in the softc.
Chip will not function properly if alignment is wrong. (as per OpenBSD)
Detected and fixed by: Chuck Cranor <chuck@ccrc.wustl.edu>
and Michael L Hitch <osymh@gemini.oscs.montana.edu>
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.
clock.c * Removed definition of DELAY.
intr.c * Removed an unneeded $Id:....$
locore.s * Moved some of the low level initialization
code to machdep.c.
* Defined proc_trampoline.
* Changed sigcode to pass scp to SYS_sigreturn.
* Changed copyin/copyout/fu*/su* to take advantage
of the ns32532's dual address instructions.
* Recoded copyinstr/copyoutstr/copystr in assembler.
* Added a new and faster version of bzero.
This makes bzero.s unnecessary.
* Defined suswintr to make profiling work.
* Recoded cpu_switch modelled after the i386
version of cpu_switch.
* Added support for lazy fpu state restore to
cpu_switch.
* Recoded trap handling code to be more readable.
* Added experimental code for single cacheline
invalidation.
machdep.c * Copied over cpu_startup from i386/i386/machdep.c.
* Changed sys_sigreturn to take advantage of the
argument passed by the trampoline code.
* Changed boot to call doshutdownhooks and to store
machine state in case of a panic.
* Changed setregs to clear the fpu registers.
* Recoded low_level_init. It's now called init532.
* cpu_reset: New function, resets the machine.
trap.c * Pulled over from i386/i386/trap.c.
* Added support for lazy saved/restored fpu state.
vm_machdep.c * Removed kstack double mapping by pulling over alot
of code from i386/i386/vm_machdep.c.
* Added support for lazy saved/restored fpu state.
* Moved freeing of process resources from cpu_wait
to cpu_exit.
* Pulled over cpu_coredump, pagemove, vmapbuf and
vunmapbuf from i386/i386/vm_machdep.c.
pmap.c * Pulled over from i386/i386/pmap.c.
genassym.c * Removed old and unused definitions, added new ones.
sys_machdep.c * Moved sys_sysarch from machdep.c to sys_machdep.c.
process_machdep.c * Changed to work without ktack double mapping.
* Changed to work with lazy saved/restored fpu state.
Rename the ioctl asic register and slot macros from ASIC_<xxx> to
IOASIC_<xxx>, to be compatible with the machine-indpendent names in
sys/dev/tc/ioasicvar.h. The pmax code still uses
sys/arch/pmax/pmax/asic.h, as some of the registers and offsets
defined there are not yet defined in sys/dev/tc/ioasicvar.h.
Rename the ioctl asic base-address pointer from `asic_base' to `ioasic_base'.