2010-01-16 01:12:54 +01:00
|
|
|
Change default IO-APIC ack mode for single IO-APIC systems to old-style.
|
2009-01-25 01:23:36 +01:00
|
|
|
|
2011-08-26 18:49:33 +02:00
|
|
|
--- a/xen/arch/x86/io_apic.c
|
|
|
|
+++ b/xen/arch/x86/io_apic.c
|
|
|
|
@@ -1578,7 +1578,7 @@ static unsigned int startup_level_ioapic
|
2009-01-25 01:23:36 +01:00
|
|
|
return 0; /* don't check for pending */
|
|
|
|
}
|
|
|
|
|
2010-01-16 01:12:54 +01:00
|
|
|
-int __read_mostly ioapic_ack_new = 1;
|
|
|
|
+int __read_mostly ioapic_ack_new = -1;
|
2009-01-25 01:23:36 +01:00
|
|
|
static void setup_ioapic_ack(char *s)
|
|
|
|
{
|
|
|
|
if ( !strcmp(s, "old") )
|
2011-08-26 18:49:33 +02:00
|
|
|
@@ -2075,6 +2075,8 @@ void __init setup_IO_APIC(void)
|
2009-01-25 01:23:36 +01:00
|
|
|
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");
|
|
|
|
|