Home | History | Annotate | Download | only in include
History log of /src/sys/arch/pmax/include/intr.h
RevisionDateAuthorComments
 1.34  20-Feb-2011  matt Merge forward from matt-nb5-mips64.
New interrupt code.
mips64 support for DS5000/260.
 1.33  14-Mar-2009  dsl branches: 1.33.4; 1.33.6; 1.33.8;
Remove all the __P() from sys (excluding sys/dist)
Diff checked with grep and MK1 eyeball.
i386 and amd64 GENERIC and sys still build.
 1.32  04-Jan-2008  ad branches: 1.32.10; 1.32.18; 1.32.24; 1.32.28;
Don't pull in unrelated headers.
 1.31  03-Dec-2007  ad branches: 1.31.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.30  17-Oct-2007  garbled branches: 1.30.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.29  17-Jun-2007  tsutsui branches: 1.29.8; 1.29.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.28  16-Feb-2007  ad branches: 1.28.6; 1.28.8; 1.28.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.27  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.26  11-Dec-2005  christos branches: 1.26.20; 1.26.22;
merge ktrace-lwp.
 1.25  11-Jan-2005  simonb branches: 1.25.10;
Switch from intrcnt interrupt account to event counters.
 1.24  25-May-2003  tsutsui branches: 1.24.2;
Switch to use mips/softintr.c for softintr(9).
 1.23  27-Aug-2001  nisimura branches: 1.23.6;
Count and record memory error interrupts with evcnt(9).
 1.22  22-Aug-2001  nisimura Forgot to commit changes of intrcnt[] array and its indices.
 1.21  22-Aug-2001  nisimura NetBSD/pmax now has GENERIC_SOFT_INTERRUPTS.
 1.20  13-Apr-2001  thorpej branches: 1.20.2;
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.19  12-Apr-2001  thorpej splvec.splimp -> splvec.splvm
 1.18  14-Jan-2001  thorpej branches: 1.18.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.17  22-Aug-2000  thorpej Add spllock(). See spl(9) for details.
 1.16  21-Aug-2000  thorpej Make sure we provide splsched() as described in spl(9).
 1.15  11-Apr-2000  nisimura Change to have cpu_intr() peculiar to DECstations; have ssir global
variable and cpu_intr() body in machdep.c. Reorder and rename
model specific interrupt handler arguments. Fixup machine/intr.h and
machine/cpu.h appropriately.
 1.14  03-Apr-2000  soda splsoftnet() should block softclock() too.
 1.13  10-Mar-2000  nisimura Arrange 'vmstat -i' to show 'optslotN'; for interrupt counts of TC slot N
as well as DECsystem 5100 optional serial card slot N.
 1.12  29-Feb-2000  nisimura - Have SYS_DEV_xxx device cookie symbols to select and install proper
interrupt handlers into intrtab[] array, rather than the idea of devices
in 'psuedo' TURBOchannel slots.
- Nuke symbols for psuedo TC slots.
- Abandon never/unlikely used intr_disestablish()s.
 1.11  14-Jan-2000  simonb Redo interrupt establishment, based in part on work on the
[nisimura-pmax-wscons] branch and suggestions from Toru Nisimura:
- Remove bogus tc_slot_info[] name for interrupt handling array
and replace with simplified struct intrhand intrtab[] array.
- Add intr_establish() and intr_disestablish() function pointers
to struct platform and initialise this in each model-specific
initialisation, and remove global tc_enable_interrupt function
pointer.
- Remove model-specific function declarations from ibus/ibusvar.h.
This is functionally identical to the current scheme, and doesn't
yet try to commonise interrupt establishment by bus type as the
[nisimura-pmax-wscons] branch does.

Also, move cpuspeed variable from autoconf.c to machdep.c
 1.10  09-Jan-2000  ad - Fix RCS Ids.
- Spacing.
- Protect from multiple inclusion in a consistant way (except on headers
that do nothing except function as mips header wrappers).
 1.9  08-Jan-2000  simonb Function prototype cleanup.
 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  31-May-1999  nisimura - Call _splnone() explicitely after auto config. was well done to make
sure SOFT_INTs cleared before interrupt processing is started.
 1.6  25-May-1999  nisimura - Rework spl(9) implementation. Use _spl*() processor mask manipulating
routines now reside in locore.S. No functional difference is expected.
- Replace abused splx() abuse with _splset() to change MIPS processor
interrupt mask bit. 'mips/trap.c' side will be fixed soon.
 1.5  25-Aug-1998  nisimura branches: 1.5.2; 1.5.10;
Make spl(9) rountines target port dependent. delay() is also port
dependent anticipating a target with high resolution timer available
for on-the-fly re-programming. Enum decstation_t was removed from MI
trap.c.
 1.4  30-Mar-1998  jonathan Define IPL_ constants for pmax.
 1.3  25-Mar-1998  jonathan Split sys/arch/pmaxpmax/{machdep.c,trap.c} as suggested by Jason Thorpe:
* add "Platform" support inpmax/pmax/sysconf.c and pmax/include/sysconf.h
(based on Alpha cpuconf.[ch], with a namechange to avoid clashes with
support for models of MIPS cpus. They differ more than Alphas).

* For each supported model of DECstation, create a separate file
with the support for that model. Use model codenames, since
support is really baseboard-specific and CPU daugherboards can change.
Move code from machdep.c and pmax_trap.c,
Add sysconf (nee "cpuconf") support.

* Rename model-specific functions to match sysconf names.

* Clean up autoconf.c. Use platform callbacks.

* Retire pmax_trap.c.

Leaves I/O bus configuration and console configuration untouched.
 1.2  05-Jan-1998  perry RCSID Police.
 1.1  26-Oct-1997  jonathan branches: 1.1.2;
<machine/intr.h> is required. Supply an empty one.
VS: ----------------------------------------------------------------------
 1.1.2.2  26-Oct-1997  jonathan <machine/intr.h> is required. Supply an empty one.
VS: ----------------------------------------------------------------------
 1.1.2.1  26-Oct-1997  jonathan file intr.h was added on branch netbsd-1-3 on 1997-10-26 10:41:33 +0000
 1.5.10.1  21-Jun-1999  thorpej Sync w/ -current.
 1.5.2.5  12-Nov-1999  nisimura Sync. w/ main trunk changes.
 1.5.2.4  06-Aug-1999  nisimura - Define spllowersoftclock() as _spllower() and change splsoftclock()
definition to have _splraise(). This cured of severe clock slip
observed for months.
 1.5.2.3  11-Jun-1999  nisimura - Track main trunk changes and cleanup accumulated bozos I made so far.
 1.5.2.2  22-Jan-1999  nisimura - Sync with various changes recently done in main trunk.
 1.5.2.1  15-Oct-1998  nisimura - Reflect new internals.
 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.18.2.1  21-Jun-2001  nathanw Catch up to -current.
 1.20.2.2  13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.20.2.1  25-Aug-2001  thorpej Merge Aug 24 -current into the kqueue branch.
 1.23.6.2  27-Aug-2001  nisimura Count and record memory error interrupts with evcnt(9).
 1.23.6.1  27-Aug-2001  nisimura file intr.h was added on branch nathanw_sa on 2001-08-27 02:00:17 +0000
 1.24.2.1  17-Jan-2005  skrll Sync with HEAD.
 1.25.10.5  21-Jan-2008  yamt sync with head
 1.25.10.4  07-Dec-2007  yamt sync with head
 1.25.10.3  03-Sep-2007  yamt sync with head.
 1.25.10.2  26-Feb-2007  yamt sync with head.
 1.25.10.1  30-Dec-2006  yamt sync with head.
 1.26.22.4  23-Oct-2006  yamt define splserial()
 1.26.22.3  24-Sep-2006  yamt add IPL_STATCLOCK.
 1.26.22.2  24-Sep-2006  yamt add missing IPL_ definitions.
 1.26.22.1  23-Sep-2006  yamt implement splraiseipl for pmax.
 1.26.20.1  12-Jan-2007  ad Sync with head.
 1.28.14.1  26-Jun-2007  garbled Sync with HEAD.
 1.28.8.1  11-Jul-2007  mjf Sync with head.
 1.28.6.4  03-Dec-2007  ad Sync with HEAD.
 1.28.6.3  03-Dec-2007  ad Sync with HEAD.
 1.28.6.2  15-Jul-2007  ad Get pmax working.
 1.28.6.1  15-Jul-2007  ad Sync with head.
 1.29.10.2  09-Jan-2008  matt sync with HEAD
 1.29.10.1  06-Nov-2007  matt sync with HEAD
 1.29.8.1  09-Dec-2007  jmcneill Sync with HEAD.
 1.30.2.2  18-Feb-2008  mjf Sync with HEAD.
 1.30.2.1  08-Dec-2007  mjf Sync with HEAD.
 1.31.6.1  08-Jan-2008  bouyer Sync with HEAD
 1.32.28.3  29-Dec-2010  matt Use MIPS_SOFT_INT_MASK instead of MIPS_SOFT_INT_MASK_0 | MIPS_SOFT_INT_MASK_1
 1.32.28.2  24-Dec-2010  matt Adapt to the new spl/interrupt framework.
Include <mips/locore.h> when needed.
 1.32.28.1  06-Feb-2010  matt <mips/softintr.h> is no longer needed.
 1.32.24.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.32.18.1  28-Apr-2009  skrll Sync with HEAD.
 1.32.10.1  04-May-2009  yamt sync with head.
 1.33.8.1  05-Mar-2011  bouyer Sync with HEAD
 1.33.6.1  06-Jun-2011  jruoho Sync with HEAD.
 1.33.4.1  05-Mar-2011  rmind sync with head

RSS XML Feed