History log of /src/sys/arch/vax/include/intr.h |
Revision | | Date | Author | Comments |
1.31 |
| 11-Jul-2023 |
riastradh | vax/intr.h: Expose ipl_cookie_t to _KMEMUSER for crash(8).
|
1.30 |
| 02-Nov-2021 |
ryo | branches: 1.30.4; In order to prevent _mcount() from being recursively called when built with COPTS=-O0, sprinkle `__always_inline' to make _mcount() be generated as a single function.
|
1.29 |
| 13-May-2009 |
mhitch | Revert using __insn_barrier(); changed to use "memory" clobber in the mtpr() macro.
|
1.28 |
| 06-May-2009 |
mhitch | Add __insn_barrier() to _splset(). See also kern/38637.
|
1.27 |
| 20-Feb-2008 |
matt | branches: 1.27.24; Make NetBSD/vax work again. Add support for __HAVE_FAST_SOFTINTS. Add a few small optimizations.
|
1.26 |
| 03-Feb-2008 |
matt | Change IPL_SOFTBIO to 0x0b
|
1.25 |
| 03-Dec-2007 |
ad | 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.
|
1.24 |
| 12-Mar-2007 |
matt | branches: 1.24.16; 1.24.18; 1.24.24; Shrink VAX kmutex from 12 bytes to 8. Fix various LOCKDEBUG/DIAGNOSTIC problems.
|
1.23 |
| 16-Feb-2007 |
ad | branches: 1.23.2; 1.23.6; Remove spllowersoftclock() and CLKF_BASEPRI(), and always dispatch callouts via a soft interrupt. In the near future, softclock will be run from process context.
|
1.22 |
| 16-Feb-2007 |
matt | Partially adapt the VAX port to the newlock2 changes. These are untested but they do at least compile.
|
1.21 |
| 21-Dec-2006 |
yamt | 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.
|
1.20 |
| 16-Feb-2006 |
perry | branches: 1.20.14; 1.20.16; 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@.
|
1.19 |
| 24-Dec-2005 |
perry | branches: 1.19.2; 1.19.4; 1.19.6; Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
|
1.18 |
| 04-Dec-2005 |
christos | Give splraiseipl() to the vax, from Johnny Billquist
|
1.17 |
| 27-Nov-2005 |
yamt | implement splraiseipl() for the following ports. evbppc, evbmips, evbsh3, hp700, mac68k, vax, x68k.
|
1.16 |
| 03-Jun-2005 |
ragge | branches: 1.16.2; 1.16.8; Rename val -> __val in macros, to avoid variable shadowing, as reported by Johnny Billquist. While here, add spaludio().
|
1.15 |
| 01-Jul-2004 |
kleink | Tidy up the namespace: lint -> __lint__.
|
1.14 |
| 16-Jun-2003 |
thorpej | branches: 1.14.2; 1.14.4; Rename IPL_IMP -> IPL_VM.
|
1.13 |
| 04-Jun-2001 |
ragge | branches: 1.13.8; 1.13.12; Add splipi().
|
1.12 |
| 13-Apr-2001 |
thorpej | 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.
|
1.11 |
| 12-Apr-2001 |
thorpej | Add spluba().
|
1.10 |
| 15-Jan-2001 |
thorpej | branches: 1.10.2; Make softclock a generic soft interrupt of the API is available, adding the requisite void * argument to softclock().
|
1.9 |
| 14-Jan-2001 |
thorpej | 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.
|
1.8 |
| 14-Jan-2001 |
thorpej | 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).
|
1.7 |
| 22-Aug-2000 |
thorpej | Add spllock(). See spl(9) for details.
|
1.6 |
| 21-Aug-2000 |
thorpej | Make sure we provide splsched() as described in spl(9).
|
1.5 |
| 01-Jul-2000 |
matt | GCC 2.96 wants the = constraint first. Older gcc(s) don't care.
|
1.4 |
| 11-Jun-2000 |
matt | Make spl0 & spllowersoftclock return void.
|
1.3 |
| 02-Jun-2000 |
matt | no need to raise ipl since the definition of softintr_schedule is that it's from at or above softipl.
|
1.2 |
| 02-Jun-2000 |
matt | 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.
|
1.1 |
| 18-Aug-1998 |
matt | branches: 1.1.12; 1.1.20; Initial steps to getting the VAX to use the MI driver framework.
|
1.1.20.1 |
| 22-Jun-2000 |
minoura | Sync w/ netbsd-1-5-base.
|
1.1.12.3 |
| 21-Apr-2001 |
bouyer | Sync with HEAD
|
1.1.12.2 |
| 18-Jan-2001 |
bouyer | Sync with head (for UBC+NFS fixes, mostly).
|
1.1.12.1 |
| 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago A i386 GENERIC kernel compiles without the siop, ahc and bha drivers (will be updated later). i386 IDE/ATAPI and ncr work, as well as sparc/esp_sbus. alpha should work as well (untested yet). siop, ahc and bha will be updated once I've updated the branch to current -current, as well as machine-dependant code.
|
1.10.2.1 |
| 21-Jun-2001 |
nathanw | Catch up to -current.
|
1.13.12.1 |
| 17-Mar-2002 |
thorpej | IPL_IMP -> IPL_VM
|
1.13.8.2 |
| 04-Jun-2001 |
ragge | Add splipi().
|
1.13.8.1 |
| 04-Jun-2001 |
ragge | file intr.h was added on branch nathanw_sa on 2001-06-04 15:34:58 +0000
|
1.14.4.1 |
| 02-Jul-2004 |
he | Pull up revision 1.15 (requested by kleink in ticket #580): Tidy up the namespace: lint -> __lint__.
|
1.14.2.5 |
| 11-Dec-2005 |
christos | Sync with head.
|
1.14.2.4 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.14.2.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.14.2.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.14.2.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.16.8.1 |
| 29-Nov-2005 |
yamt | sync with head.
|
1.16.2.7 |
| 27-Feb-2008 |
yamt | sync with head.
|
1.16.2.6 |
| 04-Feb-2008 |
yamt | sync with head.
|
1.16.2.5 |
| 07-Dec-2007 |
yamt | sync with head
|
1.16.2.4 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.16.2.3 |
| 26-Feb-2007 |
yamt | sync with head.
|
1.16.2.2 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.16.2.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.19.6.1 |
| 22-Apr-2006 |
simonb | Sync with head.
|
1.19.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.19.2.1 |
| 18-Feb-2006 |
yamt | sync with head.
|
1.20.16.1 |
| 19-Sep-2006 |
yamt | implement new api for vax.
|
1.20.14.1 |
| 12-Jan-2007 |
ad | Sync with head.
|
1.23.6.2 |
| 03-Dec-2007 |
ad | Sync with HEAD.
|
1.23.6.1 |
| 13-Mar-2007 |
ad | Sync with head.
|
1.23.2.1 |
| 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.24.24.2 |
| 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.24.24.1 |
| 08-Dec-2007 |
mjf | Sync with HEAD.
|
1.24.18.2 |
| 23-Mar-2008 |
matt | sync with HEAD
|
1.24.18.1 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.24.16.1 |
| 09-Dec-2007 |
jmcneill | Sync with HEAD.
|
1.27.24.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.30.4.1 |
| 09-Aug-2023 |
martin | Pull up following revision(s) (requested by maya in ticket #316):
sys/arch/m68k/include/mutex.h: revision 1.13 sys/arch/arm/include/cpu.h: revision 1.125 sys/arch/sun68k/include/intr.h: revision 1.21 sys/arch/arm/include/mutex.h: revision 1.28 sys/sys/rwlock.h: revision 1.18 sys/arch/powerpc/include/mutex.h: revision 1.7 sys/arch/arm/include/mutex.h: revision 1.29 sys/arch/powerpc/include/mutex.h: revision 1.8 sys/uvm/uvm_param.h: revision 1.42 sys/sys/ksem.h: revision 1.16 sys/arch/x86/include/mutex.h: revision 1.10 sys/sys/proc.h: revision 1.372 sys/sys/ksem.h: revision 1.17 sys/arch/ia64/include/mutex.h: revision 1.8 sys/arch/evbarm/include/intr.h: revision 1.29 sys/sys/lua.h: revision 1.9 sys/arch/next68k/include/intr.h: revision 1.23 sys/arch/ia64/include/mutex.h: revision 1.9 sys/arch/hp300/include/intr.h: revision 1.35 sys/arch/hp300/include/intr.h: revision 1.36 sys/arch/sparc/include/cpu.h: revision 1.111 sys/arch/hppa/include/mutex.h: revision 1.16 sys/arch/vax/include/intr.h: revision 1.31 sys/arch/hppa/include/mutex.h: revision 1.17 sys/arch/news68k/include/intr.h: revision 1.28 sys/arch/hppa/include/mutex.h: revision 1.18 sys/arch/hppa/include/intr.h: revision 1.3 sys/arch/hppa/include/mutex.h: revision 1.19 sys/arch/hppa/include/intr.h: revision 1.4 sys/sys/sched.h: revision 1.92 sys/opencrypto/cryptodev.h: revision 1.51 sys/arch/vax/include/mutex.h: revision 1.20 sys/arch/sparc64/include/mutex.h: revision 1.10 sys/arch/ia64/include/sapicvar.h: revision 1.2 sys/arch/riscv/include/mutex.h: revision 1.5 sys/arch/amiga/dev/grfabs_cc.c: revision 1.39 sys/external/bsd/drm2/include/linux/idr.h: revision 1.11 sys/arch/riscv/include/mutex.h: revision 1.6 sys/ddb/files.ddb: revision 1.16 sys/arch/mac68k/include/intr.h: revision 1.32 share/man/man4/ddb.4: revision 1.203 sys/ddb/db_command.c: revision 1.183 sys/arch/mips/include/mutex.h: revision 1.10 sys/ddb/db_command.c: revision 1.184 sys/arch/x68k/include/intr.h: revision 1.22 sys/arch/sparc/include/psl.h: revision 1.51 sys/arch/or1k/include/mutex.h: revision 1.4 sys/arch/mips/include/mutex.h: revision 1.11 sys/arch/arm/xscale/pxa2x0_intr.h: revision 1.16 sys/arch/sparc64/include/cpu.h: revision 1.134 sys/arch/sparc/include/psl.h: revision 1.52 sys/arch/or1k/include/mutex.h: revision 1.5 sys/arch/mvme68k/include/intr.h: revision 1.22 sys/arch/luna68k/include/intr.h: revision 1.16 external/cddl/osnet/sys/sys/kcondvar.h: revision 1.6 sys/arch/sparc/include/mutex.h: revision 1.12 sys/arch/sparc/include/mutex.h: revision 1.13 sys/arch/usermode/include/mutex.h: revision 1.5 sys/arch/usermode/include/mutex.h: revision 1.6 sys/kern/kern_core.c: revision 1.38 usr.sbin/crash/Makefile: revision 1.49 sys/arch/amiga/include/intr.h: revision 1.23 sys/arch/alpha/include/mutex.h: revision 1.12 sys/arch/alpha/include/mutex.h: revision 1.13 sys/arch/evbarm/lubbock/sacc_obio.c: revision 1.16 sys/ddb/ddb.h: revision 1.6 sys/arch/sparc64/include/mutex.h: revision 1.8 sys/arch/sh3/include/mutex.h: revision 1.12 sys/arch/evbarm/lubbock/sacc_obio.c: revision 1.17 sys/ddb/db_syncobj.c: revision 1.1 sys/arch/vax/include/mutex.h: revision 1.18 sys/arch/sparc64/include/psl.h: revision 1.63 sys/arch/sparc64/include/mutex.h: revision 1.9 sys/arch/sh3/include/mutex.h: revision 1.13 sys/arch/evbarm/lubbock/obio.c: revision 1.13 sys/arch/atari/include/intr.h: revision 1.23 sys/ddb/db_syncobj.c: revision 1.2 sys/arch/vax/include/mutex.h: revision 1.19 sys/arch/evbarm/g42xxeb/obio.c: revision 1.14 sys/arch/evbarm/g42xxeb/obio.c: revision 1.15 sys/arch/cesfic/include/intr.h: revision 1.14 sys/ddb/db_syncobj.h: revision 1.1 sys/arch/x86/include/cpu.h: revision 1.134 sys/arch/evbarm/g42xxeb/obio.c: revision 1.16 sys/arch/cesfic/include/intr.h: revision 1.15 sys/arch/arm/xscale/pxa2x0_intr.c: revision 1.26 sys/sys/cpu_data.h: revision 1.54 sys/arch/m68k/include/mutex.h: revision 1.12 sys/arch/ia64/acpi/madt.c: revision 1.6
sys/rwlock.h: Make this more self-contained for bool.
machine/mutex.h: Sprinkle includes so this can be used by crash(8).
ddb: New `show all tstiles' command. Shows who's waiting for which locks and what the owner is up to.
Include psl.h for ipl_cookie_t if __MUTEX_PRIVATE
sys: Rip <sys/resourcevar.h> out of <uvm/uvm_param.h>.
And thus out of <sys/param.h>, which is exceedingly overused and fragile and delenda est.
Should fix (some) issues with the recent inclusion of machine/lock.h in various machine/mutex.h files.
arm/mutex.h: Need machine/intr.h, machine/lock.h.
For ipl_cookie_t and __cpu_simple_lock_t. evbarm/intr.h: Define ipl_cookie_t before including ARM_INTR_IMPL.
Otherwise arm/mutex.h doesn't work, due to a cyclic dependency which should really be fixed. opencrypto/cryptodev.h: Fix includes. - Move sys/condvar.h under #ifdef _KERNEL. - Add some other necessary includes and forward declarations. - Sort.
hp300/intr.h: Fix missing includes. linux/idr.h: Need <sys/mutex.h> for kmutex_t. amiga/intr.h: Don't define spl*() functions if !_KERNEL.
This is used by crash(8) now, and what's important is ipl_cookie_t. cesfic/intr.h: Expose ipl_cookie_t to userland for crash(8). cesfic/intr.h: Expose ipl_cookie_t to userland only with _KMEMUSER.
Probably not necessary but let's be a little more cautious about this.
atari/intr.h: Expose ipl_cookie_t with _KMEMUSER for crash(8).
arm/cpu.h: Need sys/param.h for COHERENCY_UNIT.
Nix machine/param.h -- not meant to be used directly, pulled in by sys/param.h.
Move the definition of ipl_cookie_t out of the kernel-only sections, some _KMEMUSER applications need it.
ddb: Cast pointer to uintptr_t first before db_expr_t.
hppa/intr.h: Expose ipl_cookie_t to _KMEMUSER for crash(8).
luna68k/intr.h: Expose ipl_cookie_t to _KMEMUSER for crash(8).
mvme68k/intr.h: Expose ipl_cookie_t to _KMEMUSER for crash(8).
news68k/intr.h: Fix includes. Put some definitions under _KERNEL.
next68k/intr.h: Expose ipl_cookie_t to _KMEMUSER for crash(8).
sys/ksem.h: Hack around fstat(8) abuse of _KERNEL.
sun68k/intr.h: Expose ipl_cookie_t to _KMEMUSER for crash(8).
vax/intr.h: Expose ipl_cookie_t to _KMEMUSER for crash(8).
x68k/intr.h: Put functions under _KERNEL so crash(8) can use this.
Make ipl_cookie_t visible for _KMEMUSER userland applications.
fix editor mishap in previous
Explicitly include <sys/mutex.h> for kmutex_t.
Replace kmutex_t * (which may be undefined here) with struct kmutex *, suggested by Taylor.
hp300/intr.h: Put most of this under #ifdef _KERNEL. Only ipl_cookie_t really needs to be exposed now, for crash(8).
mac68k/intr.h: Expose ipl_cookie_t to _KMEMUSER for crash(8). Make inclusion of sys/intr.h explicit for spl*.
fix hppa and vax builds.
machine/lock.h isn't necessary for __cpu_simple_lock_t, it's in sys/types.h. avoids cpu_data.h vs sched.h include order issues.
move the hppa ipl_t typedef with the moved usage of it. machine/mutex.h: Sprinkle sys/types.h, omit machine/lock.h.
Turns out machine/lock.h is not needed for __cpu_simple_lock_t, which always comes from sys/types.h. And, really, sys/types.h (or at least sys/stdint.h) is needed for uintN_t and uintptr_t.
ddb: Cast pointer to uintptr_t, then to db_expr_t. Avoids warnings about conversion between pointer and integer of different size on some architectures.
re-fix hppa builds.
this file uses __cpu_simple_lock(), not just the underlying type, so it does need machine/lock.h.
Break cycle by using `struct kmutex *' instead of `kmutex_t *'. sys/sched.h included sys/mutex.h which includes sys/intr.h which includes machine/intr.h which on cats includes arm/footbridge/footbridge_intr.h which includes arm/cpu.h which includes sys/cpu_data.h which includes sys/sched.h
But there was never any real need for sys/mutex.h in sys/sched.h, because it only uses pointers to the opaque struct kmutex. Cycle broken by using `struct kmutex *' instead of pulling in sys/mutex.h for the definition of kmutex_t.
Side effect: This revealed that sys/cpu_data.h needed sys/intr.h (which was pulled in accidentally by sys/mutex.h via sys/sched.h) for SOFTINT_COUNT. Also revealed some other machine/cpu.h header files were missing includes of sys/mutex.h for kmutex_t.
ia64: Need sys/types.h for u_int, vaddr_t; sys/mutex.h for kmutex_t.
explicitly include no longer implicitly included sys/mutex.h.
arm/xscale: Use sys/bitops.h fls32 - 1 instead of 31 - __builtin_clz. Sidesteps namespace collision with `#define bits ...' in net/zlib.c.
complete the previous - there were two calls to find_first_bit() to fix.
arm/xscale: Missed a spot with previous find_first_bit commit.
evbarm/g42xxeb: Fix off-by-one in previous.
The original find_first_bit(x) was 31 - __builtin_clz((uint32_t)x), which is equivalent to fls32(x) - 1, not to fls32(x).
Note that fls32 is 1-based and returns 0 for x=0.
|