summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/cpu/x86/Kconfig3
-rw-r--r--src/cpu/x86/mp_init.c4
2 files changed, 6 insertions, 1 deletions
diff --git a/src/cpu/x86/Kconfig b/src/cpu/x86/Kconfig
index 693b8020be..13ff65d67b 100644
--- a/src/cpu/x86/Kconfig
+++ b/src/cpu/x86/Kconfig
@@ -1,12 +1,13 @@
config PARALLEL_MP
def_bool y
depends on !LEGACY_SMP_INIT
- depends on SMP
select CPU_INFO_V2
help
This option uses common MP infrastructure for bringing up APs
in parallel. It additionally provides a more flexible mechanism
for sequencing the steps of bringing up the APs.
+ The code also works for just initialising the BSP in case there
+ are no APs.
config PARALLEL_MP_AP_WORK
def_bool n
diff --git a/src/cpu/x86/mp_init.c b/src/cpu/x86/mp_init.c
index 507b5fef8a..acbe579177 100644
--- a/src/cpu/x86/mp_init.c
+++ b/src/cpu/x86/mp_init.c
@@ -593,6 +593,10 @@ static enum cb_err mp_init(struct bus *cpu_bus, struct mp_params *p)
return CB_ERR;
}
+ /* We just need to run things on the BSP */
+ if (!CONFIG(SMP))
+ return bsp_do_flight_plan(p);
+
/* Default to currently running CPU. */
num_cpus = allocate_cpu_devices(cpu_bus, p);