Aaron Durbin (adurbin@chromium.org) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/14560
-gerrit
commit a60a2ca4beb94b0bb0dd4385a9c513974065eae0 Author: Aaron Durbin adurbin@chromium.org Date: Sat Apr 30 14:56:20 2016 -0500
cpu/x86/smm_module_loader: always build with SMM module support
The SMM module loader code was guarded by CONFIG_SMM_TSEG, however that's not necessary. It's up to the chipset to take advantage of the SMM module loading. It'll get optimized out if the code isn't used anyway so just expose the declarations.
Change-Id: I6ba1b91d0c84febd4f1a92737b3d7303ab61b343 Signed-off-by: Aaron Durbin adurbin@chromium.org --- src/cpu/x86/smm/Makefile.inc | 3 +-- src/include/cpu/x86/smm.h | 6 +----- 2 files changed, 2 insertions(+), 7 deletions(-)
diff --git a/src/cpu/x86/smm/Makefile.inc b/src/cpu/x86/smm/Makefile.inc index c912a8f..72c9796 100644 --- a/src/cpu/x86/smm/Makefile.inc +++ b/src/cpu/x86/smm/Makefile.inc @@ -14,6 +14,7 @@ ##
ramstage-$(CONFIG_BACKUP_DEFAULT_SMM_REGION) += backup_default_smm.c +ramstage-y += smm_module_loader.c
ifeq ($(CONFIG_ARCH_RAMSTAGE_X86_32),y) $(eval $(call create_class_compiler,smm,x86_32)) @@ -42,8 +43,6 @@ smmstub-y += smm_stub.S
smm-y += smm_module_handler.c
-ramstage-y += smm_module_loader.c - ramstage-srcs += $(obj)/cpu/x86/smm/smm.manual ramstage-srcs += $(obj)/cpu/x86/smm/smmstub.manual
diff --git a/src/include/cpu/x86/smm.h b/src/include/cpu/x86/smm.h index 64759b0..2b13f8c 100644 --- a/src/include/cpu/x86/smm.h +++ b/src/include/cpu/x86/smm.h @@ -488,8 +488,6 @@ void smi_release_lock(void); /* Get PMBASE address */ u16 smm_get_pmbase(void);
-#if CONFIG_SMM_TSEG - struct smm_runtime { u32 smbase; u32 save_state_size; @@ -520,8 +518,8 @@ void asmlinkage smm_handler_start(void *params); /* Retrieve SMM save state for a given CPU. WARNING: This does not take into * account CPUs which are configured to not save their state to RAM. */ void *smm_get_save_state(int cpu); +#endif /* __SMM__ */
-#else /* SMM Module Loading API */
/* The smm_loader_params structure provides direction to the SMM loader: @@ -559,8 +557,6 @@ struct smm_loader_params { /* Both of these return 0 on success, < 0 on failure. */ int smm_setup_relocation_handler(struct smm_loader_params *params); int smm_load_module(void *smram, int size, struct smm_loader_params *params); -#endif /* __SMM__ */ -#endif /* CONFIG_SMM_TSEG */
/* Backup and restore default SMM region. */ void *backup_default_smm_area(void);