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>
This commit is contained in:
Arthur Heymans 2021-02-15 13:08:43 +01:00 committed by Patrick Georgi
parent 3419aaebf0
commit 5dfb3314b4
3 changed files with 12 additions and 24 deletions

View File

@ -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.

View File

@ -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.

View File

@ -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 *);