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:
parent
7d8bf58581
commit
75363a93f1
|
@ -6,9 +6,7 @@
|
||||||
#include <option.h>
|
#include <option.h>
|
||||||
#include <smp/spinlock.h>
|
#include <smp/spinlock.h>
|
||||||
|
|
||||||
#if CONFIG(PARALLEL_CPU_INIT)
|
/* Intel hyper-threading requires serialized CPU init. */
|
||||||
#error Intel hyper-threading requires serialized CPU init
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static int first_time = 1;
|
static int first_time = 1;
|
||||||
static int disable_siblings = !CONFIG(LOGICAL_CPUS);
|
static int disable_siblings = !CONFIG(LOGICAL_CPUS);
|
||||||
|
|
|
@ -1,8 +1,3 @@
|
||||||
# TODO These two options look too similar
|
|
||||||
config PARALLEL_CPU_INIT
|
|
||||||
bool
|
|
||||||
default n
|
|
||||||
|
|
||||||
config PARALLEL_MP
|
config PARALLEL_MP
|
||||||
def_bool y
|
def_bool y
|
||||||
depends on !LEGACY_SMP_INIT
|
depends on !LEGACY_SMP_INIT
|
||||||
|
|
|
@ -21,6 +21,8 @@
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <thread.h>
|
#include <thread.h>
|
||||||
|
|
||||||
|
const int parallel_cpu_init = false;
|
||||||
|
|
||||||
/* This is a lot more paranoid now, since Linux can NOT handle
|
/* This is a lot more paranoid now, since Linux can NOT handle
|
||||||
* being told there is a CPU when none exists. So any errors
|
* being told there is a CPU when none exists. So any errors
|
||||||
* will return 0, meaning no CPU.
|
* will return 0, meaning no CPU.
|
||||||
|
@ -390,7 +392,7 @@ asmlinkage void secondary_cpu_init(unsigned int index)
|
||||||
{
|
{
|
||||||
atomic_inc(&active_cpus);
|
atomic_inc(&active_cpus);
|
||||||
|
|
||||||
if (!CONFIG(PARALLEL_CPU_INIT))
|
if (!parallel_cpu_init)
|
||||||
spin_lock(&start_cpu_lock);
|
spin_lock(&start_cpu_lock);
|
||||||
|
|
||||||
#ifdef __SSE3__
|
#ifdef __SSE3__
|
||||||
|
@ -405,7 +407,7 @@ asmlinkage void secondary_cpu_init(unsigned int index)
|
||||||
#endif
|
#endif
|
||||||
cpu_initialize(index);
|
cpu_initialize(index);
|
||||||
|
|
||||||
if (!CONFIG(PARALLEL_CPU_INIT))
|
if (!parallel_cpu_init)
|
||||||
spin_unlock(&start_cpu_lock);
|
spin_unlock(&start_cpu_lock);
|
||||||
|
|
||||||
atomic_dec(&active_cpus);
|
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)
|
if (cpu->path.type != DEVICE_PATH_APIC)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (CONFIG(PARALLEL_CPU_INIT) && (cpu == bsp_cpu))
|
if (parallel_cpu_init && (cpu == bsp_cpu))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (!cpu->enabled)
|
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",
|
printk(BIOS_ERR, "CPU 0x%02x would not start!\n",
|
||||||
cpu->path.apic.apic_id);
|
cpu->path.apic.apic_id);
|
||||||
|
|
||||||
if (!CONFIG(PARALLEL_CPU_INIT))
|
if (!parallel_cpu_init)
|
||||||
udelay(10);
|
udelay(10);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -541,13 +543,13 @@ void initialize_cpus(struct bus *cpu_bus)
|
||||||
smm_init();
|
smm_init();
|
||||||
|
|
||||||
/* start all aps at first, so we can init ECC all together */
|
/* 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);
|
start_other_cpus(cpu_bus, info->cpu);
|
||||||
|
|
||||||
/* Initialize the bootstrap processor */
|
/* Initialize the bootstrap processor */
|
||||||
cpu_initialize(0);
|
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);
|
start_other_cpus(cpu_bus, info->cpu);
|
||||||
|
|
||||||
/* Now wait the rest of the cpus stop*/
|
/* Now wait the rest of the cpus stop*/
|
||||||
|
|
Loading…
Reference in New Issue