Raul Rangel has uploaded this change for review. ( https://review.coreboot.org/27034
Change subject: cpu/x86: Make SMM stack size configurable ......................................................................
cpu/x86: Make SMM stack size configurable
Stoneyridge is running into a stack overflow in the SMM handler.
BUG=b:80539294 TEST=built on grunt
Change-Id: I94e385497bd93c3638c69fb08d9b843c3bbb55ce Signed-off-by: Raul E Rangel rrangel@chromium.org --- M src/cpu/x86/Kconfig M src/cpu/x86/mp_init.c 2 files changed, 9 insertions(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/34/27034/1
diff --git a/src/cpu/x86/Kconfig b/src/cpu/x86/Kconfig index a20febb..952b308 100644 --- a/src/cpu/x86/Kconfig +++ b/src/cpu/x86/Kconfig @@ -112,6 +112,14 @@ This option determines the size of the heap within the SMM handler modules.
+config SMM_MODULE_STACK_SIZE + hex + default 0x400 + depends on SMM_TSEG + help + This option determines the size of the stack within the SMM handler + modules. + config SMM_LAPIC_REMAP_MITIGATION bool default y if NORTHBRIDGE_INTEL_I945 diff --git a/src/cpu/x86/mp_init.c b/src/cpu/x86/mp_init.c index a696cd0..9fd10f7 100644 --- a/src/cpu/x86/mp_init.c +++ b/src/cpu/x86/mp_init.c @@ -792,7 +792,7 @@ /* There are num_cpus concurrent stacks and num_cpus concurrent save * state areas. Lastly, set the stack size to 1KiB. */ struct smm_loader_params smm_params = { - .per_cpu_stack_size = 1 * KiB, + .per_cpu_stack_size = CONFIG_SMM_MODULE_STACK_SIZE, .num_concurrent_stacks = num_cpus, .per_cpu_save_state_size = save_state_size, .num_concurrent_save_states = num_cpus,