x86/apic: Mark the apic_intr_mode extern for sanity check cleanup
Calling native_smp_prepare_cpus() to prepare for SMP bootup, does some sanity checking, enables APIC mode and disables SMP feature. Now, APIC mode setup has been unified to apic_intr_mode_init(), some sanity checks are redundant and need to be cleanup. Mark the apic_intr_mode extern to refine the switch and remove the redundant sanity check. Signed-off-by: Dou Liyang <douly.fnst@cn.fujitsu.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: yinghai@kernel.org Cc: bhe@redhat.com Link: https://lkml.kernel.org/r/1505293975-26005-7-git-send-email-douly.fnst@cn.fujitsu.com
This commit is contained in:

committed by
Thomas Gleixner

parent
3e730dad3b
commit
4f45ed9f84
@@ -1218,13 +1218,7 @@ void __init sync_Arb_IDs(void)
|
||||
APIC_INT_LEVELTRIG | APIC_DM_INIT);
|
||||
}
|
||||
|
||||
enum apic_intr_mode {
|
||||
APIC_PIC,
|
||||
APIC_VIRTUAL_WIRE,
|
||||
APIC_VIRTUAL_WIRE_NO_CONFIG,
|
||||
APIC_SYMMETRIC_IO,
|
||||
APIC_SYMMETRIC_IO_NO_ROUTING,
|
||||
};
|
||||
enum apic_intr_mode_id apic_intr_mode;
|
||||
|
||||
static int __init apic_intr_mode_select(void)
|
||||
{
|
||||
@@ -1342,7 +1336,9 @@ void __init apic_intr_mode_init(void)
|
||||
{
|
||||
bool upmode = false;
|
||||
|
||||
switch (apic_intr_mode_select()) {
|
||||
apic_intr_mode = apic_intr_mode_select();
|
||||
|
||||
switch (apic_intr_mode) {
|
||||
case APIC_PIC:
|
||||
pr_info("APIC: Keep in PIC mode(8259)\n");
|
||||
return;
|
||||
@@ -1974,8 +1970,8 @@ void __init init_apic_mappings(void)
|
||||
* yeah -- we lie about apic_version
|
||||
* in case if apic was disabled via boot option
|
||||
* but it's not a problem for SMP compiled kernel
|
||||
* since smp_sanity_check is prepared for such a case
|
||||
* and disable smp mode
|
||||
* since apic_intr_mode_select is prepared for such
|
||||
* a case and disable smp mode
|
||||
*/
|
||||
boot_cpu_apic_version = GET_APIC_VERSION(apic_read(APIC_LVR));
|
||||
}
|
||||
|
Reference in New Issue
Block a user