Attention is currently required from: Patrick Rudolph. Kyösti Mälkki has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/55203 )
Change subject: cpu/x86: Drop Kconfig PARALLEL_CPU_INIT ......................................................................
cpu/x86: Drop Kconfig PARALLEL_CPU_INIT
Change-Id: Ibe2c24228045cbf1ed2a6b0cb0a67848cbf03019 Signed-off-by: Kyösti Mälkki kyosti.malkki@gmail.com --- M src/cpu/intel/hyperthreading/intel_sibling.c M src/cpu/x86/Kconfig M src/cpu/x86/lapic/lapic_cpu_init.c 3 files changed, 9 insertions(+), 14 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/03/55203/1
diff --git a/src/cpu/intel/hyperthreading/intel_sibling.c b/src/cpu/intel/hyperthreading/intel_sibling.c index 38f6efc..93d29d4 100644 --- a/src/cpu/intel/hyperthreading/intel_sibling.c +++ b/src/cpu/intel/hyperthreading/intel_sibling.c @@ -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); diff --git a/src/cpu/x86/Kconfig b/src/cpu/x86/Kconfig index c769865..de5535f 100644 --- a/src/cpu/x86/Kconfig +++ b/src/cpu/x86/Kconfig @@ -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_CPU_INIT diff --git a/src/cpu/x86/lapic/lapic_cpu_init.c b/src/cpu/x86/lapic/lapic_cpu_init.c index fe1c824..1c1c15d 100644 --- a/src/cpu/x86/lapic/lapic_cpu_init.c +++ b/src/cpu/x86/lapic/lapic_cpu_init.c @@ -20,6 +20,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. @@ -287,7 +289,7 @@ { atomic_inc(&active_cpus);
- if (!CONFIG(PARALLEL_CPU_INIT)) + if (!parallel_cpu_init) spin_lock(&start_cpu_lock);
#ifdef __SSE3__ @@ -302,7 +304,7 @@ #endif cpu_initialize(index);
- if (!CONFIG(PARALLEL_CPU_INIT)) + if (!parallel_cpu_init) spin_unlock(&start_cpu_lock);
atomic_dec(&active_cpus); @@ -319,7 +321,7 @@ 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) @@ -333,7 +335,7 @@ 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); }
@@ -438,13 +440,13 @@ 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*/