On 30 Sep 2003, Eric W. Biederman wrote:
There are boards that a pirq routing table simply
does not work
for, because not all interrupts go through the pirq router. For those
boards we either we need to just go through the mptable, or we
need to pre route the irqs and fill in the routing in pci space.
Pre routing the irqs is the most compatible with multiple kernels and
still worse, there are those cases (Linux) where the interpretation of
PIRQ is broken (e.g. for Geode). So I've reluctantly come to the
conclusion that LinuxBIOS should do this routing.
Once we get that we can figure out how to export
via the LinuxBIOS table, the mptable, and pirq table. I am tempted at
that point to move the mptable and pirq table generation code into
mkelfImage, and to start looking at having the kernel support the
LinuxBIOS table directly.
we need to leave them in LinuxBIOS, I think, so that I can continue to
support 9load, plan 9, and all the other systems that want to read PIRQ. I
would hate to see mkelfImage get too complicated, as I need to be able to
generate these elf Images on systems that have no GNUbin utilities.
mkelfImage 2.x does not have a binutils requirement, except when it is built.
mkelfImage 2.x is a standalone C binary.
Removing the non native interface from the core is something I'm playing with.
It is not something I care about much either was as long as we have a
good native interface. But it should not much matter if we actually
pre route the irqs. As suggested for the Geode.
In addition if we have maintain a subset of the kernel that
understands native LinuxBIOS tables then we define the proper
interpretation of the tables and we can say who has the correct
But I totally agree this is something we need to move forward slowly with.