Re: Sun4c interrupt controller, MMU, IOMMU?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On Sun, 12 Aug 2007, David Miller wrote:

From: "Blue Swirl" <blauwirbel@xxxxxxxxx>
Date: Sun, 12 Aug 2007 11:21:30 +0300

On 8/12/07, David Miller <davem@xxxxxxxxxxxxx> wrote:
Specifically, how are the interrupts routed, which interrupts (ZS,
ESP, Lance, timers, floppy, cgthree) go through the interrupt
controller?

There is no interrupt controller, the individual devices and
SBUS slot interrupt sources are wired up directly to the cpu.

Then what device is poked by arch/sparc/kernel/sun4c_irq.c, I thought
this was the controller?

It's similar to an interrupt controller, and it can mask certain
interrupts.

Two key features that the Solaris kernel has specific coding for are:

1) Level 15 interrupts can't be masked so Solaris has a counter to keep track of how many times its level 15 interrupt has been interrupted :).

2) On some (if not all) sun4c hardware, interrupts can get through when the interrupt mask is being changed to a higher level. Solaris checks the interrupt level and if it is higher that that required for the interrupt, it just returns from the interrupt as the processor will get interrupted again, properly, as soon as the interrupt mask is lowered to a sufficient level to alow the interrupt to be processed properly.

The Linux interrupt handler probably does the same sort of things but as yet, I have not taken a sufficiently close look at it to confirm this. It may need tweeking.

Regards
	Mark Fortescue.
-
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Development]     [DCCP]     [Linux ARM Development]     [Linux]     [Photo]     [Yosemite Help]     [Linux ARM Kernel]     [Linux SCSI]     [Linux x86_64]     [Linux Hams]

  Powered by Linux