History log of /src/sys/arch/mac68k/mac68k/intr.c |
Revision | | Date | Author | Comments |
1.36 |
| 28-Feb-2024 |
thorpej | Fix up the mac68k interrupt handlers to work with the new style common clockframe layout and remove the CLOCK_FORMAT0 work-around. As a nice side-effect, this also eliminates the super-sketchy stack unwinding used by rtclock_intr to get at the interrupt stack frame.
|
1.35 |
| 19-Jan-2024 |
thorpej | Now that we've agreed on the name "intr_depth", let's agree on the type, too.
|
1.34 |
| 19-Jan-2024 |
thorpej | Consistently use "intr_depth" as the name of the interrupt depth counter on m68k platforms.
|
1.33 |
| 20-Dec-2023 |
thorpej | Remove unnecessary <sys/malloc.h> include.
|
1.32 |
| 02-Apr-2021 |
rin | For ports with __HAVE_LEGACY_INTRCNT, turn intrcnt[] and derived variables into u_int, to match with kern/subr_evcnt.c.
|
1.31 |
| 21-Jul-2020 |
rin | branches: 1.31.2; 1.31.4; For GCC8, do not omit frame pointer for intr_dispatch() and via1_intr() (-fomit-frame-pointer is enabled for -O and higher for GCC8).
This is required by rtclock_intr() which unwinds stack frame of caller!
XXXXXX We need to get rid of this hackest hack for rtclock_intr(). This problem was discussed back in 2014:
http://mail-index.netbsd.org/port-mac68k/2014/08/15/msg000595.html http://mail-index.netbsd.org/port-mac68k/2014/08/17/msg000600.html http://mail-index.netbsd.org/port-mac68k/2014/08/17/msg000601.html
However, unfortunately, the problem has been left untouched until today.
The patch attached in the third message works around the problem. But, it adds hard-coded magic numbers to intr_dispatch() and via1_intr(). For real fix, we should probably reconsider whole interrupt handling.
Anyway, now kernel compiled by GCC8 works fine as far as I can see.
|
1.30 |
| 19-Feb-2019 |
mrg | convert 'extern long intrnames' to 'extern char intrnames[MAX_INAME_LENGTH]'. also, assert that MAX_INAME_LENGTH is not larger than eintrnames - intrnames.
fixes gcc 7's object size checker checks. tested by martin@.
|
1.29 |
| 20-Dec-2010 |
matt | branches: 1.29.60; Move counting of faults, traps, intrs, soft[intr]s, syscalls, and nswtch from uvmexp to per-cpu cpu_data and move them to 64bits. Remove unneeded includes of <uvm/uvm_extern.h> and/or <uvm/uvm.h>.
|
1.28 |
| 19-Jun-2008 |
tsutsui | branches: 1.28.18; Unify splraiseipl(9) implementation among m68k ports as per suggestion from isaki@ on port-m68k.
For mac68k: - rename mac68k_ipls[] to common ipl2psl_table[] - make makeiplcookie() return PSL bits via ipl2psl_table[] rather than IPL_FOO indexes
|
1.27 |
| 28-Apr-2008 |
martin | branches: 1.27.2; 1.27.4; Remove clause 3 and 4 from TNF licenses
|
1.26 |
| 05-Dec-2007 |
tsutsui | branches: 1.26.12; 1.26.14; 1.26.16; Restore ipl settings for AV class Macs.
|
1.25 |
| 03-Dec-2007 |
ad | branches: 1.25.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.24 |
| 08-Mar-2007 |
tsutsui | branches: 1.24.2; 1.24.18; 1.24.20; 1.24.26; MI softintr(9)'fy. Probably problematic, but LC630 is running at single user.
|
1.23 |
| 27-Nov-2005 |
yamt | branches: 1.23.26; implement splraiseipl() for the following ports. evbppc, evbmips, evbsh3, hp700, mac68k, vax, x68k.
|
1.22 |
| 16-Jun-2005 |
jmc | branches: 1.22.2; 1.22.8; Shadowing and const fixes.
|
1.21 |
| 05-Mar-2005 |
chs | remove some more __P that I missed before.
|
1.20 |
| 15-Jan-2005 |
chs | branches: 1.20.2; 1.20.4; de-__P, remove register, ansify, b* -> mem*.
|
1.19 |
| 15-Jul-2003 |
lukem | __KERNEL_RCSID()
|
1.18 |
| 27-Sep-2002 |
provos | branches: 1.18.6; remove trailing \n in panic(). approved perry.
|
1.17 |
| 12-Apr-2001 |
thorpej | branches: 1.17.2; 1.17.8; splimp -> splhigh for frobbing the netisr.
|
1.16 |
| 05-Jul-2000 |
scottr | branches: 1.16.2; Revert a bit of the last change to make this compile again.
|
1.15 |
| 02-Jul-2000 |
cgd | Kwality control: * put #includes of opt headers and headers to get protos used by net/netisr_dispatch.h in net/netisr.h (if !defined(_LOCORE)) (rather than in netisr_dispatch.h itself, and potentially nowhere, respectively). * require netisr.h to be included before netisr_dispatch.h. * minor additional cleanup of both netisr.h and netisr_dispatch.h. * clean up uses to remove now-unnecessary header file inclusions, and local prototypes of the fns. * convert netisr dispatch implementations which didn't use netisr_dispatch.h (pc532) to use it.
|
1.14 |
| 29-Jun-2000 |
mrg | remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
|
1.13 |
| 21-Feb-2000 |
erh | Define the DONETISR macro and use netisr_dispatch.h. This is to cut down on code duplication and to standardize the available NETISRs across all ports.
|
1.12 |
| 21-Feb-2000 |
scottr | Correct some temporary confusion between the IOPs and the OSS: move IOP init back to mac68k_init(). We'll deal with the OSS later.
|
1.11 |
| 21-Feb-2000 |
scottr | Explicitly include headers needed by iopreg.h
|
1.10 |
| 21-Feb-2000 |
scottr | Initialize VIA/IOP/PSC from intr_init().
|
1.9 |
| 06-Nov-1999 |
scottr | Change the behavior of spladb() so that it raises the IPL only high enough to block ADB interrupts.
|
1.8 |
| 28-Oct-1999 |
scottr | Rearrange a little bit for consistency with spl(9); add splserial() check to intr_computeipl().
|
1.7 |
| 04-Aug-1999 |
thorpej | branches: 1.7.2; 1.7.4; 1.7.6; Use an array for PSL values, rather than individual shortwords, like the hp300 port.
|
1.6 |
| 28-Jun-1999 |
itojun | - Call ip6intr if INET6 is defined. - remove "need-flag" for mac68k esp driver, as it is not used in anywhere and conflicts with IPsec ESP header.
This should be the only MD change in IPv6 support, except kernel config file. Very sorry if you have any compilation problem with it (I believe it is okay). If your favorite arch is not included in here, please add a call to ip6intr() from softintr handle.
|
1.5 |
| 28-Jun-1999 |
briggs | Unfortunately, several changes that are intermingled: - Add initial IOP support. ADB doesn't work yet for me, but it's here so that others will be encouraged to work on it. ADB_HW_IOP basically is configured as a NOP so that serial consoles will continue to work. - Roll via1_intr and via2_intr into the intr.c scheme--this also required changing rtclock_intr to grovel the stack differently so that hardclock gets the right arguments and softclock() doesn't get all reentrant. - Make via1 interrupts parallel to via2 interrupts--handlers get a pass- through pointer and we can register handlers. Register via1 interrupt with intr_establish()--normally level 1, level 6 for A/UX scheme. - Use intr_establish() to set real via2 interrupt handler instead of the hacked function pointer. - Reorganize adb-direct interrupts so that a function call is removed. - Implement A/UX interrupts for all Quadras right now. We may need to special case some Quadras, but Linux folks are reporting success on several models. - Fix intrnames to be accurate for the normal, PSC, and A/UX interrupt configurations.
|
1.4 |
| 24-Mar-1999 |
mrg | branches: 1.4.4; 1.4.6; completely remove Mach VM support. all that is left is the all the header files as UVM still uses (most of) these.
|
1.3 |
| 28-Feb-1999 |
scottr | branches: 1.3.2; Move all IPL setup to intr.c, and do some sanity checking.
|
1.2 |
| 25-Aug-1998 |
scottr | The return value from intr_dispatch() is no longer necessary.
|
1.1 |
| 12-Aug-1998 |
scottr | New framework for handling processor interrupts, derived in part from the hp300 port.
- Interrupts 3-6 use this immediately. Interrupt 7 is a special case, and the VIA interrupts (1 and 2) will be addressed when that code is rototilled.
- Modify the zs front end to register with the appropriate interrupt controller: through the PSC on the AV Quadras, and direct to interrupt 4 on the rest. Arrange to have the appropriate zsc_softc supplied to us at interrupt time.
- Modify the direct ADB driver (and its PowerManager cousin) to call intr_dispatch(), rather than zshard(). XXX This is a kludge, but at least limits the brokenness to the ADB drivers, now.
As a side effect, this should fix PR 5590. Thanks to Bill Studenmund for correctly determining the cause of the problem reported there.
|
1.3.2.3 |
| 09-Nov-1999 |
scottr | Sync with main branch.
|
1.3.2.2 |
| 01-Nov-1999 |
scottr | Sync with main branch.
|
1.3.2.1 |
| 16-May-1999 |
scottr | Sync with main branch.
|
1.4.6.2 |
| 30-Nov-1999 |
itojun | bring in latest KAME (as of 19991130, KAME/NetBSD141) into kame branch just for reference purposes. This commit includes 1.4 -> 1.4.1 sync for kame branch.
The branch does not compile at all (due to the lack of ALTQ and some other source code). Please do not try to modify the branch, this is just for referenre purposes.
synchronization to latest KAME will take place on HEAD branch soon.
|
1.4.6.1 |
| 28-Jun-1999 |
itojun | KAME/NetBSD 1.4 SNAP kit, dated 19990628.
NOTE: this branch (kame) is used just for refernce. this may not compile due to multiple reasons.
|
1.4.4.1 |
| 01-Jul-1999 |
thorpej | Sync w/ -current.
|
1.7.6.1 |
| 27-Dec-1999 |
wrstuden | Pull up to last week's -current.
|
1.7.4.1 |
| 15-Nov-1999 |
fvdl | Sync with -current
|
1.7.2.2 |
| 21-Apr-2001 |
bouyer | Sync with HEAD
|
1.7.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.16.2.1 |
| 21-Jun-2001 |
nathanw | Catch up to -current.
|
1.17.8.2 |
| 18-Oct-2002 |
nathanw | Catch up to -current.
|
1.17.8.1 |
| 12-Apr-2001 |
nathanw | file intr.c was added on branch nathanw_sa on 2002-10-18 02:38:22 +0000
|
1.17.2.1 |
| 10-Oct-2002 |
jdolecek | sync kqueue with -current; this includes merge of gehenna-devsw branch, merge of i386 MP branch, and part of autoconf rototil work
|
1.18.6.7 |
| 11-Dec-2005 |
christos | Sync with head.
|
1.18.6.6 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.18.6.5 |
| 08-Mar-2005 |
skrll | Sync with HEAD.
|
1.18.6.4 |
| 17-Jan-2005 |
skrll | Sync with HEAD.
|
1.18.6.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.18.6.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.18.6.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.20.4.1 |
| 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.20.2.1 |
| 29-Apr-2005 |
kent | sync with -current
|
1.22.8.1 |
| 29-Nov-2005 |
yamt | sync with head.
|
1.22.2.3 |
| 07-Dec-2007 |
yamt | sync with head
|
1.22.2.2 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.22.2.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.23.26.1 |
| 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.24.26.1 |
| 08-Dec-2007 |
mjf | Sync with HEAD.
|
1.24.20.1 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.24.18.1 |
| 09-Dec-2007 |
jmcneill | Sync with HEAD.
|
1.24.2.1 |
| 03-Dec-2007 |
ad | Sync with HEAD.
|
1.25.2.1 |
| 08-Dec-2007 |
ad | Sync with head.
|
1.26.16.2 |
| 04-May-2009 |
yamt | sync with head.
|
1.26.16.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.26.14.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.26.12.2 |
| 29-Jun-2008 |
mjf | Sync with HEAD.
|
1.26.12.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.27.4.1 |
| 27-Jun-2008 |
simonb | Sync with head.
|
1.27.2.1 |
| 23-Jun-2008 |
wrstuden | Sync w/ -current. 34 merge conflicts to follow.
|
1.28.18.1 |
| 05-Mar-2011 |
rmind | sync with head
|
1.29.60.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.31.4.1 |
| 03-Apr-2021 |
thorpej | Sync with HEAD.
|
1.31.2.1 |
| 03-Apr-2021 |
thorpej | Sync with HEAD.
|