diff options
author | Arthur Heymans <arthur@aheymans.xyz> | 2023-12-27 20:54:19 +0100 |
---|---|---|
committer | Arthur Heymans <arthur@aheymans.xyz> | 2024-04-05 07:10:17 +0000 |
commit | d57d5e3b3737607e4351ba460d0248a195279f2d (patch) | |
tree | 8f6cf0b7dab07f47cf4296cd8e14fcdefd188060 /src/include/cpu/x86/smm.h | |
parent | c72a65dccde199ef3e9b7ab51db86791b58e7b43 (diff) |
smmstorev2: Load the communication buffer at SMM setup
This removes the runtime SMI call to set up the communication buffer
for SMMSTORE in favor of setting this buffer up during the installation
of the smihandler.
The reason is that it's less code in the handler and a time costly SMI
is also avoided in ramstage.
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Change-Id: I94dce77711f37f87033530f5ae48cb850a39341b
Reviewed-on: https://review.coreboot.org/c/coreboot/+/79738
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Diffstat (limited to 'src/include/cpu/x86/smm.h')
-rw-r--r-- | src/include/cpu/x86/smm.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/include/cpu/x86/smm.h b/src/include/cpu/x86/smm.h index a12065b90b..44a1086e4f 100644 --- a/src/include/cpu/x86/smm.h +++ b/src/include/cpu/x86/smm.h @@ -93,6 +93,8 @@ struct smm_runtime { #endif uintptr_t save_state_top[CONFIG_MAX_CPUS]; int smm_log_level; + uintptr_t smmstore_com_buffer_base; + size_t smmstore_com_buffer_size; } __packed; struct smm_module_params { @@ -231,4 +233,6 @@ bool smm_pci_resource_store_fill_resources(struct smm_pci_resource_info *slots, void smm_pci_resource_store_init(struct smm_runtime *smm_runtime); +void smm_get_smmstore_com_buffer(uintptr_t *base, size_t *size); + #endif /* CPU_X86_SMM_H */ |