Handling interrupt routing cleanly...

Eric W. Biederman ebiederman at lnxi.com
Sun Feb 1 18:44:01 CET 2004


For random reasons I have been reading through the Open Firmware
specifications.   One in particular caught my attention the interrupt
mapping specification.  I really liked the basic structure, although
I don't think the details themselves will map cleanly to LinuxBIOS.

The basic structure was:

Each device has it's interrupt.
Each device has an interrupt parent.  
  If not specified explicitly the interrupt parent is simply up 
  the device tree but that was not required.
An interrupt parent can have an interrupt mapping table
  that maps interrupts maps device#/interrupt pairs to ids
  consumed by devices up the interrupt tree.  
  The interrupt mapping table can have a mask to reduce the
  size of the mapping table needed.

It is a very clean structure and it maps well to the LinuxBIOS
device tree.  There are few interesting complications that we
need to handle like ACPI mode versus legacy PIC mode but those
details should not be too difficult.

Once that infrastructure is implemented we should be able
to auto generate pci-irq tables, mptables, acpi interrupt tables,
and open firmware tables (Assuming we manage to export it all cleanly
from the LinuxBIOS table).

Stefan how close is the open firmware code that we could
test a port to generic LinuxBIOS.  With the LinuxBIOS table
providing this information?

Eric







More information about the coreboot mailing list