aboutsummaryrefslogtreecommitdiff
path: root/src/cpu
diff options
context:
space:
mode:
Diffstat (limited to 'src/cpu')
-rw-r--r--src/cpu/intel/hyperthreading/intel_sibling.c4
-rw-r--r--src/cpu/x86/Kconfig5
-rw-r--r--src/cpu/x86/lapic/lapic_cpu_init.c14
3 files changed, 9 insertions, 14 deletions
diff --git a/src/cpu/intel/hyperthreading/intel_sibling.c b/src/cpu/intel/hyperthreading/intel_sibling.c
index 38f6efcf97..93d29d4d29 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 1a4318cbcd..7aba5c4658 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_SMP_INIT
diff --git a/src/cpu/x86/lapic/lapic_cpu_init.c b/src/cpu/x86/lapic/lapic_cpu_init.c
index f89d9e3928..8edb7d7555 100644
--- a/src/cpu/x86/lapic/lapic_cpu_init.c
+++ b/src/cpu/x86/lapic/lapic_cpu_init.c
@@ -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*/