Commit 69b88afa authored by Yinghai Lu's avatar Yinghai Lu Committed by Ingo Molnar

x86: clean up get_smp_config()

Impact: cleanup

reorder exit path in __get_smp_config().

also move two print outs to acpi_process_madt
Signed-off-by: default avatarYinghai Lu <yinghai@kernel.org>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent aa9c9b8c
...@@ -1360,6 +1360,17 @@ static void __init acpi_process_madt(void) ...@@ -1360,6 +1360,17 @@ static void __init acpi_process_madt(void)
disable_acpi(); disable_acpi();
} }
} }
/*
* ACPI supports both logical (e.g. Hyper-Threading) and physical
* processors, where MPS only supports physical.
*/
if (acpi_lapic && acpi_ioapic)
printk(KERN_INFO "Using ACPI (MADT) for SMP configuration "
"information\n");
else if (acpi_lapic)
printk(KERN_INFO "Using ACPI for processor (LAPIC) "
"configuration information\n");
#endif #endif
return; return;
} }
......
...@@ -586,26 +586,23 @@ static void __init __get_smp_config(unsigned int early) ...@@ -586,26 +586,23 @@ static void __init __get_smp_config(unsigned int early)
{ {
struct intel_mp_floating *mpf = mpf_found; struct intel_mp_floating *mpf = mpf_found;
if (x86_quirks->mach_get_smp_config) { if (!mpf)
if (x86_quirks->mach_get_smp_config(early)) return;
return;
}
if (acpi_lapic && early) if (acpi_lapic && early)
return; return;
/* /*
* ACPI supports both logical (e.g. Hyper-Threading) and physical * MPS doesn't support hyperthreading, aka only have
* processors, where MPS only supports physical. * thread 0 apic id in MPS table
*/ */
if (acpi_lapic && acpi_ioapic) { if (acpi_lapic && acpi_ioapic)
printk(KERN_INFO "Using ACPI (MADT) for SMP configuration "
"information\n");
return; return;
} else if (acpi_lapic)
printk(KERN_INFO "Using ACPI for processor (LAPIC) "
"configuration information\n");
if (!mpf) if (x86_quirks->mach_get_smp_config) {
return; if (x86_quirks->mach_get_smp_config(early))
return;
}
printk(KERN_INFO "Intel MultiProcessor Specification v1.%d\n", printk(KERN_INFO "Intel MultiProcessor Specification v1.%d\n",
mpf->mpf_specification); mpf->mpf_specification);
......
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