diff options
| -rw-r--r-- | arch/x86/kernel/apic_32.c | 15 | ||||
| -rw-r--r-- | arch/x86/kernel/apic_64.c | 15 |
2 files changed, 18 insertions, 12 deletions
diff --git a/arch/x86/kernel/apic_32.c b/arch/x86/kernel/apic_32.c index e975562a76a5..b8d80c291650 100644 --- a/arch/x86/kernel/apic_32.c +++ b/arch/x86/kernel/apic_32.c | |||
| @@ -1162,11 +1162,13 @@ void __cpuinit end_local_APIC_setup(void) | |||
| 1162 | lapic_setup_esr(); | 1162 | lapic_setup_esr(); |
| 1163 | 1163 | ||
| 1164 | #ifdef CONFIG_X86_32 | 1164 | #ifdef CONFIG_X86_32 |
| 1165 | unsigned int value; | 1165 | { |
| 1166 | /* Disable the local apic timer */ | 1166 | unsigned int value; |
| 1167 | value = apic_read(APIC_LVTT); | 1167 | /* Disable the local apic timer */ |
| 1168 | value |= (APIC_LVT_MASKED | LOCAL_TIMER_VECTOR); | 1168 | value = apic_read(APIC_LVTT); |
| 1169 | apic_write(APIC_LVTT, value); | 1169 | value |= (APIC_LVT_MASKED | LOCAL_TIMER_VECTOR); |
| 1170 | apic_write(APIC_LVTT, value); | ||
| 1171 | } | ||
| 1170 | #endif | 1172 | #endif |
| 1171 | 1173 | ||
| 1172 | setup_apic_nmi_watchdog(NULL); | 1174 | setup_apic_nmi_watchdog(NULL); |
| @@ -1426,6 +1428,8 @@ void __init connect_bsp_APIC(void) | |||
| 1426 | */ | 1428 | */ |
| 1427 | void disconnect_bsp_APIC(int virt_wire_setup) | 1429 | void disconnect_bsp_APIC(int virt_wire_setup) |
| 1428 | { | 1430 | { |
| 1431 | unsigned int value; | ||
| 1432 | |||
| 1429 | #ifdef CONFIG_X86_32 | 1433 | #ifdef CONFIG_X86_32 |
| 1430 | if (pic_mode) { | 1434 | if (pic_mode) { |
| 1431 | /* | 1435 | /* |
| @@ -1443,7 +1447,6 @@ void disconnect_bsp_APIC(int virt_wire_setup) | |||
| 1443 | #endif | 1447 | #endif |
| 1444 | 1448 | ||
| 1445 | /* Go back to Virtual Wire compatibility mode */ | 1449 | /* Go back to Virtual Wire compatibility mode */ |
| 1446 | unsigned int value; | ||
| 1447 | 1450 | ||
| 1448 | /* For the spurious interrupt use vector F, and enable it */ | 1451 | /* For the spurious interrupt use vector F, and enable it */ |
| 1449 | value = apic_read(APIC_SPIV); | 1452 | value = apic_read(APIC_SPIV); |
diff --git a/arch/x86/kernel/apic_64.c b/arch/x86/kernel/apic_64.c index 7a317180ba2e..37e037606f30 100644 --- a/arch/x86/kernel/apic_64.c +++ b/arch/x86/kernel/apic_64.c | |||
| @@ -1020,11 +1020,13 @@ void __cpuinit end_local_APIC_setup(void) | |||
| 1020 | lapic_setup_esr(); | 1020 | lapic_setup_esr(); |
| 1021 | 1021 | ||
| 1022 | #ifdef CONFIG_X86_32 | 1022 | #ifdef CONFIG_X86_32 |
| 1023 | unsigned int value; | 1023 | { |
| 1024 | /* Disable the local apic timer */ | 1024 | unsigned int value; |
| 1025 | value = apic_read(APIC_LVTT); | 1025 | /* Disable the local apic timer */ |
| 1026 | value |= (APIC_LVT_MASKED | LOCAL_TIMER_VECTOR); | 1026 | value = apic_read(APIC_LVTT); |
| 1027 | apic_write(APIC_LVTT, value); | 1027 | value |= (APIC_LVT_MASKED | LOCAL_TIMER_VECTOR); |
| 1028 | apic_write(APIC_LVTT, value); | ||
| 1029 | } | ||
| 1028 | #endif | 1030 | #endif |
| 1029 | 1031 | ||
| 1030 | setup_apic_nmi_watchdog(NULL); | 1032 | setup_apic_nmi_watchdog(NULL); |
| @@ -1363,6 +1365,8 @@ void __init connect_bsp_APIC(void) | |||
| 1363 | */ | 1365 | */ |
| 1364 | void disconnect_bsp_APIC(int virt_wire_setup) | 1366 | void disconnect_bsp_APIC(int virt_wire_setup) |
| 1365 | { | 1367 | { |
| 1368 | unsigned int value; | ||
| 1369 | |||
| 1366 | #ifdef CONFIG_X86_32 | 1370 | #ifdef CONFIG_X86_32 |
| 1367 | if (pic_mode) { | 1371 | if (pic_mode) { |
| 1368 | /* | 1372 | /* |
| @@ -1380,7 +1384,6 @@ void disconnect_bsp_APIC(int virt_wire_setup) | |||
| 1380 | #endif | 1384 | #endif |
| 1381 | 1385 | ||
| 1382 | /* Go back to Virtual Wire compatibility mode */ | 1386 | /* Go back to Virtual Wire compatibility mode */ |
| 1383 | unsigned int value; | ||
| 1384 | 1387 | ||
| 1385 | /* For the spurious interrupt use vector F, and enable it */ | 1388 | /* For the spurious interrupt use vector F, and enable it */ |
| 1386 | value = apic_read(APIC_SPIV); | 1389 | value = apic_read(APIC_SPIV); |
