summaryrefslogtreecommitdiff
path: root/src/include/cpu
diff options
context:
space:
mode:
authorArthur Heymans <arthur@aheymans.xyz>2021-02-15 13:08:43 +0100
committerPatrick Georgi <pgeorgi@google.com>2021-03-18 08:11:03 +0000
commit5dfb3314b436fd5edf6f65112f34d7d8e3f1a162 (patch)
treefd5564cf0f2a0b68992d8707777e68e250a59c61 /src/include/cpu
parent3419aaebf06195afb943b77a20d56e69bd8d2431 (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.h12
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 *);