Commit Graph

21 Commits

Author SHA1 Message Date
thorpej eb20bbc780 Change the semantics of splsoftclock() to be like other spl*() functions,
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.
1999-08-05 18:08:08 +00:00
thorpej 51fe928d5e Slight cleanup; do all of the spl*()s with imask[]. 1999-08-04 15:54:28 +00:00
phil 2516dd1548 int -> long in a structure. 1997-11-13 20:57:31 +00:00
matthias 4bd938a998 * Remove IPL_NONE. This is no longer used.
* 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.
1996-12-23 08:37:41 +00:00
matthias 58dc92f52e * Prototyping tweaks.
* Changes to support the new softint mechanism.
1996-11-24 13:34:45 +00:00
matthias f8c337b300 * Remove intr_disable/intr_enable stuff.
* Reduce softint latency.
1996-10-09 07:28:52 +00:00
mycroft 88e512b693 LOCORE -> _LOCORE 1996-02-01 22:28:24 +00:00
phil 63d5234cbf Integration of many changes from Matthias Pfaller plus some of mine.
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.
1996-02-01 00:03:25 +00:00
phil 03fa08025b Major update: Many changes from Matthias Pfaller.
* 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
1995-09-26 20:15:57 +00:00
phil 7ed7d6148f Move the C struct to the properly protected place. 1995-09-22 23:19:30 +00:00
phil d9c05825be Changes for gdb from Matthias Pfaller. 1995-08-29 22:37:41 +00:00
phil 441cd76f8f Changes by Matthias Pfaller for generic support and dumping. 1995-08-25 07:52:18 +00:00
mycroft 6cc376290b Replace splnet() with splsoftnet(). Add splnet(). 1995-08-13 00:27:11 +00:00
phil 8142065452 Updating to be like i386 version. 1995-06-18 07:13:46 +00:00
phil 29db7c74b1 Changes from Matthias Pfaller: lpt driver changes, clock code similar
to i386, interrupts from static table to dynamic table, other small
fixes (locore.s byte operates -> double operands ...)
1995-05-16 07:30:30 +00:00
jtc 71ab4ed9dc KERNEL -> _KERNEL 1995-03-28 18:13:48 +00:00
cgd dafacba9d5 new RCS ID format. 1994-10-26 08:23:50 +00:00
phil 54b24193e2 The "kitchen sink" update ... proc.h, signals, profile, setrq=>setrunqueue ... 1994-05-17 17:31:03 +00:00
phil 493236e982 making the "#ifndef _MACHINE_FILE_H_" more complete and consistent. 1993-10-25 06:11:58 +00:00
phil b8234df3d9 Catching up with NetBSD current. 1993-10-01 23:01:01 +00:00
phil e401483244 Adding the src/sys/arch/pc532 tree. 1993-09-09 23:53:45 +00:00