summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2019-08-05 12:49:09 +0300
committerKyösti Mälkki <kyosti.malkki@gmail.com>2019-08-09 13:13:41 +0000
commit2e3aff8d86a98d66196443592946ae9272e6386c (patch)
treefcabcafa9d9959534b0a8939a2290e3e5ab0db88
parent544369ebf3223eda11279614b93b9e05f7f27170 (diff)
downloadcoreboot-2e3aff8d86a98d66196443592946ae9272e6386c.tar.xz
cpu/x86/smm: Drop SMI handler address from struct
Change-Id: Ib925b11ba269e0f3a9a0a7550705bf2a6794c5b1 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/34747 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org>
-rw-r--r--src/soc/intel/cannonlake/include/soc/smm.h2
-rw-r--r--src/soc/intel/cannonlake/smmrelocate.c5
-rw-r--r--src/soc/intel/icelake/include/soc/smm.h2
-rw-r--r--src/soc/intel/icelake/smmrelocate.c5
-rw-r--r--src/soc/intel/skylake/include/soc/smm.h2
-rw-r--r--src/soc/intel/skylake/smmrelocate.c5
6 files changed, 6 insertions, 15 deletions
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, &params->smram_base, &params->smram_size);
smm_subregion(SMM_SUBREGION_CHIPSET, &params->ied_base, &params->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, &params->smram_base, &params->smram_size);
smm_subregion(SMM_SUBREGION_CHIPSET, &params->ied_base, &params->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, &params->smram_base, &params->smram_size);
smm_subregion(SMM_SUBREGION_CHIPSET, &params->ied_base, &params->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);
}