Commit Graph

26 Commits

Author SHA1 Message Date
thorpej bf2dcec4f5 Remove the use of splimp() from the NetBSD kernel. splnet()
and only splnet() is allowed for the protection of data structures
used by network devices.
2001-04-13 23:29:55 +00:00
thorpej d85a75f583 Make sure everybody has an splvm() and equate it with splimp() (splimp()
is the historical name for this interrupt level, and the historical name
is going to go away in the near future).
2001-01-14 02:00:37 +00:00
matthias 62c3b7d1c6 fix typo. 2000-12-19 16:24:43 +00:00
thorpej 58e7a6954b Add spllock(). See spl(9) for details. 2000-08-22 19:46:26 +00:00
thorpej 23a7f255d4 Make sure we provide splsched() as described in spl(9). 2000-08-21 02:06:31 +00:00
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