diff options
-rw-r--r-- | src/cpu/intel/hyperthreading/intel_sibling.c | 4 | ||||
-rw-r--r-- | src/cpu/x86/Kconfig | 5 | ||||
-rw-r--r-- | src/cpu/x86/lapic/lapic_cpu_init.c | 14 |
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*/ |