Commit Graph

51 Commits

Author SHA1 Message Date
mark 56fc27b288 Removed unused variables for the benefit of -Wall -Werror. 1998-01-18 03:39:23 +00:00
thorpej 687449a900 Update for changes to config. 1998-01-13 02:09:58 +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 9065e731d6 arm32 kernel source retructure
- New versions of the drivers for the devices that really are IOMD
    specific. The old arm32/mainbus drivers have either been rewritten
    and are now child devices of the IOMD or they have been restructured
    and split into generic drivers will IOMD specific attachments.
1997-10-14 11:16:35 +00:00
mark 480bd07ef8 arm32 kernel source restructure
- IOMD specific clock support. This used to the the generic ARM clock
    support but is now specific to the IOMD device.
  - Updated to support new IOMD device etc.
1997-10-14 11:09:56 +00:00
mark b841a746a6 arm32 kernel source restructure
- IOMD register definitions moved from arm32/include/
  - Updated for new IOMD device and all now base relative.
1997-10-14 11:08:45 +00:00
mark b478812b9b arm32 kernel source restructure
- Implement basic DMA support for the IOMD device.
1997-10-14 11:06:56 +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
mark 59b6709696 arm32 kernel source restructure
- Create an independ IOMD device that can be utilised by all ARM
    architectures that use an IOMD.
  - Configure all IOMD child devices based on the IOMD type and features.
1997-10-14 10:58:48 +00:00
mark 90d4f588a0 arm32 kernel source restructure
- Moved from arch/arm32/arm32 to IOMD specific home retaining history.
1997-10-14 10:40:27 +00:00
mark 0e8ba1b90b Overhauled and updated to work with dev/clock_subr.[ch] 1997-07-31 01:08:01 +00:00
christos e0443987e7 Add netatalk netisr 1997-04-02 21:48:55 +00:00
mark 187f8c7c3d Remove local definitions of macros to push and pull trapframes and instead
include machine/frame.h to get these definitions.
1997-02-10 03:50:53 +00:00
mark e626201c12 Adopt as standard, the instruction sequence for storing the trapframe that
includes the workaround from the SA110 STM^ bug. This allows one piece of
code to be used to store the trapframe on all CPU types.
1997-02-04 06:49:08 +00:00
perry b89a3425b7 Eliminate obsolete TIMEZONE and DST options.
Eliminate obsolete global kernel variable "struct timezone tz"
Add RTC_OFFSET option
Add global kernel variable rtc_offset, which is initialized by
RTC_OFFSET at kernel compile time.
on i386, x68k, mac68k, pc532 and arm32, RTC_OFFSET indicates how many
minutes west (east) of GMT the hardware RTC runs. Defaults to 0.
Places where tz variable was used to indicate this in the past have
been replaced with rtc_offset.
Add sysctl interface to rtc_offset.
Kill obsolete DST_* macros in sys/time.h
gettimeofday now always returns zeroed timezone if zone is requested.
settimeofday now ignores and logs attempts to set non-existant kernel
timezone.
1997-01-15 01:28:28 +00:00
mark fd643704d1 Minor changes (inline -> __inline)) 1997-01-06 04:47:53 +00:00
mark bc3f67bb21 Use the irqblock array to provide the information about which interrupts
should be blocked for each irq currently asserted.
1997-01-06 02:35:46 +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 9c855e4d1b Provide alternative trapframe push and pull macros from the StrongARM.
These alternative macros have a workaround for the STM^ bug in revision < 3
StrongARM CPU's that causes incorrect register saving if a cache line fill
is in progress during the STM.
1996-11-23 04:02:40 +00:00
mark 5debc61be1 Added IOMD_ID macro to return the 16bit IOMD ID code. 1996-11-23 03:21:43 +00:00
mark 092bb4bd47 Fixed type its NPPP not PPP. 1996-11-06 18:18:41 +00:00
mark 7824cc4e83 Added definitions of the IOMD DMA registers. 1996-10-29 23:14:34 +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
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