x86: find nr_irqs_gsi with mp_ioapic_routing
authorYinghai Lu <yinghai@kernel.org>
Mon, 9 Feb 2009 00:18:03 +0000 (16:18 -0800)
committerIngo Molnar <mingo@elte.hu>
Mon, 9 Feb 2009 08:22:09 +0000 (09:22 +0100)
commitcc6c50066ec1ac98bef97117e2f078bb89bbccc7
treec0dcc930e94f0738e0e7a29fd1e08b81cd03554c
parentf72dccace737df74d04a96461785a3ad61724b9f
x86: find nr_irqs_gsi with mp_ioapic_routing

Impact: find right nr_irqs_gsi on some systems.

One test-system has gap between gsi's:

[    0.000000] ACPI: IOAPIC (id[0x04] address[0xfec00000] gsi_base[0])
[    0.000000] IOAPIC[0]: apic_id 4, version 0, address 0xfec00000, GSI 0-23
[    0.000000] ACPI: IOAPIC (id[0x05] address[0xfeafd000] gsi_base[48])
[    0.000000] IOAPIC[1]: apic_id 5, version 0, address 0xfeafd000, GSI 48-54
[    0.000000] ACPI: IOAPIC (id[0x06] address[0xfeafc000] gsi_base[56])
[    0.000000] IOAPIC[2]: apic_id 6, version 0, address 0xfeafc000, GSI 56-62
...
[    0.000000] nr_irqs_gsi: 38

So nr_irqs_gsi is not right. some irq for MSI will overwrite with io_apic.

need to get that with acpi_probe_gsi when acpi io_apic is used

Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/include/asm/mpspec.h
arch/x86/kernel/acpi/boot.c
arch/x86/kernel/io_apic.c