summaryrefslogtreecommitdiff
path: root/src/soc/amd/common/block/cpu/Kconfig
diff options
context:
space:
mode:
authorMatt DeVillier <matt.devillier@gmail.com>2023-10-14 18:55:20 -0500
committerFelix Held <felix-coreboot@felixheld.de>2023-10-25 20:20:34 +0000
commit33aa2901f85b8a37b0984e378b405465e17f2ce6 (patch)
tree7f68ecb8de20920842014ac03d441c1d75ebab3f /src/soc/amd/common/block/cpu/Kconfig
parent51d1f30d0eed4d594d351cc3c1d92f48f45bfb27 (diff)
soc/amd/common/smm: Add option for late SMM locking
Pre-Zen SoCs like Stoneyridge call into an AGESA binary as part of S3 resume, which will fail if SMM is locked, causing the device to (eventually) cold boot. To mitigate this, add a new Kconfig to enable "late" SMM locking, which restores the previous behavior prior to commit 43ed5d253422 ("cpu/amd: Move locking SMM as part of SMM init"). TEST=tested with rest of patch train Change-Id: I9971814415271a6a107c327523a0a7c188a91df6 Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/78352 Reviewed-by: Felix Held <felix-coreboot@felixheld.de> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/soc/amd/common/block/cpu/Kconfig')
-rw-r--r--src/soc/amd/common/block/cpu/Kconfig9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/soc/amd/common/block/cpu/Kconfig b/src/soc/amd/common/block/cpu/Kconfig
index f926887cf5..1ffaece9dd 100644
--- a/src/soc/amd/common/block/cpu/Kconfig
+++ b/src/soc/amd/common/block/cpu/Kconfig
@@ -85,6 +85,15 @@ config SOC_AMD_COMMON_BLOCK_SMM
Add common SMM relocation, finalization and handler functionality to
the build.
+config SOC_AMD_COMMON_LATE_SMM_LOCKING
+ bool
+ depends on SOC_AMD_COMMON_BLOCK_SMM
+ help
+ Select this option to perform SMM locking late in soc_finalize(), rather than earlier
+ in smm_relocation_handler(). This is required for pre-Zen SoCs like Stoneyridge which
+ call into an AGESA binary as part of S3 resume, and require SMM to still be unlocked
+ at that time.
+
config SOC_AMD_COMMON_BLOCK_SVI2
bool
help