x86, ioapic, acpi: add a knob to disable IRQ 0 through I/O APIC
authorMaciej W. Rozycki <macro@linux-mips.org>
Tue, 1 Jul 2008 00:11:35 +0000 (01:11 +0100)
committerIngo Molnar <mingo@elte.hu>
Tue, 8 Jul 2008 09:10:32 +0000 (11:10 +0200)
commit471694ea6c6ccdf7131354f1d698d4d83a605293
treeb2fbc18e8236fd5074250157eacf0bca84fe8be2
parentbad48f4b313a756ccde454c25c14c828e2fd5819
x86, ioapic, acpi: add a knob to disable IRQ 0 through I/O APIC

As discovered recently some systems exhibit problems when the 8254 timer
IRQ is routed through the I/O APIC.  These problems do not affect the
timer IRQ itself and therefore cannot be detected when the correctness of
operation of the interrupt is verified in check_timer().  Therefore the
I/O APIC path of the timer IRQ has to be disabled entirely.

This is a change that lets platforms ask for the timer IRQ not to be
registered in the I/O APIC interrupt tables.  The local APIC and ExtINTA
paths are unaffected.  This request is only taken into account for ACPI
platforms as MP table systems seem unaffected so far.

Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Cc: Len Brown <lenb@kernel.org>
Cc: Matthew Garrett <mjg59@srcf.ucam.org>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/acpi/boot.c