diff options
author | Cyrill Gorcunov <gorcunov@gmail.com> | 2008-08-18 12:45:53 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-08-18 20:07:14 -0400 |
commit | 36c9d6742897fa414f51c4e9d0f20ab4e6bf942c (patch) | |
tree | 4e671ed13edabe691f8f48a582141f3c086afd11 /arch/x86/kernel/apic_64.c | |
parent | fe4024dcb0c01e5399394d2807406a2c13fb1eb7 (diff) |
x86: apic - unify connect_bsp_APIC
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/apic_64.c')
-rw-r--r-- | arch/x86/kernel/apic_64.c | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/arch/x86/kernel/apic_64.c b/arch/x86/kernel/apic_64.c index 48806546d49f..5579e213b5d2 100644 --- a/arch/x86/kernel/apic_64.c +++ b/arch/x86/kernel/apic_64.c | |||
@@ -1285,10 +1285,26 @@ asmlinkage void smp_error_interrupt(void) | |||
1285 | } | 1285 | } |
1286 | 1286 | ||
1287 | /** | 1287 | /** |
1288 | * * connect_bsp_APIC - attach the APIC to the interrupt system | 1288 | * connect_bsp_APIC - attach the APIC to the interrupt system |
1289 | * */ | 1289 | */ |
1290 | void __init connect_bsp_APIC(void) | 1290 | void __init connect_bsp_APIC(void) |
1291 | { | 1291 | { |
1292 | #ifdef CONFIG_X86_32 | ||
1293 | if (pic_mode) { | ||
1294 | /* | ||
1295 | * Do not trust the local APIC being empty at bootup. | ||
1296 | */ | ||
1297 | clear_local_APIC(); | ||
1298 | /* | ||
1299 | * PIC mode, enable APIC mode in the IMCR, i.e. connect BSP's | ||
1300 | * local APIC to INT and NMI lines. | ||
1301 | */ | ||
1302 | apic_printk(APIC_VERBOSE, "leaving PIC mode, " | ||
1303 | "enabling APIC mode.\n"); | ||
1304 | outb(0x70, 0x22); | ||
1305 | outb(0x01, 0x23); | ||
1306 | } | ||
1307 | #endif | ||
1292 | enable_apic_mode(); | 1308 | enable_apic_mode(); |
1293 | } | 1309 | } |
1294 | 1310 | ||