summaryrefslogtreecommitdiff
path: root/src/soc
diff options
context:
space:
mode:
authorSubrata Banik <subratabanik@google.com>2023-04-02 15:31:06 +0530
committerLean Sheng Tan <sheng.tan@9elements.com>2023-04-06 19:33:12 +0000
commitfa85b0f37c91e09d8327040c4031703dd159b241 (patch)
treeabd6a63ba4443badca3fb46d2174db4eb7a3854c /src/soc
parent39b7665abe1c5356e0248eddccbd7711ad377ad7 (diff)
soc/intel/meteorlake: Allow to drop redundant CPU feature programming
This patch introduces a new config named `DROP_CPU_FEATURE_PROGRAM_IN_FSP` to avoid FSP running basic CPU feature programming on BSP and on APs using the "CpuFeaturesPei.efi" module. Most of this feature programming is getting performed today in scope of coreboot doing MP Init. Running this redundant programming in scope of FSP (when `USE_FSP_FEATURE_PROGRAM_ON_APS` config is enabled) results in CPU exception (for example: attempting to reprogram CPU feature lock MSR is causing CPU exception). SoC users should select this config after dropping "CpuFeaturesPei.ffs" module from FSP-S Firmware Volume (FV). Upon selection, coreboot runs those additional feature programming on BSP and APs. This feature is by default enabled, in case of "coreboot running MP init" aka `MP_SERVICES_PPI_V2_NOOP` config is selected. At present, this option does not do anything unless any platform eventually decides to drop FSP feature programming module and choose coreboot CPU feature programming over it. Signed-off-by: Subrata Banik <subratabanik@google.com> Change-Id: I3be5329390401024d7ec9eed85a5afc35ab1b776 Reviewed-on: https://review.coreboot.org/c/coreboot/+/74167 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Kapil Porwal <kapilporwal@google.com> Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com> Reviewed-by: Tarun Tuli <taruntuli@google.com>
Diffstat (limited to 'src/soc')
-rw-r--r--src/soc/intel/meteorlake/Kconfig21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/soc/intel/meteorlake/Kconfig b/src/soc/intel/meteorlake/Kconfig
index b29b3bcfba..3d99f81481 100644
--- a/src/soc/intel/meteorlake/Kconfig
+++ b/src/soc/intel/meteorlake/Kconfig
@@ -364,4 +364,25 @@ config BUILDING_WITH_DEBUG_FSP
help
Set this option if debug build of FSP is used.
+config DROP_CPU_FEATURE_PROGRAM_IN_FSP
+ bool
+ default y if MP_SERVICES_PPI_V2_NOOP
+ default n
+ help
+ This is to avoid FSP running basic CPU feature programming on BSP
+ and on APs using the "CpuFeaturesPei.efi" module. The feature programming
+ includes enabling x2APIC, MCA, MCE and Turbo etc.
+
+ Most of these feature programming are getting performed today in scope
+ of coreboot doing MP Init. Running these redundant programming in scope
+ of FSP (when `USE_FSP_FEATURE_PROGRAM_ON_APS` config is enabled) would
+ results in CPU exception.
+
+ SoC users to select this config after dropping "CpuFeaturesPei.ffs" module
+ from FSP-S Firmware Volume (FV). Upon selection, coreboot runs those additional
+ feature programming on BSP and APs.
+
+ This feature is default enabled, in case of "coreboot running MP init"
+ aka MP_SERVICES_PPI_V2_NOOP config is selected.
+
endif