From 2e3aff8d86a98d66196443592946ae9272e6386c Mon Sep 17 00:00:00 2001 From: Kyösti Mälkki Date: Mon, 5 Aug 2019 12:49:09 +0300 Subject: cpu/x86/smm: Drop SMI handler address from struct MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: Ib925b11ba269e0f3a9a0a7550705bf2a6794c5b1 Signed-off-by: Kyösti Mälkki Reviewed-on: https://review.coreboot.org/c/coreboot/+/34747 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin --- src/soc/intel/cannonlake/include/soc/smm.h | 2 -- src/soc/intel/cannonlake/smmrelocate.c | 5 ++--- src/soc/intel/icelake/include/soc/smm.h | 2 -- src/soc/intel/icelake/smmrelocate.c | 5 ++--- src/soc/intel/skylake/include/soc/smm.h | 2 -- src/soc/intel/skylake/smmrelocate.c | 5 ++--- 6 files changed, 6 insertions(+), 15 deletions(-) (limited to 'src/soc') diff --git a/src/soc/intel/cannonlake/include/soc/smm.h b/src/soc/intel/cannonlake/include/soc/smm.h index 5f51fa224d..e2367a7795 100644 --- a/src/soc/intel/cannonlake/include/soc/smm.h +++ b/src/soc/intel/cannonlake/include/soc/smm.h @@ -29,8 +29,6 @@ struct ied_header { } __packed; struct smm_relocation_params { - uintptr_t smram_base; - size_t smram_size; uintptr_t ied_base; size_t ied_size; msr_t smrr_base; diff --git a/src/soc/intel/cannonlake/smmrelocate.c b/src/soc/intel/cannonlake/smmrelocate.c index 4ae383e7dc..9a23d5a8f9 100644 --- a/src/soc/intel/cannonlake/smmrelocate.c +++ b/src/soc/intel/cannonlake/smmrelocate.c @@ -188,7 +188,6 @@ static void fill_in_relocation_params(struct smm_relocation_params *params) phys_bits = cpu_phys_address_size(); smm_region(&tseg_base, &tseg_size); - smm_subregion(SMM_SUBREGION_HANDLER, ¶ms->smram_base, ¶ms->smram_size); smm_subregion(SMM_SUBREGION_CHIPSET, ¶ms->ied_base, ¶ms->ied_size); /* SMRR has 32-bits of valid address aligned to 4KiB. */ @@ -248,11 +247,11 @@ void smm_info(uintptr_t *perm_smbase, size_t *perm_smsize, fill_in_relocation_params(&smm_reloc_params); + smm_subregion(SMM_SUBREGION_HANDLER, perm_smbase, perm_smsize); + if (smm_reloc_params.ied_size) setup_ied_area(&smm_reloc_params); - *perm_smbase = smm_reloc_params.smram_base; - *perm_smsize = smm_reloc_params.smram_size; *smm_save_state_size = sizeof(em64t101_smm_state_save_area_t); } diff --git a/src/soc/intel/icelake/include/soc/smm.h b/src/soc/intel/icelake/include/soc/smm.h index 498a2217bf..2d4adf7e8c 100644 --- a/src/soc/intel/icelake/include/soc/smm.h +++ b/src/soc/intel/icelake/include/soc/smm.h @@ -28,8 +28,6 @@ struct ied_header { } __packed; struct smm_relocation_params { - uintptr_t smram_base; - size_t smram_size; uintptr_t ied_base; size_t ied_size; msr_t smrr_base; diff --git a/src/soc/intel/icelake/smmrelocate.c b/src/soc/intel/icelake/smmrelocate.c index 11745b06f5..edda5400c0 100644 --- a/src/soc/intel/icelake/smmrelocate.c +++ b/src/soc/intel/icelake/smmrelocate.c @@ -187,7 +187,6 @@ static void fill_in_relocation_params(struct smm_relocation_params *params) phys_bits = cpu_phys_address_size(); smm_region(&tseg_base, &tseg_size); - smm_subregion(SMM_SUBREGION_HANDLER, ¶ms->smram_base, ¶ms->smram_size); smm_subregion(SMM_SUBREGION_CHIPSET, ¶ms->ied_base, ¶ms->ied_size); /* SMRR has 32-bits of valid address aligned to 4KiB. */ @@ -247,11 +246,11 @@ void smm_info(uintptr_t *perm_smbase, size_t *perm_smsize, fill_in_relocation_params(&smm_reloc_params); + smm_subregion(SMM_SUBREGION_HANDLER, perm_smbase, perm_smsize); + if (smm_reloc_params.ied_size) setup_ied_area(&smm_reloc_params); - *perm_smbase = smm_reloc_params.smram_base; - *perm_smsize = smm_reloc_params.smram_size; *smm_save_state_size = sizeof(em64t101_smm_state_save_area_t); } diff --git a/src/soc/intel/skylake/include/soc/smm.h b/src/soc/intel/skylake/include/soc/smm.h index b2debe869e..9c15db2915 100644 --- a/src/soc/intel/skylake/include/soc/smm.h +++ b/src/soc/intel/skylake/include/soc/smm.h @@ -30,8 +30,6 @@ struct ied_header { } __packed; struct smm_relocation_params { - uintptr_t smram_base; - size_t smram_size; uintptr_t ied_base; size_t ied_size; msr_t smrr_base; diff --git a/src/soc/intel/skylake/smmrelocate.c b/src/soc/intel/skylake/smmrelocate.c index 42d15b79d5..9bc599a3cd 100644 --- a/src/soc/intel/skylake/smmrelocate.c +++ b/src/soc/intel/skylake/smmrelocate.c @@ -197,7 +197,6 @@ static void fill_in_relocation_params(struct smm_relocation_params *params) phys_bits = cpuid_eax(0x80000008) & 0xff; smm_region(&tseg_base, &tseg_size); - smm_subregion(SMM_SUBREGION_HANDLER, ¶ms->smram_base, ¶ms->smram_size); smm_subregion(SMM_SUBREGION_CHIPSET, ¶ms->ied_base, ¶ms->ied_size); /* SMRR has 32-bits of valid address aligned to 4KiB. */ @@ -257,11 +256,11 @@ void smm_info(uintptr_t *perm_smbase, size_t *perm_smsize, fill_in_relocation_params(&smm_reloc_params); + smm_subregion(SMM_SUBREGION_HANDLER, perm_smbase, perm_smsize); + if (smm_reloc_params.ied_size) setup_ied_area(&smm_reloc_params); - *perm_smbase = smm_reloc_params.smram_base; - *perm_smsize = smm_reloc_params.smram_size; *smm_save_state_size = sizeof(em64t101_smm_state_save_area_t); } -- cgit v1.2.3