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>
This commit is contained in:
Subrata Banik 2023-04-02 15:31:06 +05:30 committed by Lean Sheng Tan
parent 39b7665abe
commit fa85b0f37c
1 changed files with 21 additions and 0 deletions

View File

@ -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