diff options
Diffstat (limited to 'arch/x86/kernel/io_apic_32.c')
-rw-r--r-- | arch/x86/kernel/io_apic_32.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/arch/x86/kernel/io_apic_32.c b/arch/x86/kernel/io_apic_32.c index 97e62a01f1e2..0662817d61bf 100644 --- a/arch/x86/kernel/io_apic_32.c +++ b/arch/x86/kernel/io_apic_32.c | |||
@@ -2137,14 +2137,10 @@ static inline void __init check_timer(void) | |||
2137 | { | 2137 | { |
2138 | int apic1, pin1, apic2, pin2; | 2138 | int apic1, pin1, apic2, pin2; |
2139 | int vector; | 2139 | int vector; |
2140 | unsigned int ver; | ||
2141 | unsigned long flags; | 2140 | unsigned long flags; |
2142 | 2141 | ||
2143 | local_irq_save(flags); | 2142 | local_irq_save(flags); |
2144 | 2143 | ||
2145 | ver = apic_read(APIC_LVR); | ||
2146 | ver = GET_APIC_VERSION(ver); | ||
2147 | |||
2148 | /* | 2144 | /* |
2149 | * get/set the timer IRQ vector: | 2145 | * get/set the timer IRQ vector: |
2150 | */ | 2146 | */ |
@@ -2157,15 +2153,11 @@ static inline void __init check_timer(void) | |||
2157 | * mode for the 8259A whenever interrupts are routed | 2153 | * mode for the 8259A whenever interrupts are routed |
2158 | * through I/O APICs. Also IRQ0 has to be enabled in | 2154 | * through I/O APICs. Also IRQ0 has to be enabled in |
2159 | * the 8259A which implies the virtual wire has to be | 2155 | * the 8259A which implies the virtual wire has to be |
2160 | * disabled in the local APIC. Finally timer interrupts | 2156 | * disabled in the local APIC. |
2161 | * need to be acknowledged manually in the 8259A for | ||
2162 | * timer_interrupt() and for the i82489DX when using | ||
2163 | * the NMI watchdog. | ||
2164 | */ | 2157 | */ |
2165 | apic_write_around(APIC_LVT0, APIC_LVT_MASKED | APIC_DM_EXTINT); | 2158 | apic_write_around(APIC_LVT0, APIC_LVT_MASKED | APIC_DM_EXTINT); |
2166 | init_8259A(1); | 2159 | init_8259A(1); |
2167 | timer_ack = !cpu_has_tsc; | 2160 | timer_ack = 1; |
2168 | timer_ack |= (nmi_watchdog == NMI_IO_APIC && !APIC_INTEGRATED(ver)); | ||
2169 | if (timer_over_8254 > 0) | 2161 | if (timer_over_8254 > 0) |
2170 | enable_8259A_irq(0); | 2162 | enable_8259A_irq(0); |
2171 | 2163 | ||