o A minor fix to the patch which remembers the location of where i8259
is connected. Now counter i has been replaced by apic. counter i is having
some junk value which was leading to non-detection of i8259 connected to
IOAPIC.
Signed-off-by: Vivek Goyal <[email protected]>
---
diff -puN arch/x86_64/kernel/io_apic.c~kexec-memorize-where-i8259-connected-fix arch/x86_64/kernel/io_apic.c
--- linux-2.6.15-rc2-mm1-1M/arch/x86_64/kernel/io_apic.c~kexec-memorize-where-i8259-connected-fix 2005-11-24 05:49:44.000000000 -0800
+++ linux-2.6.15-rc2-mm1-1M-root/arch/x86_64/kernel/io_apic.c 2005-11-24 05:50:22.000000000 -0800
@@ -1240,7 +1240,7 @@ static void __init enable_IO_APIC(void)
for(apic = 0; apic < nr_ioapics; apic++) {
int pin;
/* See if any of the pins is in ExtINT mode */
- for(pin = 0; pin < nr_ioapic_registers[i]; pin++) {
+ for(pin = 0; pin < nr_ioapic_registers[apic]; pin++) {
struct IO_APIC_route_entry entry;
spin_lock_irqsave(&ioapic_lock, flags);
*(((int *)&entry) + 0) = io_apic_read(apic, 0x10 + 2 * pin);
diff -puN arch/i386/kernel/io_apic.c~kexec-memorize-where-i8259-connected-fix arch/i386/kernel/io_apic.c
--- linux-2.6.15-rc2-mm1-1M/arch/i386/kernel/io_apic.c~kexec-memorize-where-i8259-connected-fix 2005-11-24 05:50:38.000000000 -0800
+++ linux-2.6.15-rc2-mm1-1M-root/arch/i386/kernel/io_apic.c 2005-11-24 05:50:55.000000000 -0800
@@ -1649,7 +1649,7 @@ static void __init enable_IO_APIC(void)
for(apic = 0; apic < nr_ioapics; apic++) {
int pin;
/* See if any of the pins is in ExtINT mode */
- for(pin = 0; pin < nr_ioapic_registers[i]; pin++) {
+ for(pin = 0; pin < nr_ioapic_registers[apic]; pin++) {
struct IO_APIC_route_entry entry;
spin_lock_irqsave(&ioapic_lock, flags);
*(((int *)&entry) + 0) = io_apic_read(apic, 0x10 + 2 * pin);
_