diff options
| -rw-r--r-- | arch/x86/kernel/smpboot.c | 16 |
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; |
