diff options
author | Maciej W. Rozycki <macro@linux-mips.org> | 2008-05-21 17:10:22 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-07-08 03:12:59 -0400 |
commit | 35542c5ebced864776d90d83d1e255016fd4c084 (patch) | |
tree | 2d190b468fbd76286762a25656452492b89acb9e /include/asm-x86/io_apic.h | |
parent | a1133d8e4ffc2db751eb987a2f3cf8ead67927c3 (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.h | 4 |
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 */ |
138 | extern int skip_ioapic_setup; | 138 | extern int skip_ioapic_setup; |
139 | 139 | ||
140 | /* 1 if the timer IRQ uses the '8259A Virtual Wire' mode */ | ||
141 | extern int timer_through_8259; | ||
142 | |||
140 | static inline void disable_ioapic_setup(void) | 143 | static 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 |
168 | static const int timer_through_8259 = 0; | ||
165 | #endif | 169 | #endif |
166 | 170 | ||
167 | #endif | 171 | #endif |