cpu/x86/smm/smm_module_loader.c: Fix STM setup

CB:63475 inadvertently disabled the STM by moving its load point
off of the MSEG boundry, which is a hardware requirement. In
addition, the BIOS resource list cannot be located within the
MSEG.  This patch fixes the issue by moving the STM load point
to the MSEG boundry and placing the bios resource list just below
the MSEG where the STM setup functions can find it.

Fixes: commit 5747f6c (cpu/x86/smm_module_loader.c Rewrite setup)
Signed-off-by: Eugene Myers <edmyers@tycho.nsa.gov>
Change-Id: I7359939063bb1a172fcb701551c099edebfbedd5
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67665
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-by: Eugene Myers <cedarhouse1@comcast.net>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Eugene Myers 2022-09-15 15:33:58 -04:00 committed by Paul Fagerburg
parent d9251165cf
commit a19ff6dea3
1 changed files with 1 additions and 1 deletions

View File

@ -428,7 +428,7 @@ int smm_load_module(const uintptr_t smram_base, const size_t smram_size,
const uintptr_t smram_top = region_end(&smram); const uintptr_t smram_top = region_end(&smram);
const size_t stm_size = const size_t stm_size =
CONFIG(STM) ? CONFIG_MSEG_SIZE - CONFIG_BIOS_RESOURCE_LIST_SIZE : 0; CONFIG(STM) ? CONFIG_MSEG_SIZE + CONFIG_BIOS_RESOURCE_LIST_SIZE : 0;
if (CONFIG(STM)) { if (CONFIG(STM)) {
struct region stm = {}; struct region stm = {};