Commit 36c9d674 authored by Cyrill Gorcunov's avatar Cyrill Gorcunov Committed by Ingo Molnar

x86: apic - unify connect_bsp_APIC

Signed-off-by: default avatarCyrill Gorcunov <gorcunov@gmail.com>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent fe4024dc
...@@ -1387,6 +1387,7 @@ void smp_error_interrupt(struct pt_regs *regs) ...@@ -1387,6 +1387,7 @@ void smp_error_interrupt(struct pt_regs *regs)
*/ */
void __init connect_bsp_APIC(void) void __init connect_bsp_APIC(void)
{ {
#ifdef CONFIG_X86_32
if (pic_mode) { if (pic_mode) {
/* /*
* Do not trust the local APIC being empty at bootup. * Do not trust the local APIC being empty at bootup.
...@@ -1401,6 +1402,7 @@ void __init connect_bsp_APIC(void) ...@@ -1401,6 +1402,7 @@ void __init connect_bsp_APIC(void)
outb(0x70, 0x22); outb(0x70, 0x22);
outb(0x01, 0x23); outb(0x01, 0x23);
} }
#endif
enable_apic_mode(); enable_apic_mode();
} }
......
...@@ -1285,10 +1285,26 @@ asmlinkage void smp_error_interrupt(void) ...@@ -1285,10 +1285,26 @@ asmlinkage void smp_error_interrupt(void)
} }
/** /**
* * connect_bsp_APIC - attach the APIC to the interrupt system * connect_bsp_APIC - attach the APIC to the interrupt system
* */ */
void __init connect_bsp_APIC(void) void __init connect_bsp_APIC(void)
{ {
#ifdef CONFIG_X86_32
if (pic_mode) {
/*
* Do not trust the local APIC being empty at bootup.
*/
clear_local_APIC();
/*
* PIC mode, enable APIC mode in the IMCR, i.e. connect BSP's
* local APIC to INT and NMI lines.
*/
apic_printk(APIC_VERBOSE, "leaving PIC mode, "
"enabling APIC mode.\n");
outb(0x70, 0x22);
outb(0x01, 0x23);
}
#endif
enable_apic_mode(); enable_apic_mode();
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment