Thanks Uwe, That was it! I added 'option IRQ_SLOT_COUNT=3' to the Config.lb in the target directory of my board, and that did the trick. I now get IRQs assigned to all 3 devices I intended to. Very nice!
As a side note, I noticed that only 2 boards came with IRQ_SLOT_COUNT in their Config.lb's. Was this option recently made mandatory? If so, we need a sweep to update the LBv2 Config.lb files.
thanks! -Jonathan
----- Original Message ---- From: Uwe Hermann uwe@hermann-uwe.de To: Jonathan Sturges jonathansturges@yahoo.com Cc: LinuxBIOS mailing list linuxbios@linuxbios.org Sent: Sunday, September 16, 2007 5:31:13 PM Subject: Re: [LinuxBIOS] Missing IRQ table entries; irq_tables.c problem?
On Sun, Sep 16, 2007 at 12:31:09PM -0700, Jonathan Sturges wrote:
Hi, I'm missing something obvious and need someone to point me in the right direction.
I'm finishing up mapping IRQs on a CS5530 winterminal board I've got. I know the IRQ mappings of each on-board device and slot, and I put together my irq_tables.c accordingly. However, only the first 2 entries get written to the IRQ table, even though the file designates 3. Then, when I boot the LB image, I get this warning: Inconsistent IRQ routing table size (0x40/0x50)
The 0x50 makes sense; that's the "32+16*3" from my irq_tables.c. But where is the size being set to 0x40? It seems there's a configuration I missed somewhere.
There's
default IRQ_SLOT_COUNT=2
(or similar) in the Options.lb of your board.
const struct irq_routing_table intel_irq_routing_table = { PIRQ_SIGNATURE, /* u32 signature */ PIRQ_VERSION, /* u16 version */ 32+16*3, /* there can be total 3 devices on the bus */
So this should be
32+16*IRQ_SLOT_COUNT
This may or may not fix your issue. Please report back if it does.
Uwe.
On Sun, Sep 16, 2007 at 06:56:55PM -0700, Jonathan Sturges wrote:
Thanks Uwe, That was it! I added 'option IRQ_SLOT_COUNT=3' to the Config.lb in the target directory of my board, and that did the trick. I now get IRQs assigned to all 3 devices I intended to. Very nice!
Nice, indeed! Does everything else work on your board? Either way, please post a patch so we can add it to the repository.
As a side note, I noticed that only 2 boards came with IRQ_SLOT_COUNT in their Config.lb's. Was this option recently made mandatory? If so, we need a sweep to update the LBv2 Config.lb files.
Not sure, but we should probably only change this if we can test it. IIRC, most boards have IRQ_SLOT_COUNT in Options.lb, but not all of them use that value in irq_table.c, but hardcode another value instead. That should be fixed indeed.
Uwe.
On 9/16/07, Jonathan Sturges jonathansturges@yahoo.com wrote:
As a side note, I noticed that only 2 boards came with IRQ_SLOT_COUNT in their Config.lb's. Was this option recently made mandatory? If so, we need a sweep to update the LBv2 Config.lb files.
This option was always needed, due to bugs in the transition to gcc 3.0 a long time ago. Many people get by without it.
We don't need it in v3.
ron