Commit Graph

73 Commits

Author SHA1 Message Date
mark
4285910912 Implement faster method of blocking all lower priority interrupts.
Modify current_spl_level to reflect the temporary change in interrupt
priority level which dispatching.
Don't increment the interrupt stats for every handler in the interrupt chain.
Cleaned up a number of comments.
Define soft interrupt names.
A few miscellaneous tidy ups.
1998-09-05 04:05:31 +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
6d3d8a1350 Make copyright notices with my name consistent. 1998-08-15 03:02:31 +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
36af051383 Update functions that missed the previous name space change. 1998-07-05 23:31:16 +00:00
thorpej
46320bb017 Clean up the bus space function namespace somewhat; make sure they don't
collide with function names used in other parts of the kernel.
1998-06-28 07:27:51 +00:00
mark
2c1cbdae75 Moved delay() from machdep.c to iomd_clock.c as delay will be dependant
on the system timers being used.
1998-06-02 21:57:58 +00:00
mark
bdfeab3714 Merge in UVM support from Neil Carson <neil@causality.com>. 1998-06-02 20:41:46 +00:00
mark
f9042ff05b Guard the PS/2 mouse attachment and ARM7500 IOC check with the
CPU_ARM7500 macro.
1998-04-17 18:44:09 +00:00
mark
af29a19dd0 Fix the interrupt number for the PS/2 mouse port on the ARM7500
(from David Forbes).
1998-04-10 06:54:30 +00:00
mark
447623df53 Correct the values of IOMD_MSDATA and IOMD_MSCR as they are 4 times too
big. Spotted by David Forbes.
1998-04-10 06:53:08 +00:00
mark
b2286e384a Include machine/asm.h and use the macros from there for declaring
the function entry points.
Removed some redundant .req statements.
1998-04-01 23:09:06 +00:00
mark
268d889d0d Make the floppy_read_fiq and floppy_write_fiq entry points non-profiling. 1998-04-01 22:53:32 +00:00
mark
7f98e08105 Remove some redundant .req statements. 1998-04-01 22:52:24 +00:00
mark
653457f11b Remove the variable oldtm from diagnostic printf() statement as this
variable no longer exists.
1998-03-26 21:27:12 +00:00
mark
cd0f9898b5 Fix problems with microsecond timestamping in microtime().
Remove some old dead code.
1998-03-26 20:07:18 +00:00
mark
26634e5f83 Cleaned up the IOMD access macros. 1998-03-26 20:05:49 +00:00
mark
6fa49296d7 Include machine/asm.h. Removed un-necessary .req directives. Use the
ENTRY() macro for declaring function entry points.
1998-03-26 20:05:13 +00:00
mark
854d928a14 Fix typo in a DMA dummy stub function. 1998-02-21 23:09:37 +00:00
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