Arthur Heymans has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/69361 )
Change subject: cpu/*: Drop PARALLEL_MP leftovers ......................................................................
cpu/*: Drop PARALLEL_MP leftovers
These symbols and codepaths are unused now so drop them.
Change-Id: I7c46c36390f116f8f8920c06e539075e60c7118c Signed-off-by: Arthur Heymans arthur@aheymans.xyz --- D src/cpu/intel/hyperthreading/Makefile.inc D src/cpu/intel/hyperthreading/intel_sibling.c M src/cpu/intel/model_f3x/model_f3x_init.c M src/cpu/x86/Kconfig.debug_cpu D src/include/cpu/intel/hyperthreading.h M src/mainboard/emulation/qemu-i440fx/northbridge.c 6 files changed, 13 insertions(+), 96 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/61/69361/1
diff --git a/src/cpu/intel/hyperthreading/Makefile.inc b/src/cpu/intel/hyperthreading/Makefile.inc deleted file mode 100644 index 8adbad9..0000000 --- a/src/cpu/intel/hyperthreading/Makefile.inc +++ /dev/null @@ -1 +0,0 @@ -ramstage-y += intel_sibling.c diff --git a/src/cpu/intel/hyperthreading/intel_sibling.c b/src/cpu/intel/hyperthreading/intel_sibling.c deleted file mode 100644 index 9fde031..0000000 --- a/src/cpu/intel/hyperthreading/intel_sibling.c +++ /dev/null @@ -1,65 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-only */ - -#include <arch/cpu.h> -#include <console/console.h> -#include <cpu/intel/hyperthreading.h> -#include <device/device.h> -#include <option.h> - -/* Intel hyper-threading requires serialized CPU init. */ - -static int first_time = 1; -static int disable_siblings = !CONFIG(LOGICAL_CPUS); - -void intel_sibling_init(struct device *cpu) -{ - unsigned int i, siblings; - struct cpuid_result result; - - /* On the bootstrap processor see if I want sibling cpus enabled */ - if (first_time) { - first_time = 0; - disable_siblings = get_uint_option("hyper_threading", disable_siblings); - } - result = cpuid(1); - /* Is hyperthreading supported */ - if (!(result.edx & (1 << 28))) - return; - - /* See how many sibling cpus we have */ - siblings = (result.ebx >> 16) & 0xff; - if (siblings < 1) - siblings = 1; - - printk(BIOS_DEBUG, "CPU: %u %d siblings\n", - cpu->path.apic.apic_id, - siblings); - - /* See if I am a sibling cpu */ - if (cpu->path.apic.apic_id & (siblings - 1)) { - if (disable_siblings) - cpu->enabled = 0; - return; - } - - /* I am the primary CPU start up my siblings */ - for (i = 1; i < siblings; i++) { - struct device_path cpu_path; - struct device *new; - /* Build the CPU device path */ - cpu_path.type = DEVICE_PATH_APIC; - cpu_path.apic.apic_id = cpu->path.apic.apic_id + i; - - /* Allocate new CPU device structure iff sibling CPU - * was not in static device tree. - */ - new = alloc_find_dev(cpu->bus, &cpu_path); - - if (!new) - continue; - - printk(BIOS_DEBUG, "CPU: %u has sibling %u\n", - cpu->path.apic.apic_id, - new->path.apic.apic_id); - } -} diff --git a/src/cpu/intel/model_f3x/model_f3x_init.c b/src/cpu/intel/model_f3x/model_f3x_init.c index 198490f..ec75ced 100644 --- a/src/cpu/intel/model_f3x/model_f3x_init.c +++ b/src/cpu/intel/model_f3x/model_f3x_init.c @@ -12,19 +12,6 @@ { /* Turn on caching if we haven't already */ enable_cache(); - - if (!CONFIG(PARALLEL_MP) && !intel_ht_sibling()) { - /* MTRRs are shared between threads */ - x86_setup_mtrrs(); - x86_mtrr_check(); - - /* Update the microcode */ - intel_update_microcode_from_cbfs(); - } - - /* Start up my CPU siblings */ - if (!CONFIG(PARALLEL_MP)) - intel_sibling_init(cpu); };
static struct device_operations cpu_dev_ops = { diff --git a/src/cpu/x86/Kconfig.debug_cpu b/src/cpu/x86/Kconfig.debug_cpu index 7edb60f..8e0c3e4 100644 --- a/src/cpu/x86/Kconfig.debug_cpu +++ b/src/cpu/x86/Kconfig.debug_cpu @@ -10,8 +10,4 @@ config DISPLAY_MTRRS bool "Display intermediate MTRR settings"
-config DEBUG_SMM_RELOCATION - bool "Debug SMM relocation code" - depends on HAVE_SMI_HANDLER && SMM_ASEG - endif # ARCH_X86 diff --git a/src/include/cpu/intel/hyperthreading.h b/src/include/cpu/intel/hyperthreading.h deleted file mode 100644 index 0613aa1..0000000 --- a/src/include/cpu/intel/hyperthreading.h +++ /dev/null @@ -1,9 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-only */ - -#ifndef CPU_INTEL_HYPERTHREADING_H -#define CPU_INTEL_HYPERTHREADING_H - -struct device; -void intel_sibling_init(struct device *cpu); - -#endif /* CPU_INTEL_HYPERTHREADING_H */ diff --git a/src/mainboard/emulation/qemu-i440fx/northbridge.c b/src/mainboard/emulation/qemu-i440fx/northbridge.c index 957837e..497d37c 100644 --- a/src/mainboard/emulation/qemu-i440fx/northbridge.c +++ b/src/mainboard/emulation/qemu-i440fx/northbridge.c @@ -254,10 +254,7 @@
static void cpu_bus_init(struct device *dev) { - if (CONFIG(PARALLEL_MP)) - mp_cpu_bus_init(dev); - else - initialize_cpus(dev->link_list); + initialize_cpus(dev->link_list); }
static void cpu_bus_scan(struct device *bus)