Home | History | Annotate | Download | only in xscale
History log of /src/sys/arch/arm/xscale/ixp425_intr.c
RevisionDateAuthorComments
 1.28  20-Nov-2020  thorpej malloc(9) -> kmem(9)
 1.27  10-Nov-2019  chs branches: 1.27.8;
in many device attach paths, allocate memory with M_WAITOK instead of M_NOWAIT
and remove code to handle failures that can no longer happen.
 1.26  26-Mar-2014  christos branches: 1.26.30;
kill sprintf
 1.25  12-Nov-2012  skrll branches: 1.25.2;
C99 types
 1.24  28-Sep-2012  ryo Defer attaching interrupt evcnts in the same way as i80321.c by matt@
 1.23  01-Jul-2011  dyoung branches: 1.23.2; 1.23.8; 1.23.12;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.22  20-Dec-2010  matt 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.21  13-Jun-2010  tsutsui Apply fixes for PR port-arm/43339:
Set proper IPL_SOFTfoo values even in !FAST_SOFTINTS case.
Some assertions in MI code expect they have unique values,
per comments from rmind@.

Also cleanup various "interrupt hierarchy" code since IPL_NONE and
IPL_SOFTfoo should not be set by any hardware interrupt establish functions.

Ok'ed by mrg@, tested on shark and hpcarm.
 1.20  21-Oct-2009  rmind branches: 1.20.2; 1.20.4;
Drop 3rd and 4th clauses from Ichiro FUKUHARA's license.
Reviewed and approved by ichiro@ (copyright holder).
 1.19  27-Apr-2008  matt Merge kernel changes in matt-armv6 to HEAD.
 1.18  08-Jan-2008  matt branches: 1.18.6; 1.18.8; 1.18.10;
As of this commit, all arm32 kernel now build.
 1.17  11-Dec-2007  ad And you, be ye fruitful, and multiply; bring forth abundantly in the earth,
and multiply therein. (Genesis 9:6-8)
 1.16  03-Dec-2007  ad branches: 1.16.2; 1.16.4; 1.16.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.15  24-Nov-2006  wiz branches: 1.15.8; 1.15.24; 1.15.26; 1.15.28; 1.15.30; 1.15.36;
s/heirarchy/hierarchy/, from Zafer.
 1.14  17-May-2006  mrg branches: 1.14.8; 1.14.10;
remove 'inline' from the xxx_do_pending() function that is called from
external sources, and conflicts with it's prototype.
 1.13  10-Apr-2006  simonb Tab Police.
 1.12  24-Dec-2005  perry branches: 1.12.4; 1.12.6; 1.12.8; 1.12.10; 1.12.12;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.11  11-Dec-2005  christos merge ktrace-lwp.
 1.10  27-Feb-2004  scw branches: 1.10.16;
Must Test Before Committing...
 1.9  13-Feb-2004  scw Avoid using two 'GPIO' bits of the interrupt mask to signify soft
interrupts; some boards actually use those GPIO pins as external
interrupt sources.

Instead, assign soft interrupt bits to on-chip sources which are
not used by the IXP425 port.
 1.8  03-Dec-2003  scw In the interrupt dispatch loop, make sure to handle any pending interrupts
which came in while we were dealing with the first interrupt(s), and which
are enabled at the current spl.

This fixes a problem where the intr_enabled/hw mask is not updated to
allow pending interrupts through until the next splx(). In some case,
interrupts could be delayed until the next clock tick.
 1.7  08-Oct-2003  scw Ok, I give up for now. There's no easy/reliable way to deal with
these spurious interrupts.
 1.6  08-Oct-2003  scw Simplify the last change to just check for spurious GPIO interrupts.
 1.5  08-Oct-2003  scw If no interrupt handler claims to have dealt with a level-triggered
GPIO interrupt, check the GPIO interrupt status register after clearing
it down to see if the interrupt source has disappeared. If it does,
assume it was a spurious event. Otherwise, panic.
 1.4  08-Oct-2003  scw Make it easier to support different types of IXP425 board:

- Move board-specific PCI/GPIO initialisation to its rightful place.

- Handle clearing down latched GPIO interrupts in a board-independent way.

- Use MI com(4) driver for on-chip UARTs.

- Misc. tidying up.

Tested on IXDP425.
 1.3  25-Sep-2003  ichiro pci bus support
 1.2  16-Jun-2003  thorpej branches: 1.2.2;
Rename IPL_IMP -> IPL_VM.
 1.1  23-May-2003  ichiro support IXP425 Intel Network Processor
running on BigEndian
 1.2.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.2.2.1  03-Aug-2004  skrll Sync with HEAD
 1.10.16.4  21-Jan-2008  yamt sync with head
 1.10.16.3  07-Dec-2007  yamt sync with head
 1.10.16.2  30-Dec-2006  yamt sync with head.
 1.10.16.1  21-Jun-2006  yamt sync with head.
 1.12.12.1  24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.12.10.1  19-Apr-2006  elad sync with head - hopefully this will work
 1.12.8.2  24-May-2006  yamt sync with head.
 1.12.8.1  11-Apr-2006  yamt sync with head
 1.12.6.2  01-Jun-2006  kardel Sync with head.
 1.12.6.1  22-Apr-2006  simonb Sync with head.
 1.12.4.1  09-Sep-2006  rpaulo sync with head
 1.14.10.1  10-Dec-2006  yamt sync with head.
 1.14.8.1  12-Jan-2007  ad Sync with head.
 1.15.36.3  18-Feb-2008  mjf Sync with HEAD.
 1.15.36.2  27-Dec-2007  mjf Sync with HEAD.
 1.15.36.1  08-Dec-2007  mjf Sync with HEAD.
 1.15.30.3  28-Jan-2008  matt Given the that there are only 4 IPLs (ignoring soft IPLs), a number of
cleanups can be done:
Remove _SPL_* aliases.
Don't store irqmasks in ci_cpl, just make it an ipl level.
Add fast softint switching support.
 1.15.30.2  09-Jan-2008  matt sync with HEAD
 1.15.30.1  09-Nov-2007  matt Make all the evbarm kernels build again. Fix lossage from rebase.
 1.15.28.2  20-Jan-2008  chris Sync to HEAD.
 1.15.28.1  01-Jan-2008  chris Sync with HEAD.
 1.15.26.1  09-Dec-2007  jmcneill Sync with HEAD.
 1.15.24.2  28-Feb-2008  rjs Sync with HEAD.
 1.15.24.1  26-Dec-2007  rjs Sync with HEAD.
 1.15.8.2  03-Dec-2007  ad Sync with HEAD.
 1.15.8.1  03-Dec-2007  ad Sync with HEAD.
 1.16.6.2  08-Jan-2008  bouyer Sync with HEAD
 1.16.6.1  13-Dec-2007  bouyer Sync with HEAD
 1.16.4.1  13-Dec-2007  yamt sync with head.
 1.16.2.1  26-Dec-2007  ad Sync with head.
 1.18.10.3  11-Aug-2010  yamt sync with head.
 1.18.10.2  11-Mar-2010  yamt sync with head
 1.18.10.1  16-May-2008  yamt sync with head.
 1.18.8.1  18-May-2008  yamt sync with head.
 1.18.6.1  02-Jun-2008  mjf Sync with HEAD.
 1.20.4.2  05-Mar-2011  rmind sync with head
 1.20.4.1  03-Jul-2010  rmind sync with head
 1.20.2.1  17-Aug-2010  uebayasi Sync with HEAD.
 1.23.12.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.23.12.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.23.8.1  17-Oct-2012  riz Pull up following revision(s) (requested by tsutsui in ticket #600):
sys/arch/arm/xscale/ixp425_intr.c: revision 1.24
sys/arch/evbarm/ixdp425/ixdp425_mainbus.c: revision 1.8
sys/arch/evbarm/nslu2/nslu2_mainbus.c: revision 1.3
sys/arch/arm/xscale/ixp425var.h: revision 1.14
Defer attaching interrupt evcnts in the same way as i80321.c by matt@
 1.23.2.3  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.23.2.2  16-Jan-2013  yamt sync with (a bit old) head
 1.23.2.1  30-Oct-2012  yamt sync with head
 1.25.2.1  18-May-2014  rmind sync with head
 1.26.30.1  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.27.8.1  14-Dec-2020  thorpej Sync w/ HEAD.

RSS XML Feed