Home | History | Annotate | Download | only in isa
History log of /src/sys/arch/arm/footbridge/isa/isa_machdep.c
RevisionDateAuthorComments
 1.24  13-Aug-2021  skrll Trailing whitespace
 1.23  20-Nov-2020  thorpej malloc(9) -> kmem(9)
 1.22  10-Nov-2019  chs branches: 1.22.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.21  26-Mar-2014  christos branches: 1.21.30;
kill sprintf
 1.20  17-Nov-2013  skrll Remove unused variables.
 1.19  27-Oct-2012  chs branches: 1.19.2;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.18  01-Jul-2011  dyoung branches: 1.18.2; 1.18.12;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.17  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.16  20-Aug-2009  he branches: 1.16.2; 1.16.4;
Typo correction: it's isa_dmadestroy(), not isa_dma_destroy(), apparently.
 1.15  19-Aug-2009  dyoung isa_detach_hook() needs two arguments, the first an isa_chipset_tag_t.
 1.14  18-Aug-2009  dyoung These are stragglers from my last commit ("Let us safely detach
the ISA bus and devices attaching to the ISA bus"). Define
isa_detach_hook() in MD ISA implementations. Define isa_dmadestroy().
 1.13  18-Mar-2009  cegger Ansify function definitions w/o arguments. Generated with sed.
 1.12  16-Mar-2009  dsl ANSIfy functions with function-pointer arguments
 1.11  14-Mar-2009  dsl ANSIfy another 1261 function definitions.
The only ones left in sys are beyond by sed script!
(or in sys/dist or sys/external)
Mostly they have function pointer parameters.
 1.10  14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.9  14-Mar-2009  dsl 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.8  28-Apr-2008  martin branches: 1.8.8; 1.8.14;
Remove clause 3 and 4 from TNF licenses
 1.7  03-Dec-2007  ad branches: 1.7.14; 1.7.16; 1.7.18;
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.6  11-Dec-2005  christos branches: 1.6.30; 1.6.46; 1.6.48; 1.6.50; 1.6.52; 1.6.58;
merge ktrace-lwp.
 1.5  07-Aug-2003  agc branches: 1.5.16;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.4  16-Jun-2003  thorpej branches: 1.4.2;
Rename IPL_IMP -> IPL_VM.
 1.3  23-Mar-2003  chris Add __KERNEL_RCSID tags to footbridge files.
 1.2  03-Nov-2002  chris Checkin new interrupt handling code for the footbridge.
This is based upon Jason's work on xscale.

Most of the interrupt handling code is now written in C using an asm stub to
call into the C code.

spl* now only updates a software mask, and does not update the hardware,
this should be much faster.

The new code works well on cats, it's untested on netwinder, but should work.

The code implements generic soft interrupts.

More work is still required to bring the isa interrupt handling code upto
scratch currently all isa interrupts are handled at IPL_BIO on the footbridge.
This may cause isa interrupts to be handled later than they should be.
I plan to fix this in the near future.
 1.1  12-Oct-2002  chris branches: 1.1.2; 1.1.4; 1.1.6;
Merge isa_machdep.c from netwinder and cats into footbridge/isa (where it
joins other machdep files)
Saves maintaining multiple copies of the same thing, the only differences
were:
IRQ line used on the footbridge (made that a define in include/isa_machdep.h)
name of a dma_ranges variable contained arch name, so just made it generic.
 1.1.6.1  09-Nov-2002  bjh21 Catch up with -current.
 1.1.4.2  18-Oct-2002  jdolecek sync with -current:
Merge isa_machdep.c from netwinder and cats into footbridge/isa
 1.1.4.1  12-Oct-2002  jdolecek file isa_machdep.c was added on branch kqueue on 2002-10-18 10:55:06 +0000
 1.1.2.3  11-Nov-2002  nathanw Catch up to -current
 1.1.2.2  18-Oct-2002  nathanw Catch up to -current.
 1.1.2.1  12-Oct-2002  nathanw file isa_machdep.c was added on branch nathanw_sa on 2002-10-18 02:35:27 +0000
 1.4.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.4.2.1  03-Aug-2004  skrll Sync with HEAD
 1.5.16.1  07-Dec-2007  yamt sync with head
 1.6.58.1  08-Dec-2007  mjf Sync with HEAD.
 1.6.52.1  09-Jan-2008  matt sync with HEAD
 1.6.50.5  24-Feb-2008  chris Fix up footbridge code to work with changed arm_intr_register.

Cats now boots again.
 1.6.50.4  26-Jan-2008  chris Rename some structures, eg intrq->intrline, irqgroup->pic. A lot of
member variables have changed name to reflect this.

Change the API for registering a PIC with the common code, so that it
passes a structure to the common code, rather than lots of parameters.
 1.6.50.3  01-Jan-2008  chris Sync with HEAD.
 1.6.50.2  18-Aug-2007  chris Rework registration call, so that it no longer takes a status paramater.

Rework dispatch routines, so no implicit ordering is required in the irq
groups. This removes the primary flag, and also makes hardware dependant
dispatch routines again.

Update arm_intr_queue_irqs to disable interrupts. This is necessary when
child buses are present, eg isa bus, as the isa interrupt handler is
called with interrupts enabled, and I believe that the footbridge handler
was trampling on the isa handler setting up pending flags.

cats can now install using the update irq code (previously it would
randomly hang)
 1.6.50.1  12-Aug-2007  chris Switch footbridge isa to use common code. This required changes to the
arm code:
* intr_claim now takes a type to indicate edge, level or pulse. It has
isa level understanding of types and uses a callback to set the hardware
type.
* slightly adjust how pending interrupts are queued up.
* switch the ICU setup code to make use the defines in i8259reg.h, rather
than using magic numbers.
 1.6.48.1  09-Dec-2007  jmcneill Sync with HEAD.
 1.6.46.1  26-Dec-2007  rjs Sync with HEAD.
 1.6.30.1  03-Dec-2007  ad Sync with HEAD.
 1.7.18.5  11-Aug-2010  yamt sync with head.
 1.7.18.4  16-Sep-2009  yamt sync with head
 1.7.18.3  19-Aug-2009  yamt sync with head.
 1.7.18.2  04-May-2009  yamt sync with head.
 1.7.18.1  16-May-2008  yamt sync with head.
 1.7.16.1  18-May-2008  yamt sync with head.
 1.7.14.1  02-Jun-2008  mjf Sync with HEAD.
 1.8.14.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.8.8.1  28-Apr-2009  skrll Sync with HEAD.
 1.16.4.1  03-Jul-2010  rmind sync with head
 1.16.2.1  17-Aug-2010  uebayasi Sync with HEAD.
 1.18.12.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.18.12.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.18.2.2  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.18.2.1  30-Oct-2012  yamt sync with head
 1.19.2.1  18-May-2014  rmind sync with head
 1.21.30.1  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.22.8.1  14-Dec-2020  thorpej Sync w/ HEAD.

RSS XML Feed