aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/kernel/smpboot.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
index 951f093a96fe..42f5eb7b4f6c 100644
--- a/arch/x86/kernel/smpboot.c
+++ b/arch/x86/kernel/smpboot.c
@@ -1409,15 +1409,17 @@ __init void prefill_possible_map(void)
1409 1409
1410 /* No boot processor was found in mptable or ACPI MADT */ 1410 /* No boot processor was found in mptable or ACPI MADT */
1411 if (!num_processors) { 1411 if (!num_processors) {
1412 int apicid = boot_cpu_physical_apicid; 1412 if (boot_cpu_has(X86_FEATURE_APIC)) {
1413 int cpu = hard_smp_processor_id(); 1413 int apicid = boot_cpu_physical_apicid;
1414 int cpu = hard_smp_processor_id();
1414 1415
1415 pr_warn("Boot CPU (id %d) not listed by BIOS\n", cpu); 1416 pr_warn("Boot CPU (id %d) not listed by BIOS\n", cpu);
1416 1417
1417 /* Make sure boot cpu is enumerated */ 1418 /* Make sure boot cpu is enumerated */
1418 if (apic->cpu_present_to_apicid(0) == BAD_APICID && 1419 if (apic->cpu_present_to_apicid(0) == BAD_APICID &&
1419 apic->apic_id_valid(apicid)) 1420 apic->apic_id_valid(apicid))
1420 generic_processor_info(apicid, boot_cpu_apic_version); 1421 generic_processor_info(apicid, boot_cpu_apic_version);
1422 }
1421 1423
1422 if (!num_processors) 1424 if (!num_processors)
1423 num_processors = 1; 1425 num_processors = 1;