aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/io_apic_32.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-07-08 04:32:56 -0400
committerIngo Molnar <mingo@elte.hu>2008-07-08 04:32:56 -0400
commit896395c290f902576270d84291c1f7f8bfbe339d (patch)
tree650114bff3a5f808ee1d713ecc443b0eaab2e1c3 /arch/x86/kernel/io_apic_32.c
parentaf1cf204ba2fd8135933a2e4df523fb1112dc0e2 (diff)
parent1b40a895df6c7d5a80e71f65674060b03d84bbef (diff)
Merge branch 'linus' into tmp.x86.mpparse.new
Diffstat (limited to 'arch/x86/kernel/io_apic_32.c')
-rw-r--r--arch/x86/kernel/io_apic_32.c12
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