diff options
Diffstat (limited to 'arch/x86/kernel/apic/io_apic.c')
-rw-r--r-- | arch/x86/kernel/apic/io_apic.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c index 9ab97622b8e..f8072557157 100644 --- a/arch/x86/kernel/apic/io_apic.c +++ b/arch/x86/kernel/apic/io_apic.c | |||
@@ -89,6 +89,9 @@ int nr_ioapics; | |||
89 | /* IO APIC gsi routing info */ | 89 | /* IO APIC gsi routing info */ |
90 | struct mp_ioapic_gsi mp_gsi_routing[MAX_IO_APICS]; | 90 | struct mp_ioapic_gsi mp_gsi_routing[MAX_IO_APICS]; |
91 | 91 | ||
92 | /* The last gsi number used */ | ||
93 | u32 gsi_end; | ||
94 | |||
92 | /* MP IRQ source entries */ | 95 | /* MP IRQ source entries */ |
93 | struct mpc_intsrc mp_irqs[MAX_IRQ_SOURCES]; | 96 | struct mpc_intsrc mp_irqs[MAX_IRQ_SOURCES]; |
94 | 97 | ||
@@ -4312,6 +4315,9 @@ void __init mp_register_ioapic(int id, u32 address, u32 gsi_base) | |||
4312 | mp_gsi_routing[idx].gsi_end = gsi_base + | 4315 | mp_gsi_routing[idx].gsi_end = gsi_base + |
4313 | io_apic_get_redir_entries(idx) - 1; | 4316 | io_apic_get_redir_entries(idx) - 1; |
4314 | 4317 | ||
4318 | if (mp_gsi_routing[idx].gsi_end > gsi_end) | ||
4319 | gsi_end = mp_gsi_routing[idx].gsi_end; | ||
4320 | |||
4315 | printk(KERN_INFO "IOAPIC[%d]: apic_id %d, version %d, address 0x%x, " | 4321 | printk(KERN_INFO "IOAPIC[%d]: apic_id %d, version %d, address 0x%x, " |
4316 | "GSI %d-%d\n", idx, mp_ioapics[idx].apicid, | 4322 | "GSI %d-%d\n", idx, mp_ioapics[idx].apicid, |
4317 | mp_ioapics[idx].apicver, mp_ioapics[idx].apicaddr, | 4323 | mp_ioapics[idx].apicver, mp_ioapics[idx].apicaddr, |