Attention is currently required from: Felix Held, Jérémy Compostella, Patrick Rudolph.
Maximilian Brune has posted comments on this change by Patrick Rudolph. ( https://review.coreboot.org/c/coreboot/+/87177?usp=email )
Change subject: cpu/x86/smm: Make SMM stub x86_32 only ......................................................................
Patch Set 7:
(1 comment)
File src/cpu/x86/smm/smm_module_entry.S:
https://review.coreboot.org/c/coreboot/+/87177/comment/16124094_3176d48c?usp... : PS7, Line 1: * SPDX-License-Identifier: GPL-2.0-only */ : : /* : * Entry code for the x86_64 permanent SMM handler. : * : * Sets up paging and converts the arguments from i386 SysV ABI : * to amd64 SysV ABI. Does not return to SMM stub, but calls rsm : * after running smm_handler_start(). : */ : : #include <cpu/x86/64bit/entry64.inc> : : .text : .extern smm_handler_start : .code32 : .global _start : _start: : /* SMM stub is x86_32 only. Switch to long mode */ : : /* Set up new stack frame */ : push %ebp : mov %esp, %ebp : : /* entry64.inc preserves ebx, esi, edi, ebp */ : setup_longmode $PML4E : : movl 8(%rbp), %eax /* smm_module_params *arg */ : movl 0(%rax), %edi /* uint32_t cpu */ : movl 4(%rax), %esi /* uint32_t *canary */ : : push %rsi /* uintptr_t *canary */ : push %rdi /* size_t cpu */ : : mov %rsp, %rdi /* smm_module_params *arg */ : call smm_handler_start : : /* : * Not switching back to x86_32! : * Not restoring the stack pointer! : * Not returning to SMM stub as it's x86_32. : */ : : /* Exit SM mode */ : rsm
I am confused. […]
Ok CB:87554 took care of my confusion.