On 2.4.2014 23:51, Jakub Jermar wrote:
> In this approach, AFAIR, it would be primarily or exclusively the
> interrupt controller driver that would use the pseudocode. All other
> drivers would register for interrupts at the interrupt controller
> driver (itself a DDF driver) and receive interrupt notifications from
> it instead of from the kernel. So these other drivers would not
> provide pseudocode, because it would not be needed.

When thinking about it, maybe this second approach will be necessary
because of the architecture of some of the more exotic platforms.
Meaning, that each driver will be receiving interrupts from or at least
via its parent in the device tree. And that all interrupt routing will
be closely based on the device tree hierarchy.

Take, for example, MIPS Malta. On Malta, the kernel does not have a
chance to figure out the exact IRQ number unless it knows something
about the system controller (i.e. little brother Malta platform driver
in the kernel, yuck) and the buses that are attached to it. For the
kernel, all IRQs look the same (just an external interrupt vector, the
real ISA IRQ number needs to be read from a system board-specific
register), so it is reasonable to have them delivered to the Malta
platform driver, that is the only reasonable component that can actually
figure out this number and send it to the corresponding subtree.

Just typing as thoughts emerge.

Jakub



_______________________________________________
HelenOS-devel mailing list
[email protected]
http://lists.modry.cz/listinfo/helenos-devel

Reply via email to