Hello build bot (Jenkins), Angel Pons,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/47072
to look at the new patch set (#3).
Change subject: cpu/x86/mp_init.c: Allocate the smm relocation stack on the heap ......................................................................
cpu/x86/mp_init.c: Allocate the smm relocation stack on the heap
The smm_module_loader v2 places stack_top at DEFAULT_SMBASE + per_cpu_stack_size. The smm_stub assembly will put the stack for a CPU at stack_top - apicid * stack_size. So for loader v2 this means that areas below DEFAULT_SMBASE get used as a CPU stack. This would cause lower memory corruption on S3 resume.
The solution is to use ramstage heap as a temporary place for the smm relocation stacks. This completely avoids using lower memory for CPU stacks.
On v1 all the CPU stacks would be properly allocated inside the DEFAULT_SMBASE but this change won't hurt either.
Tested: works fine on OCP/Deltalake.
Change-Id: I125d3aa6526c923e154c41e2d586557c7d8f56c3 Signed-off-by: Arthur Heymans arthur@aheymans.xyz --- M src/cpu/x86/mp_init.c M src/cpu/x86/smm/smm_module_loader.c M src/cpu/x86/smm/smm_module_loaderv2.c 3 files changed, 33 insertions(+), 12 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/72/47072/3