Hello build bot (Jenkins), Jonathan Zhang, David Hendricks, Angel Pons, Aaron Durbin,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/47072
to look at the new patch set (#5).
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 SMM relocation CPU stacks would normally be properly allocated inside the DEFAULT_SMBASE but this change won't hurt either.
Tested: works fine on OCP/Deltalake with the SMM relocation handler stack inside the ramstage heap.
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, 35 insertions(+), 12 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/72/47072/5