History log of /src/sys/arch/atari/include/intr.h |
Revision | | Date | Author | Comments |
1.25 |
| 19-Jan-2024 |
thorpej | Now that we've agreed on the name "intr_depth", let's agree on the type, too.
|
1.24 |
| 19-Jan-2024 |
thorpej | Consistently use "intr_depth" as the name of the interrupt depth counter on m68k platforms.
|
1.23 |
| 11-Jul-2023 |
riastradh | atari/intr.h: Expose ipl_cookie_t with _KMEMUSER for crash(8).
|
1.22 |
| 02-Apr-2021 |
rin | branches: 1.22.16; For ports with __HAVE_LEGACY_INTRCNT, turn intrcnt[] and derived variables into u_int, to match with kern/subr_evcnt.c.
|
1.21 |
| 08-Jul-2009 |
tsutsui | branches: 1.21.76; 1.21.78; Merge local <atari/atari/intr.h> into common <machine/intr.h>.
|
1.20 |
| 05-Mar-2009 |
tsutsui | Remove __P().
|
1.19 |
| 27-Dec-2008 |
tsutsui | branches: 1.19.2; Account idepth in all interrupt handlers in locore.s.
|
1.18 |
| 28-Jun-2008 |
isaki | branches: 1.18.4; 1.18.6; Unify splraiseipl(9) implementation among m68k ports, discussed with tsutsui@ on port-m68k. OK'ed by jdc@.
For atari: - 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) - vme/if_le_vme.c: fix a wrong usage of IPL_NET
|
1.17 |
| 28-Apr-2008 |
martin | branches: 1.17.2; 1.17.4; Remove clause 3 and 4 from TNF licenses
|
1.16 |
| 03-Dec-2007 |
ad | branches: 1.16.14; 1.16.16; 1.16.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.15 |
| 21-Mar-2007 |
tsutsui | branches: 1.15.12; 1.15.14; 1.15.20; Apply MI softintr(9) patch before it becomes rotten. Untested. See also: http://mail-index.netbsd.org/port-atari/2007/03/07/0000.html
|
1.14 |
| 11-Mar-2007 |
thorpej | branches: 1.14.2; 1.14.4; - 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.13 |
| 16-Feb-2007 |
ad | branches: 1.13.2; 1.13.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.12 |
| 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.11 |
| 13-Apr-2001 |
thorpej | branches: 1.11.8; 1.11.40; 1.11.70; 1.11.72; 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.10 |
| 14-Jan-2001 |
thorpej | branches: 1.10.2; 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.9 |
| 22-Aug-2000 |
thorpej | Add spllock(). See spl(9) for details.
|
1.8 |
| 05-Aug-1999 |
thorpej | branches: 1.8.2; 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.
|
1.7 |
| 18-Jul-1998 |
is | Switching dev/ic/lpt.c to use spllpt() instead of spltty(). It doesn't use tty structures, and on some machines (namely the DraCo internal lpt, and some multi-i/o boards for Amigas and DraCos), tying spltty to the pretty high printer interupt level would hurt serial performance.
On all affected ports but Amiga, spllpt() has been defined in machine/intr.h to be spltty(), thus preserving old behaviour. Portmasters are encouraged to change is, if they feel something else is better (e.g., one of its own were possible).
|
1.6 |
| 25-May-1998 |
leo | Fix some severe bogons in the pci and isa interrupt system.
|
1.5 |
| 09-Oct-1997 |
jtc | Fix tipo inherited from old version of TNF copyright template.
|
1.4 |
| 29-Aug-1997 |
leo | Pull in Scott Reynolds' version of _splraise(). Also do a bit of typographic cleanup while visting this file.
|
1.3 |
| 05-Jun-1997 |
leo | branches: 1.3.4; Implement and use splraise().
|
1.2 |
| 15-Mar-1997 |
is | New ARP system, supports IPv4 over any hardware link.
Some of the stuff (e.g., rarpd, bootpd, dhcpd etc., libsa) still will only support Ethernet. Tcpdump itself should be ok, but libpcap needs lot of work.
For the detailed change history, look at the commit log entries for the is-newarp branch.
|
1.1 |
| 26-Feb-1997 |
leo | branches: 1.1.2; Move all spl-related stuff to the new file intr.h. The latter file also contains some generic defines used by the drivers in dev/[pci|isa].
|
1.1.2.2 |
| 12-Mar-1997 |
is | Merge in Changes from The Trunk.
|
1.1.2.1 |
| 26-Feb-1997 |
is | file intr.h was added on branch is-newarp on 1997-03-12 14:46:52 +0000
|
1.3.4.2 |
| 14-Oct-1997 |
thorpej | Update marc-pcmcia branch from trunk.
|
1.3.4.1 |
| 01-Sep-1997 |
thorpej | Update marc-pcmcia branch from trunk.
|
1.8.2.3 |
| 21-Apr-2001 |
bouyer | Sync with HEAD
|
1.8.2.2 |
| 18-Jan-2001 |
bouyer | Sync with head (for UBC+NFS fixes, mostly).
|
1.8.2.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.11.72.2 |
| 05-Nov-2006 |
yamt | add IPL_VM.
|
1.11.72.1 |
| 05-Nov-2006 |
yamt | splraiseipl/makeiplcookie for atari.
|
1.11.70.1 |
| 12-Jan-2007 |
ad | Sync with head.
|
1.11.40.4 |
| 07-Dec-2007 |
yamt | sync with head
|
1.11.40.3 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.11.40.2 |
| 26-Feb-2007 |
yamt | sync with head.
|
1.11.40.1 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.11.8.2 |
| 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.8.1 |
| 13-Apr-2001 |
thorpej | file intr.h was added on branch nathanw_sa on 2001-04-13 23:30:00 +0000
|
1.13.6.3 |
| 03-Dec-2007 |
ad | Sync with HEAD.
|
1.13.6.2 |
| 10-Apr-2007 |
ad | Sync with head.
|
1.13.6.1 |
| 13-Mar-2007 |
ad | Sync with head.
|
1.13.2.2 |
| 24-Mar-2007 |
yamt | sync with head.
|
1.13.2.1 |
| 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.14.4.1 |
| 29-Mar-2007 |
reinoud | Pullup to -current
|
1.14.2.1 |
| 11-Jul-2007 |
mjf | Sync with head.
|
1.15.20.1 |
| 08-Dec-2007 |
mjf | Sync with HEAD.
|
1.15.14.1 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.15.12.1 |
| 09-Dec-2007 |
jmcneill | Sync with HEAD.
|
1.16.18.3 |
| 18-Jul-2009 |
yamt | sync with head.
|
1.16.18.2 |
| 04-May-2009 |
yamt | sync with head.
|
1.16.18.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.16.16.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.16.14.3 |
| 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.16.14.2 |
| 29-Jun-2008 |
mjf | Sync with HEAD.
|
1.16.14.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.17.4.1 |
| 03-Jul-2008 |
simonb | Sync with head.
|
1.17.2.1 |
| 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
1.18.6.1 |
| 06-Jan-2009 |
snj | Pull up following revision(s) (requested by tsutsui in ticket #219): sys/arch/atari/include/intr.h: revision 1.19 sys/arch/atari/atari/locore.s: revision 1.102 sys/arch/atari/atari/intr.c: revision 1.16 Account idepth in all interrupt handlers in locore.s.
|
1.18.4.2 |
| 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.18.4.1 |
| 19-Jan-2009 |
skrll | Sync with HEAD.
|
1.19.2.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.21.78.1 |
| 03-Apr-2021 |
thorpej | Sync with HEAD.
|
1.21.76.1 |
| 03-Apr-2021 |
thorpej | Sync with HEAD.
|
1.22.16.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.
|