soc/intel/meteorlake: Hook up FSP hyper-threading setting to option API

Select `HAVE_HYPERTHREADING` and hook up the hyper-threading setting
from the FSP to the option API so that related mainboards don't have to
do that. Unless otherwise configured (e.g. the CMOS setting or
overridden by the mainboard code), the value from the Kconfig setting
`FSP_HYPERTHREADING` is used.

Port of commit a182faeb88 ("soc/intel/alderlake: Hook up FSP hyper-threading setting to option API")

Change-Id: I0b3e1a4049312c6b1ec950382c92274e0350001f
Signed-off-by: Eran Mitrani <mitrani@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/71115
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Reviewed-by: Subrata Banik <subratabanik@google.com>
This commit is contained in:
Eran Mitrani 2022-12-19 11:27:10 -08:00 committed by Subrata Banik
parent b40b2b1933
commit 222903e57a
2 changed files with 3 additions and 2 deletions

View File

@ -30,6 +30,7 @@ config CPU_SPECIFIC_OPTIONS
select GENERIC_GPIO_LIB select GENERIC_GPIO_LIB
select HAVE_DEBUG_RAM_SETUP select HAVE_DEBUG_RAM_SETUP
select HAVE_FSP_GOP select HAVE_FSP_GOP
select HAVE_HYPERTHREADING
select HAVE_INTEL_COMPLIANCE_TEST_MODE select HAVE_INTEL_COMPLIANCE_TEST_MODE
select HAVE_SMI_HANDLER select HAVE_SMI_HANDLER
select IDT_IN_EVERY_STAGE select IDT_IN_EVERY_STAGE

View File

@ -10,6 +10,7 @@
#include <fsp/util.h> #include <fsp/util.h>
#include <intelblocks/cpulib.h> #include <intelblocks/cpulib.h>
#include <intelblocks/pcie_rp.h> #include <intelblocks/pcie_rp.h>
#include <option.h>
#include <soc/gpio_soc_defs.h> #include <soc/gpio_soc_defs.h>
#include <soc/iomap.h> #include <soc/iomap.h>
#include <soc/msr.h> #include <soc/msr.h>
@ -140,8 +141,7 @@ static void fill_fspm_cpu_params(FSP_M_CONFIG *m_cfg,
m_cfg->CpuRatio = (rdmsr(MSR_FLEX_RATIO).lo >> 8) & 0xff; m_cfg->CpuRatio = (rdmsr(MSR_FLEX_RATIO).lo >> 8) & 0xff;
m_cfg->PrmrrSize = get_valid_prmrr_size(); m_cfg->PrmrrSize = get_valid_prmrr_size();
/* Enable Hyper Threading */ m_cfg->HyperThreading = get_uint_option("hyper_threading", CONFIG(FSP_HYPERTHREADING));
m_cfg->HyperThreading = 1;
} }
static void fill_fspm_security_params(FSP_M_CONFIG *m_cfg, static void fill_fspm_security_params(FSP_M_CONFIG *m_cfg,