cpu/x86: Drop Kconfig PARALLEL_CPU_INIT

Change-Id: Ibe2c24228045cbf1ed2a6b0cb0a67848cbf03019
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/55203
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Kyösti Mälkki 2021-05-29 22:06:06 +03:00
parent 7d8bf58581
commit 75363a93f1
3 changed files with 9 additions and 14 deletions

View File

@ -6,9 +6,7 @@
#include <option.h>
#include <smp/spinlock.h>
#if CONFIG(PARALLEL_CPU_INIT)
#error Intel hyper-threading requires serialized CPU init
#endif
/* Intel hyper-threading requires serialized CPU init. */
static int first_time = 1;
static int disable_siblings = !CONFIG(LOGICAL_CPUS);

View File

@ -1,8 +1,3 @@
# TODO These two options look too similar
config PARALLEL_CPU_INIT
bool
default n
config PARALLEL_MP
def_bool y
depends on !LEGACY_SMP_INIT

View File

@ -21,6 +21,8 @@
#include <stdlib.h>
#include <thread.h>
const int parallel_cpu_init = false;
/* This is a lot more paranoid now, since Linux can NOT handle
* being told there is a CPU when none exists. So any errors
* will return 0, meaning no CPU.
@ -390,7 +392,7 @@ asmlinkage void secondary_cpu_init(unsigned int index)
{
atomic_inc(&active_cpus);
if (!CONFIG(PARALLEL_CPU_INIT))
if (!parallel_cpu_init)
spin_lock(&start_cpu_lock);
#ifdef __SSE3__
@ -405,7 +407,7 @@ asmlinkage void secondary_cpu_init(unsigned int index)
#endif
cpu_initialize(index);
if (!CONFIG(PARALLEL_CPU_INIT))
if (!parallel_cpu_init)
spin_unlock(&start_cpu_lock);
atomic_dec(&active_cpus);
@ -422,7 +424,7 @@ static void start_other_cpus(struct bus *cpu_bus, struct device *bsp_cpu)
if (cpu->path.type != DEVICE_PATH_APIC)
continue;
if (CONFIG(PARALLEL_CPU_INIT) && (cpu == bsp_cpu))
if (parallel_cpu_init && (cpu == bsp_cpu))
continue;
if (!cpu->enabled)
@ -436,7 +438,7 @@ static void start_other_cpus(struct bus *cpu_bus, struct device *bsp_cpu)
printk(BIOS_ERR, "CPU 0x%02x would not start!\n",
cpu->path.apic.apic_id);
if (!CONFIG(PARALLEL_CPU_INIT))
if (!parallel_cpu_init)
udelay(10);
}
@ -541,13 +543,13 @@ void initialize_cpus(struct bus *cpu_bus)
smm_init();
/* start all aps at first, so we can init ECC all together */
if (is_smp_boot() && CONFIG(PARALLEL_CPU_INIT))
if (is_smp_boot() && parallel_cpu_init)
start_other_cpus(cpu_bus, info->cpu);
/* Initialize the bootstrap processor */
cpu_initialize(0);
if (is_smp_boot() && !CONFIG(PARALLEL_CPU_INIT))
if (is_smp_boot() && !parallel_cpu_init)
start_other_cpus(cpu_bus, info->cpu);
/* Now wait the rest of the cpus stop*/