Commit Graph

28 Commits

Author SHA1 Message Date
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
mark
c77f36a38a Idented comments correctly.
Fixed bug in microtime() that could result in incorrect microsecond
adjustments.
1996-10-15 21:35:23 +00:00
christos
ad67e04154 backout previous kprintf change 1996-10-13 16:50:51 +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
66d9ef4edb Updated with more info on the ARM7500 IOC/IOMD. 1996-08-21 20:00:50 +00:00
mark
caddfcc9e1 Make sure we have at least 1 rtc device configured otherwise
inittodr() and resettodr() will not work.
1996-08-21 19:07:19 +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
459cefbe67 Added support for the RC7500 interrupt registers
Added interrupt chaining.
Removed some dead debugging code.
Guarded several sanity checks with #ifdef DIAGNOSTIC
Make sure interrupts are disable while updating the IOMD interrupt
masks.
1996-06-12 20:19:35 +00:00
mark
13ff05d513 Don't claim the interrupts in hardclock() and statclock() but allow
them to be passed on to other interrupt handlers attached to the
timer interrupts.
1996-06-12 20:00:21 +00:00
mark
0217e55278 Fixed the softnet interrupt code to properly use netisr. 1996-06-03 22:33:51 +00:00
mark
0ba929925d Added proper definitions of quadrature mouse button register. 1996-06-03 22:03:36 +00:00
mark
2d9f11e999 Add visibale debugging info for the RC7500 board. 1996-06-03 21:41:09 +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
181c7ad5cd Added a new function fiq_getregs() to transfer the FIQ mode register
into a fiqhandler structure.
Updated fiq_setregs to use symbols in assym.h for offsets into
fiqhandler structures.
1996-05-06 00:25:43 +00:00
mark
08003631cc Rewritten floppy_read_fiq() and floppy_write_fiq() routines.
Register usage changed to free fiq mode r13.
Added loop to keep reading bytes while the floppy FIQ is asserted.
1996-05-06 00:21:05 +00:00
mark
85d47049cc Don't report time or 'clock has gain ...' message if the base time
was 0 in the inittodr() function.
1996-04-19 19:39:17 +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
7d06b49a23 Added definitions of ARM7500 IOMD. 1996-03-28 21:26:05 +00:00
mark
02aafe8ddb Define a name for the hardclock timer interrupts. 1996-03-27 21:21:59 +00:00
mark
47804c6e17 Table of interrupts names has been padded out to 14 characters so that
it can be filled in when interrupt handlers are attached. Table moved
from the text area to the data area.
1996-03-27 20:42:53 +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
6cb2a43b5e RCS Id police. 1996-03-14 23:10:59 +00:00
mark
e03778a035 Updated irq names, replaced reserved irq 1 with irq softclock. 1996-03-08 20:44:13 +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
33405882d3 The microtime() function now works fine all the time.
Removed some old commented out code.
1996-03-08 18:57:41 +00:00
mycroft
fc9d84fb46 assym.s -> assym.h
(Some ports did this already.)
1996-02-02 02:34:09 +00:00
mark
386ad2ff0f Initial commit of the NetBSD/arm32 port. 1996-01-31 23:14:53 +00:00