History log of /src/sys/arch/sun68k/include/intr.h |
Revision | | Date | Author | Comments |
1.26 |
| 19-Jan-2024 |
thorpej | Add _KERNEL guards around most of the definitions in these files.
|
1.25 |
| 15-Jan-2024 |
thorpej | G/C __HAVE_LEGACY_INTRCNT from the sun68k platforms.
|
1.24 |
| 14-Jan-2024 |
thorpej | Switch the sun68k platforms over to the common m68k interrupt dispatch code.
|
1.23 |
| 14-Jan-2024 |
thorpej | Don't bother with isr_add_custom(). It's just a thin wrapper around vec_set_entry(), so just use vec_set_entry() directly.
|
1.22 |
| 12-Jan-2024 |
thorpej | Make getsr() an inline in <m68k/psl.h> and G/C all of the now-redudant copies.
|
1.21 |
| 11-Jul-2023 |
riastradh | sun68k/intr.h: Expose ipl_cookie_t to _KMEMUSER for crash(8).
|
1.20 |
| 22-Jun-2008 |
tsutsui | branches: 1.20.114; Make cpu_intr_p() inline.
|
1.19 |
| 15-Jun-2008 |
tsutsui | Unify splraiseipl(9) implementation among m68k ports as per suggestion from isaki@ on port-m68k.
For sun68k (sun2, sun3 and sun3x): - 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)
|
1.18 |
| 26-Jan-2008 |
tsutsui | branches: 1.18.6; 1.18.8; 1.18.10; 1.18.12; 1.18.14; Also account idepth in clock interrupt handlers (which are registered directly by isr_add_custom()) and use the idepth value for CLKF_INTR().
|
1.17 |
| 04-Dec-2007 |
tsutsui | Adapt sun68k ports to recent interrupt handling changes.
XXX: sun2 (m68010) doesn't have CAS instructions.
|
1.16 |
| 03-Dec-2007 |
ad | branches: 1.16.2; 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.15 |
| 07-Nov-2007 |
ad | Merge tty changes from the vmlocking branch.
|
1.14 |
| 11-Mar-2007 |
tsutsui | branches: 1.14.16; 1.14.18; 1.14.22; 1.14.24; - use splraise4(), which is defined in psl.h - use splraise6() rather than spl6() for splzs() and splserial()
|
1.13 |
| 11-Mar-2007 |
thorpej | - 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.12 |
| 16-Feb-2007 |
ad | branches: 1.12.2; 1.12.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.11 |
| 23-Jan-2007 |
tsutsui | Two fixes to avoid lost softintr (probably caused by some race condition): - make sh_pending in struct softintr_handler volatile - activate softintr unconditionally in softintr_schedule()
|
1.10 |
| 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.9 |
| 05-Oct-2006 |
tsutsui | Minor cleanups before isr.c merge with sun3: - include <m68k/cpu.h> rather than <m68k/m68k.h> in <sun68k/cpu.h> - wrap M68K_VAC definition with #ifndef _SUN3X_ in <sun68k/cpu.h> - move setsoftnet() macro from <sun68k/cpu.h> to <sun68k/intr.h> - move declarations for isr_soft_request() and isr_soft_clear() from sun2/include/intr.h to <sun68k/intr.h> - remove extern keyword from function declarations
|
1.8 |
| 07-Aug-2006 |
tsutsui | branches: 1.8.4; 1.8.6; Workaround fix for a problem caused after IPL_* macro changes. Based on a patch from mrg on port-sun2.
|
1.7 |
| 29-Mar-2006 |
yamt | implement splraiseipl() for sun2 and sun3. reviewed by Izumi Tsutsui.
|
1.6 |
| 16-Feb-2006 |
perry | branches: 1.6.2; 1.6.4; 1.6.6; 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.5 |
| 24-Dec-2005 |
perry | branches: 1.5.2; 1.5.4; 1.5.6; Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
|
1.4 |
| 11-Dec-2005 |
christos | merge ktrace-lwp.
|
1.3 |
| 23-Jan-2005 |
chs | branches: 1.3.8; move spl*() and IPL_* definitions from psl.h to intr.h.
|
1.2 |
| 22-Jan-2005 |
chs | de-__P, remove register, ansify, b* -> mem*, u_int*_t -> uint*_t.
|
1.1 |
| 14-Jun-2001 |
fredette | branches: 1.1.8; 1.1.24; 1.1.32; Added sources for the sun2 boot blocks and other sun68k-ish code, all of which ought to eventually be shared with the sun3.
|
1.1.32.1 |
| 29-Apr-2005 |
kent | sync with -current
|
1.1.24.1 |
| 24-Jan-2005 |
skrll | Sync with HEAD.
|
1.1.8.2 |
| 14-Jun-2001 |
fredette | Added sources for the sun2 boot blocks and other sun68k-ish code, all of which ought to eventually be shared with the sun3.
|
1.1.8.1 |
| 14-Jun-2001 |
fredette | file intr.h was added on branch nathanw_sa on 2001-06-14 12:57:12 +0000
|
1.3.8.7 |
| 04-Feb-2008 |
yamt | sync with head.
|
1.3.8.6 |
| 07-Dec-2007 |
yamt | sync with head
|
1.3.8.5 |
| 15-Nov-2007 |
yamt | sync with head.
|
1.3.8.4 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.3.8.3 |
| 26-Feb-2007 |
yamt | sync with head.
|
1.3.8.2 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.3.8.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.5.6.1 |
| 22-Apr-2006 |
simonb | Sync with head.
|
1.5.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.5.2.1 |
| 18-Feb-2006 |
yamt | sync with head.
|
1.6.6.1 |
| 31-Mar-2006 |
tron | Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
|
1.6.4.1 |
| 19-Apr-2006 |
elad | sync with head - hopefully this will work
|
1.6.2.2 |
| 11-Aug-2006 |
yamt | sync with head
|
1.6.2.1 |
| 01-Apr-2006 |
yamt | sync with head.
|
1.8.6.4 |
| 23-Oct-2006 |
yamt | add splsoftserial and splserial.
|
1.8.6.3 |
| 06-Oct-2006 |
tsutsui | Sync files of recent sun3 and sun68k merge and intersil7170(4) changes with HEAD to build sun3 kernel on this branch.
|
1.8.6.2 |
| 19-Sep-2006 |
yamt | implement new api for sun2.
|
1.8.6.1 |
| 19-Sep-2006 |
yamt | revert old version of splraiseipl().
|
1.8.4.3 |
| 01-Feb-2007 |
ad | Sync with head.
|
1.8.4.2 |
| 12-Jan-2007 |
ad | Sync with head.
|
1.8.4.1 |
| 18-Nov-2006 |
ad | Sync with head.
|
1.12.6.2 |
| 03-Dec-2007 |
ad | Sync with HEAD.
|
1.12.6.1 |
| 13-Mar-2007 |
ad | Sync with head.
|
1.12.2.1 |
| 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.14.24.3 |
| 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.14.24.2 |
| 08-Dec-2007 |
mjf | Sync with HEAD.
|
1.14.24.1 |
| 19-Nov-2007 |
mjf | Sync with HEAD.
|
1.14.22.1 |
| 13-Nov-2007 |
bouyer | Sync with HEAD
|
1.14.18.3 |
| 23-Mar-2008 |
matt | sync with HEAD
|
1.14.18.2 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.14.18.1 |
| 08-Nov-2007 |
matt | sync with -HEAD
|
1.14.16.2 |
| 09-Dec-2007 |
jmcneill | Sync with HEAD.
|
1.14.16.1 |
| 11-Nov-2007 |
joerg | Sync with HEAD.
|
1.16.2.1 |
| 08-Dec-2007 |
ad | Sync with head.
|
1.18.14.2 |
| 27-Jun-2008 |
simonb | Sync with head.
|
1.18.14.1 |
| 18-Jun-2008 |
simonb | Sync with head.
|
1.18.12.1 |
| 23-Jun-2008 |
wrstuden | Sync w/ -current. 34 merge conflicts to follow.
|
1.18.10.1 |
| 04-May-2009 |
yamt | sync with head.
|
1.18.8.1 |
| 17-Jun-2008 |
yamt | sync with head.
|
1.18.6.1 |
| 29-Jun-2008 |
mjf | Sync with HEAD.
|
1.20.114.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.
|