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 @@ -2136,7 +2136,10 @@ void __init setup_IO_APIC(void) io_apic_irqs = ~PIC_IRQS; printk("ENABLING IO-APIC IRQs\n"); - printk(" -> Using %s ACK method\n", ioapic_ack_new ? "new" : "old"); + if (!directed_eoi_enabled && !ioapic_ack_forced) { + ioapic_ack_new = (nr_ioapics > 1); + printk(" -> Using %s ACK method\n", ioapic_ack_new ? "new" : "old"); + } if (ioapic_ack_new) { ioapic_level_type.ack = irq_complete_move;