Change default IO-APIC ack mode for single IO-APIC systems to old-style. --- 2010-01-06.orig/xen/arch/x86/io_apic.c 2009-12-17 12:20:22.000000000 +0100 +++ 2010-01-06/xen/arch/x86/io_apic.c 2010-01-06 11:17:14.000000000 +0100 @@ -1442,7 +1442,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") ) @@ -1954,6 +1954,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");