Hello,
since I'm hacking the PB3400c I ran into various issues, one
of them
was that the built-in tlp didn't work, apparently because
the interrupt
handler was never called.
Turned out the issue is a lot deeper than it looks like:
- OF lies about the IRQ pin used - claims 27 but uses 60
- the PB3400c has two interrupt controllers, our current
code finds
only one and guess which one the tlp is hooked up to.
So what I did is to frob the tlp's IRQ line to 60 in
pci_machdep.c when
finding a 2nd ohare interrupt controller and rewrite half of
extintr.c
to support the following configurations:
- single PIC with 32 lines - Grand Central, ohare etc.
- single PIC with 64 lines - Heathrow
- two PICs with 32 lines each, cascaded - 2x ohare
other configurations can be easily added.
The patch is still a bit rough but it worked well for a
couple days on
a beige G3 ( which has a Heathrow PIC ) and said PB3400c.
If nobody finds something wrong with the principle I'm going
to commit.
have fun
Michael
|