I have this problem where ACPI only recognizes 16 out of the 24
interrupts of my IOAPIC.
It's a VIA KT-400 chipset (Epox 8K9A3+), bios settings: ioapic on,
MPS-1.4. I'm using kernel 2.5.69 so my acpi-code is recent.
The relevant part of a dmesg of a acpi-2.5.69 boot:
ACPI: LAPIC_NMI (acpi_id[0x00] polarity[0x1] trigger[0x1] lint[0x1])
ACPI: IOAPIC (id[0x02] address[0xfec00000] global_irq_base[0x0])
IOAPIC[0]: Assigned apic_id 2
IOAPIC[0]: apic_id 2, version 3, address 0xfec00000, IRQ 0-23
Enabling APIC mode: Flat. Using 1 I/O APICs
init IO_APIC IRQs
IO-APIC (apicid-pin) 2-0, 2-16, 2-17, 2-18, 2-19, 2-20, 2-21, 2-22, 2-23 not connected.
..TIMER: vector=0x31 pin1=2 pin2=0
number of MP IRQ sources: 16.
number of IO-APIC #2 registers: 24.
Notice how it first says IRQ 0-23 for the APIC, then later claims that
there are 16 MP IRQ sources. Unfortunately, my on-board network card is
wired to one of the 8 lost irq's, and after booting my network is dead.
If I boot a non-acpi kernel, things look like this:
I/O APIC #2 Version 17 at 0xFEC00000.
Enabling APIC mode: Flat. Using 1 I/O APICs
ENABLING IO-APIC IRQs
Setting 2 in the phys_id_present_map
...changing IO-APIC physical APIC ID to 2 ... ok.
init IO_APIC IRQs
IO-APIC (apicid-pin) 2-0, 2-5, 2-10, 2-11, 2-20 not connected.
..TIMER: vector=0x31 pin1=2 pin2=0
number of MP IRQ sources: 24.
number of IO-APIC #2 registers: 24.
Then, there are 24 irq sources, and my network works fine.
Booting an acpi-kernel with commandline-argument 'pci=noacpi' hangs the
kernel after this line in the dmesg:
ide1 at 0x170-0x177,0x376 on irq 15
/proc/interrupts with acpi on:
CPU0
0: 7451442 IO-APIC-edge timer
1: 403 IO-APIC-edge i8042
2: 0 XT-PIC cascade
4: 8 IO-APIC-edge serial
8: 4 IO-APIC-edge rtc
9: 0 IO-APIC-edge acpi
11: 0 IO-APIC-edge VIA8233
12: 63 IO-APIC-edge i8042
14: 9161 IO-APIC-edge ide0
15: 1906 IO-APIC-edge ide1
17: 1507 IO-APIC-level ide2, ide4
18: 53 IO-APIC-level sym53c8xx
19: 0 IO-APIC-level EMU10K1
and with acpi off:
CPU0
0: 465649 IO-APIC-edge timer
1: 2511 IO-APIC-edge i8042
2: 0 XT-PIC cascade
4: 8 IO-APIC-edge serial
8: 4 IO-APIC-edge rtc
12: 63 IO-APIC-edge i8042
14: 33566 IO-APIC-edge ide0
15: 14231 IO-APIC-edge ide1
17: 6509 IO-APIC-level ide2, ide4
18: 43 IO-APIC-level sym53c8xx
19: 0 IO-APIC-level EMU10K1
22: 0 IO-APIC-level VIA8233
23: 24486 IO-APIC-level eth0
I'll attach a full dmesg for the acpi-kernel.
Googling didn't find anything to solve this, other than a tantalizing
hint this started between 2.5.44 and 2.5.44-ac1.
Thanks for your attention,
Jurriaan