Change default IO-APIC ack mode for single IO-APIC systems to old-style. --- a/xen/arch/x86/io_apic.c +++ b/xen/arch/x86/io_apic.c @@ -1559,7 +1559,7 @@ static unsigned int startup_level_ioapic return 0; /* don't check for pending */ } -int __read_mostly ioapic_ack_new = 1; +int __read_mostly ioapic_ack_new = -1; static void setup_ioapic_ack(char *s) { if ( !strcmp(s, "old") ) @@ -2062,6 +2062,8 @@ void __init setup_IO_APIC(void) else io_apic_irqs = ~PIC_IRQS; + if (ioapic_ack_new < 0) + ioapic_ack_new = (nr_ioapics > 1); printk("ENABLING IO-APIC IRQs\n"); printk(" -> Using %s ACK method\n", ioapic_ack_new ? "new" : "old");