Browse Source

x86: apic - unify end_local_APIC_setup

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Cyrill Gorcunov 17 years ago
parent
commit
fa6b95fc7c
2 changed files with 13 additions and 2 deletions
  1. 4 2
      arch/x86/kernel/apic_32.c
  2. 9 0
      arch/x86/kernel/apic_64.c

+ 4 - 2
arch/x86/kernel/apic_32.c

@@ -1155,13 +1155,15 @@ void __cpuinit setup_local_APIC(void)
 
 void __cpuinit end_local_APIC_setup(void)
 {
-	unsigned long value;
-
 	lapic_setup_esr();
+
+#ifdef CONFIG_X86_32
+	unsigned int value;
 	/* Disable the local apic timer */
 	value = apic_read(APIC_LVTT);
 	value |= (APIC_LVT_MASKED | LOCAL_TIMER_VECTOR);
 	apic_write(APIC_LVTT, value);
+#endif
 
 	setup_apic_nmi_watchdog(NULL);
 	apic_pm_activate();

+ 9 - 0
arch/x86/kernel/apic_64.c

@@ -1014,6 +1014,15 @@ void __cpuinit setup_local_APIC(void)
 void __cpuinit end_local_APIC_setup(void)
 {
 	lapic_setup_esr();
+
+#ifdef CONFIG_X86_32
+	unsigned int value;
+	/* Disable the local apic timer */
+	value = apic_read(APIC_LVTT);
+	value |= (APIC_LVT_MASKED | LOCAL_TIMER_VECTOR);
+	apic_write(APIC_LVTT, value);
+#endif
+
 	setup_apic_nmi_watchdog(NULL);
 	apic_pm_activate();
 }