diff options
author | Ingo Molnar <mingo@kernel.org> | 2016-10-16 13:04:34 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2016-10-16 13:04:34 +0200 |
commit | 4d69f155d58d0f75c5404ea502178b1943a04755 (patch) | |
tree | fe5b7608f05f6951fce748ea1e93d942b52902bd /arch/x86/kernel/smpboot.c | |
parent | c474e50711aa79b7bd0ea30b44744baca5650375 (diff) | |
parent | 1001354ca34179f3db924eb66672442a173147dc (diff) | |
download | op-kernel-dev-4d69f155d58d0f75c5404ea502178b1943a04755.zip op-kernel-dev-4d69f155d58d0f75c5404ea502178b1943a04755.tar.gz |
Merge tag 'v4.9-rc1' into x86/fpu, to resolve conflict
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/x86/kernel/smpboot.c')
-rw-r--r-- | arch/x86/kernel/smpboot.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c index 5cb801a..5943bb7 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c @@ -1407,9 +1407,21 @@ __init void prefill_possible_map(void) { int i, possible; - /* no processor from mptable or madt */ - if (!num_processors) - num_processors = 1; + /* No boot processor was found in mptable or ACPI MADT */ + if (!num_processors) { + int apicid = boot_cpu_physical_apicid; + int cpu = hard_smp_processor_id(); + + pr_warn("Boot CPU (id %d) not listed by BIOS\n", cpu); + + /* Make sure boot cpu is enumerated */ + if (apic->cpu_present_to_apicid(0) == BAD_APICID && + apic->apic_id_valid(apicid)) + generic_processor_info(apicid, boot_cpu_apic_version); + + if (!num_processors) + num_processors = 1; + } i = setup_max_cpus ?: 1; if (setup_possible_cpus == -1) { |