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 | |
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')
-rw-r--r-- | src/cpu/x86/smm/smm_module_loader.c | 12 | ||||
-rw-r--r-- | src/cpu/x86/smm/smm_module_loaderv2.c | 12 | ||||
-rw-r--r-- | src/include/cpu/x86/smm.h | 12 |
3 files changed, 12 insertions, 24 deletions
diff --git a/src/cpu/x86/smm/smm_module_loader.c b/src/cpu/x86/smm/smm_module_loader.c index 876fde6733..a4ace43880 100644 --- a/src/cpu/x86/smm/smm_module_loader.c +++ b/src/cpu/x86/smm/smm_module_loader.c @@ -26,18 +26,6 @@ __attribute__((aligned(16))); * The components are assumed to consist of one consecutive region. */ -/* 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; - /* * The stub is the entry point that sets up protected mode and stacks for each * CPU. It then calls into the SMM handler module. It is encoded as an rmodule. diff --git a/src/cpu/x86/smm/smm_module_loaderv2.c b/src/cpu/x86/smm/smm_module_loaderv2.c index cd44f93cc9..8e02fa8316 100644 --- a/src/cpu/x86/smm/smm_module_loaderv2.c +++ b/src/cpu/x86/smm/smm_module_loaderv2.c @@ -27,18 +27,6 @@ __attribute__((aligned(16))); * The components are assumed to consist of one consecutive region. */ -/* 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; - /* * The stub is the entry point that sets up protected mode and stacks for each * CPU. It then calls into the SMM handler module. It is encoded as an rmodule. 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 *); |