Commit Graph

29 Commits

Author SHA1 Message Date
mhitch f3c29cad43 Revert using __insn_barrier(); changed to use "memory" clobber in the
mtpr() macro.
2009-05-13 03:38:08 +00:00
mhitch 6c4dd62a45 Add __insn_barrier() to _splset(). See also kern/38637. 2009-05-06 21:41:58 +00:00
matt a027746fa0 Make NetBSD/vax work again. Add support for __HAVE_FAST_SOFTINTS.
Add a few small optimizations.
2008-02-20 16:37:52 +00:00
matt 67ba75fa05 Change IPL_SOFTBIO to 0x0b 2008-02-03 08:32:25 +00:00
ad 4b293a84e1 Interrupt handling changes, in discussion since February:
- Reduce available SPL levels for hardware devices to none, vm, sched, high.
- Acquire kernel_lock only for interrupts at IPL_VM.
- Implement threaded soft interrupts.
2007-12-03 15:33:00 +00:00
matt b3cd0abcf6 Shrink VAX kmutex from 12 bytes to 8. Fix various LOCKDEBUG/DIAGNOSTIC
problems.
2007-03-12 02:22:43 +00:00
ad 3363855a4a Remove spllowersoftclock() and CLKF_BASEPRI(), and always dispatch callouts
via a soft interrupt. In the near future, softclock will be run from process
context.
2007-02-16 02:53:43 +00:00
matt 53af1aa78b Partially adapt the VAX port to the newlock2 changes. These are untested
but they do at least compile.
2007-02-16 01:33:49 +00:00
yamt 8bf7662829 merge yamt-splraiseipl branch.
- finish implementing splraiseipl (and makeiplcookie).
	  http://mail-index.NetBSD.org/tech-kern/2006/07/01/0000.html
	- complete workqueue(9) and fix its ipl problem, which is reported
	  to cause audio skipping.
	- fix netbt (at least compilation problems) for some ports.
	- fix PR/33218.
2006-12-21 15:55:21 +00:00
perry fbae48b901 Change "inline" back to "__inline" in .h files -- C99 is still too
new, and some apps compile things in C89 mode. C89 keywords stay.

As per core@.
2006-02-16 20:17:12 +00:00
perry 5f1c88d70d Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete. 2005-12-24 20:06:46 +00:00
christos 0a2d44d645 Give splraiseipl() to the vax, from Johnny Billquist 2005-12-04 19:26:34 +00:00
yamt ba38016298 implement splraiseipl() for the following ports.
evbppc, evbmips, evbsh3, hp700, mac68k, vax, x68k.
2005-11-27 14:01:45 +00:00
ragge fbc313cb9d Rename val -> __val in macros, to avoid variable shadowing, as reported
by Johnny Billquist.  While here, add spaludio().
2005-06-03 11:44:39 +00:00
kleink d93fc4c14e Tidy up the namespace: lint -> __lint__. 2004-07-01 22:52:34 +00:00
thorpej 452a8fdae2 Rename IPL_IMP -> IPL_VM. 2003-06-16 20:00:56 +00:00
ragge 81d993ac3b Add splipi(). 2001-06-04 15:34:57 +00:00
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 c031c366f6 Add spluba(). 2001-04-12 19:16:06 +00:00
thorpej d74e432ed3 Make softclock a generic soft interrupt of the API is available,
adding the requisite void * argument to softclock().
2001-01-15 20:19:50 +00:00
thorpej 45de366b2e Rename __GENERIC_SOFT_INTERRUPTS to __HAVE_GENERIC_SOFT_INTERRUPTS,
and place the definition in <machine/types.h>.  This can now be used
as a flag to indicate whether or not <machine/intr.h> can be included
to get the generic soft interrupt API.
2001-01-14 23:50:28 +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
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
matt c9e87920af GCC 2.96 wants the = constraint first. Older gcc(s) don't care. 2000-07-01 06:43:42 +00:00
matt 7f40194cbc Make spl0 & spllowersoftclock return void. 2000-06-11 23:33:37 +00:00
matt baaa1154d5 no need to raise ipl since the definition of softintr_schedule is that
it's from at or above softipl.
2000-06-02 22:14:10 +00:00
matt b8cccfafd8 Move spl macros from <machine/param.h> to <machine/intr.h>
Fix botch on my part and make the IPL_* match reality on VAX.
Redefine spl macro using the symbolic IPL_ instead of being hardcoded.
Move schedsoftnet, schedsoftclock from <machine/cpu.h> to <machine/intr.h>
Add a _setsirr macro for schedsoft*.
Add softintr function and framework.
2000-06-02 21:47:02 +00:00
matt 5232b66bd5 Initial steps to getting the VAX to use the MI driver framework. 1998-08-18 23:55:00 +00:00