aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-x86/io_apic.h
diff options
context:
space:
mode:
authorMaciej W. Rozycki <macro@linux-mips.org>2008-05-21 17:10:22 -0400
committerIngo Molnar <mingo@elte.hu>2008-07-08 03:12:59 -0400
commit35542c5ebced864776d90d83d1e255016fd4c084 (patch)
tree2d190b468fbd76286762a25656452492b89acb9e /include/asm-x86/io_apic.h
parenta1133d8e4ffc2db751eb987a2f3cf8ead67927c3 (diff)
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;
137/* 1 if "noapic" boot option passed */ 137/* 1 if "noapic" boot option passed */
138extern int skip_ioapic_setup; 138extern int skip_ioapic_setup;
139 139
140/* 1 if the timer IRQ uses the '8259A Virtual Wire' mode */
141extern int timer_through_8259;
142
140static inline void disable_ioapic_setup(void) 143static inline void disable_ioapic_setup(void)
141{ 144{
142 skip_ioapic_setup = 1; 145 skip_ioapic_setup = 1;
@@ -162,6 +165,7 @@ extern void ioapic_init_mappings(void);
162 165
163#else /* !CONFIG_X86_IO_APIC */ 166#else /* !CONFIG_X86_IO_APIC */
164#define io_apic_assign_pci_irqs 0 167#define io_apic_assign_pci_irqs 0
168static const int timer_through_8259 = 0;
165#endif 169#endif
166 170
167#endif 171#endif