Home | History | Annotate | Download | only in include
History log of /src/sys/arch/cobalt/include/intr.h
RevisionDateAuthorComments
 1.33  20-Feb-2011  matt Merge forward from matt-nb5-mips64.
(XXX generic kernels on raq2 die after interrupts are enabled but gxemul
works fine).
 1.32  01-Oct-2008  uebayasi branches: 1.32.12; 1.32.16; 1.32.22; 1.32.24;
Typo in a comment.
 1.31  22-Mar-2008  tsutsui branches: 1.31.4; 1.31.6; 1.31.10;
Reorganize interrupt handling on cobalt and allow multiple interrupts on
each icu irq to support multi function PCI devices in the Qube's PCI slot:

- split out interrupt stuff from machdep.c into new interrupt.c
- prepare struct *_intrhead to handle cpu and icu interrupts
- use LIST and malloc(9) to handle multiple interrupts per icu irq
(mostly taken from algor/pci/pcib.c and evbmips/malta/pci/pcib.c)
- move evcnt(9) stuff into *_intrhead from cobalt_intrhand
(i.e. make it per interrupt rather than per handler)
- in pci_intr_map(9) handle CPU interrupt separately and add a sanity check
- fixup interrupt lines for devices on the PCI slot in pci_conf_interrupt(9)
- move some device address definitions into <machine/cpu.h> and
remove <machine/leds.h>
- misc cosmetics

No objection on port-cobalt for three weeks.
 1.30  04-Jan-2008  ad branches: 1.30.6;
Fix includes.
 1.29  03-Dec-2007  ad branches: 1.29.6;
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.28  17-Oct-2007  garbled branches: 1.28.2;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.27  17-Jun-2007  tsutsui branches: 1.27.8; 1.27.10;
Move declaretions of _spl*() and _{clr,set}softintr() functions
(which are in mips/locore.S) into <mips/locore.h>
from various MD files.
 1.26  27-May-2007  tsutsui Reorder IPL_SOFTSERIAL and IPL_SOFTCLOCK properly.
 1.25  16-Feb-2007  ad branches: 1.25.6; 1.25.8; 1.25.14;
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.24  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.23  07-Sep-2006  gdamore branches: 1.23.2; 1.23.4;
Convert to common mips3_cp0_counter clock.
Convert to timecounters.

From Rivo Nurges (rix at estpak dot ee). ok soren@, tested by simon@.
Note that this means we aren't using the gt clock, and maybe we should clean
that up a bit.
 1.22  18-Jul-2006  tsutsui - always enable options MIPS3_ENABLE_CLOCK_INTR so that spllowerclock(9)
works properly
(XXX: the real fix is to implement proper CLFK_BASEPRI())
- prepare an independent statclock(9) handler which use MIPS3 CPU internal
clock interrupt. Enabled by options ENABLE_INT5_STATCLOCK, but not enabled
by default.
 1.21  31-May-2006  tsutsui Cleanup ICU (i8259 compatible PIC) interrupt handling code:
- move ICU interrupt stuff from pci/pcib.h to cobalt/machdep.c
because ICU should be initialized before pcib is attached
- initialize ICU more properly
- check interrupt types and set ELCR (edge/level control registers)
accordingly in icu_intr_establish()
- check requested IRQ line and call only a necessary hander in icu_intr()
- use specific EOI to ack interrupts rather than AEOI
- use macro defined in <dev/ic/i8259reg.h>
 1.20  21-Apr-2006  tsutsui branches: 1.20.2;
Account interrupts by evcnt(9).
 1.19  21-Apr-2006  tsutsui - add prefix ih_ to cookie_type member in struct cobalt_intrhand
- clear the cookie type in disestablish functions
- some cosmetics
 1.18  21-Apr-2006  tsutsui - remove "extern" from function declarations
- remove unused intrcnt[] declaration
 1.17  04-Jan-2006  tsutsui branches: 1.17.2; 1.17.4; 1.17.6; 1.17.8; 1.17.10;
Add spllpt() macro for lpt at puc. Requrested by Florian Stoehr.

XXX: IMHO, MI lpt(4) should not use such its own priority level...
 1.16  11-Dec-2005  christos branches: 1.16.2;
merge ktrace-lwp.
 1.15  12-Sep-2003  tsutsui branches: 1.15.16;
Use common mips generic software interrupt routines.
 1.14  12-Sep-2003  tsutsui Protect against multiple inclusion.
 1.13  12-Sep-2003  tsutsui TAB/space cleanup.
 1.12  16-Jun-2003  thorpej branches: 1.12.2;
Rename IPL_IMP -> IPL_VM.
 1.11  13-Jan-2002  augustss branches: 1.11.4;
Implement pci_intr_disestablish().
 1.10  13-Apr-2001  thorpej branches: 1.10.2; 1.10.8;
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  14-Jan-2001  thorpej branches: 1.9.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.8  22-Aug-2000  thorpej branches: 1.8.2;
Add spllock(). See spl(9) for details.
 1.7  21-Aug-2000  thorpej Make sure we provide splsched() as described in spl(9).
 1.6  05-May-2000  soren Add licenses.
 1.5  28-Apr-2000  soren Adapt to cpu_intr() change.
 1.4  03-Apr-2000  soda splsoftnet() should block softclock() too.
 1.3  31-Mar-2000  soren Some cleanups.
 1.2  21-Mar-2000  soren Blocking soft interrupts can be useful..
 1.1  19-Mar-2000  soren NetBSD/cobalt. Work-in-progress.
 1.8.2.4  21-Apr-2001  bouyer Sync with HEAD
 1.8.2.3  18-Jan-2001  bouyer Sync with head (for UBC+NFS fixes, mostly).
 1.8.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.8.2.1  22-Aug-2000  bouyer file intr.h was added on branch thorpej_scsipi on 2000-11-20 20:07:05 +0000
 1.9.2.1  21-Jun-2001  nathanw Catch up to -current.
 1.10.8.2  28-Feb-2002  nathanw Catch up to -current.
 1.10.8.1  13-Apr-2001  nathanw file intr.h was added on branch nathanw_sa on 2002-02-28 04:08:47 +0000
 1.10.2.1  11-Feb-2002  jdolecek Sync w/ -current.
 1.11.4.1  17-Mar-2002  thorpej IPL_IMP -> IPL_VM
 1.12.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.12.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.12.2.1  03-Aug-2004  skrll Sync with HEAD
 1.15.16.7  24-Mar-2008  yamt sync with head.
 1.15.16.6  21-Jan-2008  yamt sync with head
 1.15.16.5  07-Dec-2007  yamt sync with head
 1.15.16.4  03-Sep-2007  yamt sync with head.
 1.15.16.3  26-Feb-2007  yamt sync with head.
 1.15.16.2  30-Dec-2006  yamt sync with head.
 1.15.16.1  21-Jun-2006  yamt sync with head.
 1.16.2.1  15-Jan-2006  yamt sync with head.
 1.17.10.1  24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.17.8.1  11-May-2006  elad sync with head
 1.17.6.4  14-Sep-2006  yamt sync with head.
 1.17.6.3  11-Aug-2006  yamt sync with head
 1.17.6.2  26-Jun-2006  yamt sync with head.
 1.17.6.1  24-May-2006  yamt sync with head.
 1.17.4.2  01-Jun-2006  kardel Sync with head.
 1.17.4.1  22-Apr-2006  simonb Sync with head.
 1.17.2.1  09-Sep-2006  rpaulo sync with head
 1.20.2.1  19-Jun-2006  chap Sync with head.
 1.23.4.1  23-Sep-2006  yamt implement splraiseipl for cobalt.
 1.23.2.1  12-Jan-2007  ad Sync with head.
 1.25.14.1  26-Jun-2007  garbled Sync with HEAD.
 1.25.8.1  11-Jul-2007  mjf Sync with head.
 1.25.6.3  03-Dec-2007  ad Sync with HEAD.
 1.25.6.2  15-Jul-2007  ad Sync with head.
 1.25.6.1  09-Jun-2007  ad Sync with head.
 1.27.10.2  09-Jan-2008  matt sync with HEAD
 1.27.10.1  06-Nov-2007  matt sync with HEAD
 1.27.8.1  09-Dec-2007  jmcneill Sync with HEAD.
 1.28.2.2  18-Feb-2008  mjf Sync with HEAD.
 1.28.2.1  08-Dec-2007  mjf Sync with HEAD.
 1.29.6.1  08-Jan-2008  bouyer Sync with HEAD
 1.30.6.2  05-Oct-2008  mjf Sync with HEAD.
 1.30.6.1  03-Apr-2008  mjf Sync with HEAD.
 1.31.10.1  19-Oct-2008  haad Sync with HEAD.
 1.31.6.1  10-Oct-2008  skrll Sync with HEAD.
 1.31.4.1  04-May-2009  yamt sync with head.
 1.32.24.1  05-Mar-2011  bouyer Sync with HEAD
 1.32.22.1  06-Jun-2011  jruoho Sync with HEAD.
 1.32.16.1  05-Mar-2011  rmind sync with head
 1.32.12.2  28-Feb-2010  matt Adapt to new common interrupts.
Enable cobalt64
 1.32.12.1  06-Feb-2010  matt <mips/softintr.h> is no longer needed.

RSS XML Feed