summaryrefslogtreecommitdiff
path: root/include/asm-x86/io_apic.h
diff options
context:
space:
mode:
authorMaciej W. Rozycki <macro@linux-mips.org>2008-05-21 22:10:22 +0100
committerIngo Molnar <mingo@elte.hu>2008-07-08 09:12:59 +0200
commit35542c5ebced864776d90d83d1e255016fd4c084 (patch)
tree2d190b468fbd76286762a25656452492b89acb9e /include/asm-x86/io_apic.h
parenta1133d8e4ffc2db751eb987a2f3cf8ead67927c3 (diff)
downloadlwn-35542c5ebced864776d90d83d1e255016fd4c084.tar.gz
lwn-35542c5ebced864776d90d83d1e255016fd4c084.zip
x86: I/O APIC: clean up the 8259A on a NMI watchdog failure
There is no point in keeping the 8259A enabled if the I/O APIC NMI watchdog has failed and the 8259A is not used to pass through regular timer interrupts. This fixes problems with some systems where some logic gets confused. Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/asm-x86/io_apic.h')
-rw-r--r--include/asm-x86/io_apic.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/asm-x86/io_apic.h b/include/asm-x86/io_apic.h
index d593e14f0341..a6732566ad05 100644
--- a/include/asm-x86/io_apic.h
+++ b/include/asm-x86/io_apic.h
@@ -137,6 +137,9 @@ extern int sis_apic_bug;
/* 1 if "noapic" boot option passed */
extern int skip_ioapic_setup;
+/* 1 if the timer IRQ uses the '8259A Virtual Wire' mode */
+extern int timer_through_8259;
+
static inline void disable_ioapic_setup(void)
{
skip_ioapic_setup = 1;
@@ -162,6 +165,7 @@ extern void ioapic_init_mappings(void);
#else /* !CONFIG_X86_IO_APIC */
#define io_apic_assign_pci_irqs 0
+static const int timer_through_8259 = 0;
#endif
#endif