aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86
diff options
context:
space:
mode:
authorCyrill Gorcunov <gorcunov@gmail.com>2008-08-18 20:45:58 +0400
committerIngo Molnar <mingo@elte.hu>2008-08-19 02:07:17 +0200
commitfa6b95fc7c6f2f3eb1560e1f33cd13197546c5a0 (patch)
treeae80284e24233e7d9b4e44228c0da7d1062e594b /arch/x86
parentx86: apic - generic_processor_info (diff)
downloadlinux-dev-fa6b95fc7c6f2f3eb1560e1f33cd13197546c5a0.tar.xz
linux-dev-fa6b95fc7c6f2f3eb1560e1f33cd13197546c5a0.zip
x86: apic - unify end_local_APIC_setup
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86')
-rw-r--r--arch/x86/kernel/apic_32.c6
-rw-r--r--arch/x86/kernel/apic_64.c9
2 files changed, 13 insertions, 2 deletions
diff --git a/arch/x86/kernel/apic_32.c b/arch/x86/kernel/apic_32.c
index c3a252b1a8be..f1882329b9cf 100644
--- a/arch/x86/kernel/apic_32.c
+++ b/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();
diff --git a/arch/x86/kernel/apic_64.c b/arch/x86/kernel/apic_64.c
index 76c20773bedf..eec10b34dc49 100644
--- a/arch/x86/kernel/apic_64.c
+++ b/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();
}