Probably solved or worked around: 2.6.37 says WARNING: at arch/x86/kernel/apic/apic.c:1287setup_local_APIC+0x18f/0x263()

From: wzab
Date: Thu Jun 16 2011 - 15:49:40 EST


I had similar problems as reported in https://bugzilla.kernel.org/show_bug.cgi?id=27642

I was using buildroot buildroot-2011.02 with kernel 2.6.37.2 on virtual machine inside of QEMU
The warning shown in the subject further lead to incorrect routing of IRQs from PCI devices
connected withg QEMU's option "-device DEVICE_NAME".

The warning was reported as:
------------[ cut here ]------------
WARNING: at arch/x86/kernel/apic/apic.c:1287 setup_local_APIC+0x22a/0x34d()
Hardware name: Bochs
Modules linked in:
Pid: 0, comm: kworker/0:0 Tainted: G W 2.6.37 #3
Call Trace:
[<c102f318>] ? warn_slowpath_common+0x78/0xb0
[<c12ebde5>] ? setup_local_APIC+0x22a/0x34d
[<c12ebde5>] ? setup_local_APIC+0x22a/0x34d
[<c102f36b>] ? warn_slowpath_null+0x1b/0x20
[<c12ebde5>] ? setup_local_APIC+0x22a/0x34d
[<c12eb0d8>] ? start_secondary+0xd3/0x1c1
---[ end trace 4eaa2a86a8e2da23 ]---

And IRQs were routed as follows:

wzab_enc1 0000:00:04.0: PCI->APIC IRQ transform: INT A -> IRQ 35
mmio_start=f2060000, mmio_end=f2060fff, mmio_len=1000, irq=35

IRQ35 was not available in the emulated system so driver was not able to request it.

The problem disappeared, after I have switched on the following options in kernel configuration:
CONFIG_PM=y
CONFIG_ACPI=y

I have verified, that this resulted in automatic selection of option
CONFIG_PCI_IOAPIC=y

After recompilation of kernel, I don't get the mentioned warning during the boot
and IRQs are routed correctly:
ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 11
wzab_enc1 0000:00:04.0: PCI INT A -> Link[LNKD] -> GSI 11 (level, high) -> IRQ 11
mmio_start=f2060000, mmio_end=f2060fff, mmio_len=1000, irq=11

--
HTH & Regards,
Wojtek





--
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/