Commit Graph

29 Commits

Author SHA1 Message Date
bjh21 9c93fee83f Remove spurious inclusions of opt_cputypes.h. 2001-07-10 20:10:48 +00:00
bjh21 469339d93c Clean up some cruft left behind (but AFAIK never used) from poduleirqhandler(). 2001-07-10 00:04:30 +00:00
reinoud 8ca7d6ec9c Initial commit for merging A7000/NC with the RISCPC in order to get _one_
bootable GENERAL kernel for the 3 machines.

This is done by integrating the ARM7500 in a better way. In various places
the IOMD ID is checked and action is taken at runtime compared to
compiletime.

The small piece of assembler that is changed now uses the flag
`arm7500_ioc_found' that is set up by iomd.c at startup. When this chip
isnt found at startup it will skip reading the ARM7500 extended IRQ
registers and wont clear them either.

The next step will be getting the mode-definition files to the bootloader.
Currently they are compiled in.
2001-07-09 21:46:19 +00:00
reinoud 3500dc208f Centralise declaration of memc_base 2001-02-27 20:23:11 +00:00
reinoud d35a86c1a6 Forgot to declare iomd_base since it isnt in iomdreg.h anymore due to the
inclusion of this file in assembler.
2001-02-27 18:29:36 +00:00
mrg b564830503 remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-29 08:44:03 +00:00
mark 1b8eea513f _intrnames is only used in irq_release() if IRQ_STATS is defined so add an
appropriate guard.
1999-03-16 10:53:50 +00:00
mark f6f7ac980d Fix bug in the initialization of the interrupt masks for shared
interrupts as described in PR6421. Fix from Richard Earnshaw.
1999-01-22 06:59:26 +00:00
mark de5eac54ea Simplified initialisation of irqmasks.
Removed any remnants of soft interrupt dispatching.
Cleaned up a number of comments.
Removed a number of blank lines.
Nuked register keywords.
Made sure code is in sync with interrupt handling for other ARM hardware.
1998-09-05 04:04:24 +00:00
mark af91a82f1e Remove pv_addr_t and systempage declarations. 1998-08-27 03:58:10 +00:00
mycroft d5eb56b2c2 Move splclock and splaudio outside splimp. 1998-08-08 23:39:38 +00:00
mark 4a463e49fe defopt CPU_* options in opt_cputypes.h 1998-07-07 03:05:15 +00:00
mark c73c7674d7 defopt IRQSTATS. 1998-07-06 00:53:07 +00:00
mark ae0af9300a Fix a bug in irq_release() when searching interrupt list for the handler
to remove. The address of the pointer rather than the address of what
is pointed to was use to track the previous handler resulting in problems
when releasing a chained irq. (from John Ballance)
1997-11-07 01:04:51 +00:00
mark 06d8713b3d arm32 kernel source restructure.
- IOMD specific interrupt handling. These files are mainly the old
    arch/arm32/irq* files moved here and updated for new iomd device etc.
    (revision history maintained).
1997-10-14 11:05:58 +00:00
christos e0443987e7 Add netatalk netisr 1997-04-02 21:48:55 +00:00
mark c87f4e3785 Added the functions intr_claim() and intr_release(). These are front
ends for irq_claim() and irq_release() that will allocate and free
memory for the irqhandler structure.
Added an irqblock array that provides a quick reference to all the
interrupts that should be blocked when a particular interrupt is
received. The irq_claim() and irq_release() functions now update the
irqblock array.
1997-01-06 02:30:21 +00:00
mark ad3eed8ce3 Fixed PPP soft interrupts.
Make sure soft interrupts are only every delivered when the interrupt
depth is 1.
1996-12-27 02:01:02 +00:00
mark 092bb4bd47 Fixed type its NPPP not PPP. 1996-11-06 18:18:41 +00:00
mark 81f6df323e *Major* rewrite, long overdue.
The irq delivery code has been rewritten. On entry to the irq vector the
processor is switched to SVC32 mode so all interrupt routines now run
in SVC32 mode rather than IRQ32 mode. This fixes lots of irq re-enabling
problems.
Interrupt latency times are now vastly improved for high priority interrupts.
Cleaned up calling ast() before returning to USR32 mode (don't need to
mess about with trapframe copying.
Cleaned up all the comments and sorted out their indentation.
Rewritten the soft interrupt delivery code.
Added generic ARM7500 support rather than just RC7500 support.
1996-10-15 23:20:40 +00:00
christos ca36ac9ef4 backout previous kprintf change 1996-10-13 03:05:43 +00:00
christos 60dd5ceebe printf -> kprintf, sprintf -> ksprintf 1996-10-11 00:06:28 +00:00
mark 08ec43427f Added some sanity checks to irq_claim().
Fixed the handling of IPL_NONE.
Debugged support for interrupt chaining.
Fill out the intrnames array with the name of the interrupt handler
currently at the head of the chain.
Guarded several sanity checks with #ifdef DIAGNOSTIC.
1996-06-12 20:23:58 +00:00
mark 0217e55278 Fixed the softnet interrupt code to properly use netisr. 1996-06-03 22:33:51 +00:00
mark 938954d516 Mark interrupt handlers attached to the irq chain as active in
irq_claim().
Clear the active flag in the irq handler when it is removed from the irq
chain in irq_release().
Checks for podule IRQ's in irq_claim() are now guarded with
#if NPODULEBUS > 0
fiq_release() now retrieves the FIQ more registers and places them
back in the fiq handler structure.
1996-05-06 00:30:39 +00:00
mark e36164c8fa If the irq number passed to irq_claim()/irq_release is -1 extract
the irq number from the irqhandler structure.
1996-03-28 21:43:52 +00:00
mark 6119d33eeb Build the intrnames table from the interrupt name strings for vmstat -i
if IRQSTATS is defined.
1996-03-27 20:16:30 +00:00
mark ea1eb0f702 Added calls to spl_setmasks().
Remove the irq_setmasks() routine. This was coded in assembly months ago
and this C version is now out of date.
Added code for delivering IRQ_SOFTCLOCK.
1996-03-08 20:35:08 +00:00
mark 386ad2ff0f Initial commit of the NetBSD/arm32 port. 1996-01-31 23:14:53 +00:00