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 11:42:59 +0000 (12:42 +0100)
commit3f4a739c6accd651a11fcf3c7a20ec8147c42660
treea96659b8ad16ffc9c96846413128e1b7413918d8
parente736ad548db152776de61d7a26805cfae77ce5ce
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