Home | History | Annotate | Download | only in include
History log of /src/sys/arch/sh3/include/intr.h
RevisionDateAuthorComments
 1.26  21-Mar-2009  uwe Interrupt handling changes (revision 1.23) bumped down _IPL_N to 8 for
some reason. Restore it to correct 16.

HTF did hpcsh work all this time with hd6446x_imask[_IPL_N] indexed
with IPLs 0..15 is a mistery... Discovered by accidentally triggering
hd64461 timer interrupt that is not enabled and should have been
masked.

_IPL_N used to be *also incorrect* 15 before Andy's change, which
makes one wonder if dumb luck is severly underappreciated.
 1.25  28-Apr-2008  martin branches: 1.25.8; 1.25.10; 1.25.14;
Remove clause 3 and 4 from TNF licenses
 1.24  04-Jan-2008  uwe branches: 1.24.6; 1.24.8; 1.24.10;
G/c bogus includes that do nothing but add circular dependency between
intr.h and mutex.h
 1.23  03-Dec-2007  ad branches: 1.23.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.22  24-Jan-2006  uwe branches: 1.22.28; 1.22.46; 1.22.48; 1.22.54;
EVTCODE_TO_MAP_INDEX - tweak to help gcc produce better code.
 1.21  11-Dec-2005  christos branches: 1.21.2;
merge ktrace-lwp.
 1.20  16-Aug-2005  nonaka Added SH7751{,R} integrated PCI controller support.
 1.19  04-Nov-2003  uwe branches: 1.19.16;
Redo a quick hack for intc_intr_disable() and intc_intr_enable() to have
a saner interface/semantic.
 1.18  18-Oct-2003  uwe Make intc_intr_priority() return old level. While here, make the code
more compact by factoring out register update to happen in one place,
outside the switch statements.

Add intc_intr_disable() and intc_intr_enable().
 1.17  28-Apr-2002  uch branches: 1.17.6; 1.17.12;
Use "#define<tab>", white space nits.
 1.16  24-Mar-2002  uch Rework interrupt code.
+ Fully utilize SH SR.I[0:3] interrupt level.
+ software interrupt is emulated by TMU1, 2 one shot interrupt.
+ implement generic soft interrupts.
+ implement clockframe correctly.
 1.15  03-Mar-2002  uch branches: 1.15.2;
SR related parts moved to psl.h. cpufunc.h segments.h are removed.
kernel mode checking is only SR.MD. no check stack pointer.
 1.14  19-Feb-2002  uch Clean up functions
disable_intr, enable_intr, disable_interrupt, enable_interrupt,
disable_ext_intr, enable_ext_intr.
New functions:
for external interrupt:
_cpu_intr_suspend and _cpu_intr_resume.
for exception:
_cpu_exception_suspend and _cpu_exception_resume.
 1.13  12-Feb-2002  uch ANSIfy KNF.
 1.12  16-Sep-2001  wiz Spell 'occurred' with two 'r's.
 1.11  13-Apr-2001  thorpej branches: 1.11.2; 1.11.4;
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  21-Aug-2000  thorpej Make sure we provide splsched() as described in spl(9).
 1.7  17-Aug-2000  msaitoh add an INTEVT code for WDT
 1.6  06-Jul-2000  msaitoh make spllower() return void.
 1.5  13-Apr-2000  msaitoh branches: 1.5.4;
move the Interrput Priority Level (IPL_*) definitions into MD part.
 1.4  24-Feb-2000  msaitoh multiple interrputs!!!
 1.3  27-Dec-1999  msaitoh fix missing SCI IRQ mask/unmask code.
 1.2  14-Sep-1999  tsubai branches: 1.2.2;
Catch up with -current.
 1.1  13-Sep-1999  itojun Merge in NetBSD/sh3 from cvs.kame.net repository.

Tree structure:
- sys/arch/sh3: sh3 generic code
As commented, in-chip device drivers are put into sys/arch/sh3/dev.
- sys/arch/evbsh3: sh3 evaluation boards (pure sh3 CPU, no fancy external HW)
- sys/arch/mmeye: Brains mmEye, www.brains.co.jp
MI source code includes couple of #ifdef for sh3-coff support.
(sh3 uses coff or elf)

Needs some more improvements, especialy in sys/arch/sh3/conf/files.sh3,
to compile the tree (due to last minute tree structure change).
 1.2.2.3  21-Apr-2001  bouyer Sync with HEAD
 1.2.2.2  18-Jan-2001  bouyer Sync with head (for UBC+NFS fixes, mostly).
 1.2.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.5.4.1  08-Aug-2000  msaitoh Pullup revision 1.6 (approved by thorpej):

fix the return value of the spllower() to void.
 1.10.2.1  21-Jun-2001  nathanw Catch up to -current.
 1.11.4.1  01-Oct-2001  fvdl Catch up with -current.
 1.11.2.3  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.11.2.2  16-Mar-2002  jdolecek Catch up with -current.
 1.11.2.1  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.15.2.1  17-Mar-2002  thorpej IPL_IMP -> IPL_VM
 1.17.12.4  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.17.12.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.17.12.2  18-Sep-2004  skrll Sync with HEAD.
 1.17.12.1  03-Aug-2004  skrll Sync with HEAD
 1.17.6.2  28-Apr-2002  uch Use "#define<tab>", white space nits.
 1.17.6.1  28-Apr-2002  uch file intr.h was added on branch nathanw_sa on 2002-04-28 17:10:36 +0000
 1.19.16.3  21-Jan-2008  yamt sync with head
 1.19.16.2  07-Dec-2007  yamt sync with head
 1.19.16.1  21-Jun-2006  yamt sync with head.
 1.21.2.1  01-Feb-2006  yamt sync with head.
 1.22.54.2  18-Feb-2008  mjf Sync with HEAD.
 1.22.54.1  08-Dec-2007  mjf Sync with HEAD.
 1.22.48.1  09-Jan-2008  matt sync with HEAD
 1.22.46.1  09-Dec-2007  jmcneill Sync with HEAD.
 1.22.28.1  03-Dec-2007  ad Sync with HEAD.
 1.23.6.1  08-Jan-2008  bouyer Sync with HEAD
 1.24.10.2  04-May-2009  yamt sync with head.
 1.24.10.1  16-May-2008  yamt sync with head.
 1.24.8.1  18-May-2008  yamt sync with head.
 1.24.6.1  02-Jun-2008  mjf Sync with HEAD.
 1.25.14.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.25.10.1  24-Mar-2009  snj Pull up following revision(s) (requested by uwe in ticket #591):
sys/arch/sh3/include/intr.h: revision 1.26
Interrupt handling changes (revision 1.23) bumped down _IPL_N to 8 for
some reason. Restore it to correct 16.
HTF did hpcsh work all this time with hd6446x_imask[_IPL_N] indexed
with IPLs 0..15 is a mistery... Discovered by accidentally triggering
hd64461 timer interrupt that is not enabled and should have been
masked.
_IPL_N used to be *also incorrect* 15 before Andy's change, which
makes one wonder if dumb luck is severly underappreciated.
 1.25.8.1  28-Apr-2009  skrll Sync with HEAD.

RSS XML Feed