Re: interrupts across PCI bridge(s) not handled

From: Linus Torvalds
Date: Mon Nov 03 2003 - 12:06:47 EST



On Mon, 3 Nov 2003, Charles Martin wrote:
>
> I have a pci backplane extender, with 4 cards
> (named piraq) in it. The cards are detected by
> the PCI system, and irqs 92-95 are assigned,
> as shown in /var/log/messages:
>
> kernel: PCI->APIC IRQ transform: (B6,I4,P0) -> 93
> kernel: PCI->APIC IRQ transform: (B6,I6,P0) -> 95
> kernel: PCI->APIC IRQ transform: (B6,I7,P0) -> 92
> kernel: PCI->APIC IRQ transform: (B6,I9,P0) -> 94

Can you enable APIC_DEBUG debugging in "include/asm-i386/apic.h", and make
sure that you build the kernel with a big printk buffer. Then, in case
your distribution comes with a broken "dmesg" binary that doesn't show
more than about 20kB of data, compile this trivial program and run it
after bootup, and send the whole log out..

It would be a pity to have to boot with "noapic", since this is exactly
the kind of situation where you _want_ the extra interrupts.

Linus

- stupid-dmesg.c -
#include <sys/klog.h>

int main(int argc, char **argv)
{
static char buffer[128*1024];
int i;

i = klogctl(3, buffer, sizeof(buffer));
if (i > 0)
write(1, buffer, i);
}


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/