diff options
author | Arthur Heymans <arthur@aheymans.xyz> | 2021-02-15 13:08:43 +0100 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2021-03-18 08:11:03 +0000 |
commit | 5dfb3314b436fd5edf6f65112f34d7d8e3f1a162 (patch) | |
tree | fd5564cf0f2a0b68992d8707777e68e250a59c61 /src/include/cpu | |
parent | 3419aaebf06195afb943b77a20d56e69bd8d2431 (diff) |
cpu/x86/smm: Move relocatable stub params
These stub params need to be synced with the code in smm_stub.S and
are consumed by both the smmloader and smmloader_v2. So it is better
to have the definition located in one place.
Change-Id: Ide3e0cb6dea3359fa9ae660eab627499832817c9
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/50761
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/include/cpu')
-rw-r--r-- | src/include/cpu/x86/smm.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/include/cpu/x86/smm.h b/src/include/cpu/x86/smm.h index cd83bdf4bd..30accb3041 100644 --- a/src/include/cpu/x86/smm.h +++ b/src/include/cpu/x86/smm.h @@ -81,6 +81,18 @@ struct smm_module_params { const uintptr_t *canary; }; +/* These parameters are used by the SMM stub code. A pointer to the params + * is also passed to the C-base handler. */ +struct smm_stub_params { + u32 stack_size; + u32 stack_top; + u32 c_handler; + u32 c_handler_arg; + u32 fxsave_area; + u32 fxsave_area_size; + struct smm_runtime runtime; +} __packed; + /* smm_handler_t is called with arg of smm_module_params pointer. */ typedef asmlinkage void (*smm_handler_t)(void *); |