|
@@ -1507,7 +1507,10 @@ void __init enable_IO_APIC(void)
|
|
|
int i8259_apic, i8259_pin;
|
|
|
int apic, pin;
|
|
|
|
|
|
- if (!nr_legacy_irqs())
|
|
|
+ if (skip_ioapic_setup)
|
|
|
+ nr_ioapics = 0;
|
|
|
+
|
|
|
+ if (!nr_legacy_irqs() || !nr_ioapics)
|
|
|
return;
|
|
|
|
|
|
for_each_ioapic_pin(apic, pin) {
|
|
@@ -2373,9 +2376,9 @@ void __init setup_IO_APIC(void)
|
|
|
{
|
|
|
int ioapic;
|
|
|
|
|
|
- /*
|
|
|
- * calling enable_IO_APIC() is moved to setup_local_APIC for BP
|
|
|
- */
|
|
|
+ if (skip_ioapic_setup || !nr_ioapics)
|
|
|
+ return;
|
|
|
+
|
|
|
io_apic_irqs = nr_legacy_irqs() ? ~PIC_IRQS : ~0UL;
|
|
|
|
|
|
apic_printk(APIC_VERBOSE, "ENABLING IO-APIC IRQs\n");
|