History log of /src/sys/arch/mvme68k/include/intr.h |
Revision | | Date | Author | Comments |
1.24 |
| 19-Jan-2024 |
thorpej | Add _KERNEL guards around most of the definitions in these files.
|
1.23 |
| 16-Jan-2024 |
thorpej | Switch mvme68k over to the common interrupt dispatch code and G/C __HAVE_LEGACY_INTRCNT.
|
1.22 |
| 11-Jul-2023 |
riastradh | mvme68k/intr.h: Expose ipl_cookie_t to _KMEMUSER for crash(8).
|
1.21 |
| 19-Apr-2018 |
christos | branches: 1.21.32; s/static inline/static __inline/g for consistency.
|
1.20 |
| 22-May-2009 |
he | branches: 1.20.62; Remove a no-longer-needed include of <sys/device.h>, which now created a build problem because dvl_mtx has an incomplete type when building cacheops.o.
|
1.19 |
| 26-Jun-2008 |
isaki | Unify splraiseipl(9) implementation among m68k ports, discussed with tsutsui@ on port-m68k.
For mvme68k: - export ipl2psl_table[] and make it uint16_t - make makeiplcookie(9) inline - put PSL_S bit into ipl2psl_table[] rather than adding it in makeiplcookie(9) - define both IPL_SCHED and IPL_HIGH independently to avoid confusion - replace the order of IPL_SOFTCLOCK and IPL_SOFTBIO according to spl(9)
|
1.18 |
| 28-Apr-2008 |
martin | branches: 1.18.2; 1.18.4; Remove clause 3 and 4 from TNF licenses
|
1.17 |
| 03-Dec-2007 |
ad | branches: 1.17.14; 1.17.16; 1.17.18; 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.16 |
| 11-Mar-2007 |
thorpej | branches: 1.16.16; 1.16.18; 1.16.24; - Shrink ipl_cookie_t from 32-bits to 16-bits (large enough to hold an SR value or an IPL_* constant). - Take advange of the smaller ipl_cookie_t to shrink kmutex_t from 16 bytes to 8 bytes by overlapping storage where possible. - Implement a RAS-based _lock_cas() for mc68010 systems (Sun2). See sun68k/sun68k/isr.c.
Tested on various m68k platforms, but NOT Sun2. In any case, at least Sun2 compiles now.
|
1.15 |
| 16-Feb-2007 |
ad | branches: 1.15.2; 1.15.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.14 |
| 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.13 |
| 16-Feb-2006 |
perry | branches: 1.13.14; 1.13.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.12 |
| 24-Dec-2005 |
perry | branches: 1.12.2; 1.12.4; 1.12.6; Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
|
1.11 |
| 06-Jul-2001 |
scw | branches: 1.11.8; 1.11.40; Ditch the `simulated' software interrupt in favour of hardware-assisted soft interrupts on all boards. (Note: VMEChip2-less 162/172 not yet tested)
This greatly simplifies the `rei' path and allows interrupt nesting to be tracked somewhat more easily.
As a result we now have a working CLKF_INTR() macro and can detect uvm_fault() being called from an interrupt (although there may still be a very short race detecting the latter; need to investigate further).
|
1.10 |
| 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.9 |
| 15-Jan-2001 |
thorpej | branches: 1.9.2; Make softclock a generic soft interrupt of the API is available, adding the requisite void * argument to softclock().
|
1.8 |
| 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.7 |
| 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.6 |
| 10-Dec-2000 |
scw | A small splx()/spl0()/soft interrupt related optimisation. If we're dropping to spl0, use inline code to check if a soft interrupt is pending instead of taking the hit of a function call to do the check.
|
1.5 |
| 19-Sep-2000 |
scw | branches: 1.5.2; Add IPL_SERIAL.
|
1.4 |
| 22-Aug-2000 |
thorpej | Add spllock(). See spl(9) for details.
|
1.3 |
| 20-Jul-2000 |
scw | Implement generic soft interrupts for mvme68k. Based on Jason Thorpe's Alpha implementation.
|
1.2 |
| 18-Mar-2000 |
scw | branches: 1.2.4; Merge 'scw_mvme68k_bus_space' branch with the trunk. These changes add support for:
o The MI VMEbus framework on both MVME147 and MVME167. o Enhancements to the existing MD bus_space(9) implementation. o Most of the bus_dma(9) API.
|
1.1 |
| 11-Mar-2000 |
scw | branches: 1.1.2; file intr.h was initially added on branch scw_mvme68k_bus_space.
|
1.1.2.2 |
| 18-Mar-2000 |
scw | MI VMEbus glue more or less complete. Kernels now compiled with -Wall, etc. (lots of fixes needed for this) All MD drivers now bus_spaced/bus_dma'd. The two SCSI drivers should be replaced with bus_spaced MI versions at some point.
|
1.1.2.1 |
| 11-Mar-2000 |
scw | Checkpoint of development of the following features of mvme68k:
. Preliminary support for the MI VMEbus framework. . Full bus_space* and "mostly-there" bus_dma* support.
At this time, MI VMEbus drivers may well work 'as is' on an MVME147 board. Work to get the MVME167 to this stage is ongoing.
Testers will be required at some point as I have no VMEbus boards which have existing MI drivers! (Although I am able to test things in a limited fashion using a noddy driver and a VMEbus RAM card).
TODO:
. Expunge all remaining use of IIOV() and freinds. . Flag the 'boot device' using bus_space_tag_t and offset. . Add a 24bit address constraint to bus_dmamem_alloc() (for le/ie) . VMEChip2 support on MVME167/MVME177 . Support the mvme68k boards in VMEbus slave mode. . Anything else I can thing of, besides having another beer. ;-)
|
1.2.4.1 |
| 22-Jul-2000 |
scw | Pullup from trunk: 1.3 Approved by: thorpej
Implement generic soft interrupts for mvme68k.
|
1.5.2.5 |
| 21-Apr-2001 |
bouyer | Sync with HEAD
|
1.5.2.4 |
| 18-Jan-2001 |
bouyer | Sync with head (for UBC+NFS fixes, mostly).
|
1.5.2.3 |
| 13-Dec-2000 |
bouyer | Sync with HEAD (for UBC fixes).
|
1.5.2.2 |
| 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.5.2.1 |
| 19-Sep-2000 |
bouyer | file intr.h was added on branch thorpej_scsipi on 2000-11-20 20:15:22 +0000
|
1.9.2.1 |
| 21-Jun-2001 |
nathanw | Catch up to -current.
|
1.11.40.5 |
| 07-Dec-2007 |
yamt | sync with head
|
1.11.40.4 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.11.40.3 |
| 26-Feb-2007 |
yamt | sync with head.
|
1.11.40.2 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.11.40.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.11.8.2 |
| 06-Jul-2001 |
scw | Ditch the `simulated' software interrupt in favour of hardware-assisted soft interrupts on all boards. (Note: VMEChip2-less 162/172 not yet tested)
This greatly simplifies the `rei' path and allows interrupt nesting to be tracked somewhat more easily.
As a result we now have a working CLKF_INTR() macro and can detect uvm_fault() being called from an interrupt (although there may still be a very short race detecting the latter; need to investigate further).
|
1.11.8.1 |
| 06-Jul-2001 |
scw | file intr.h was added on branch nathanw_sa on 2001-07-06 19:00:15 +0000
|
1.12.6.1 |
| 22-Apr-2006 |
simonb | Sync with head.
|
1.12.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.12.2.1 |
| 18-Feb-2006 |
yamt | sync with head.
|
1.13.16.3 |
| 10-Dec-2006 |
yamt | add IPL_VM.
|
1.13.16.2 |
| 10-Dec-2006 |
yamt | remove unnecessary "#include <sys/spl.h>".
|
1.13.16.1 |
| 10-Dec-2006 |
yamt | implement splraiseipl and makeiplcookie for mvme68k.
|
1.13.14.1 |
| 12-Jan-2007 |
ad | Sync with head.
|
1.15.6.2 |
| 03-Dec-2007 |
ad | Sync with HEAD.
|
1.15.6.1 |
| 13-Mar-2007 |
ad | Sync with head.
|
1.15.2.1 |
| 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.16.24.1 |
| 08-Dec-2007 |
mjf | Sync with HEAD.
|
1.16.18.1 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.16.16.1 |
| 09-Dec-2007 |
jmcneill | Sync with HEAD.
|
1.17.18.3 |
| 20-Jun-2009 |
yamt | sync with head
|
1.17.18.2 |
| 04-May-2009 |
yamt | sync with head.
|
1.17.18.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.17.16.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.17.14.2 |
| 29-Jun-2008 |
mjf | Sync with HEAD.
|
1.17.14.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.18.4.1 |
| 27-Jun-2008 |
simonb | Sync with head.
|
1.18.2.1 |
| 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
1.20.62.1 |
| 22-Apr-2018 |
pgoyette | Sync with HEAD
|
1.21.32.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.
|