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:
parent
d9251165cf
commit
a19ff6dea3
|
@ -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 = {};
|
||||||
|
|
Loading…
Reference in New Issue