diff options
author | Pratik Prajapati <pratikkumar.v.prajapati@intel.com> | 2017-08-14 13:47:03 -0700 |
---|---|---|
committer | Aaron Durbin <adurbin@chromium.org> | 2017-08-21 16:32:18 +0000 |
commit | 57f8386a2bfa2ca794b687cfc7846dab690fd438 (patch) | |
tree | 5bdafd9a02c7f49e85d7b235120d2a24fb0dbb5c | |
parent | 226065834b046bdeba43b71e63ec896c9adfeb0b (diff) |
intel/common/sgx: Use intel_mp_current_microcode() to get microcode pointer
Get microcode patch pointer from intel_mp_current_microcode() api
of mp_init and change sgx_configure function signature to drop
microcode_patch param.
Change-Id: I9196c30ec7ea52d7184a96b33835def197e2c799
Signed-off-by: Pratik Prajapati <pratikkumar.v.prajapati@intel.com>
Reviewed-on: https://review.coreboot.org/21009
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
-rw-r--r-- | src/soc/intel/common/block/include/intelblocks/sgx.h | 2 | ||||
-rw-r--r-- | src/soc/intel/common/block/sgx/sgx.c | 6 | ||||
-rw-r--r-- | src/soc/intel/skylake/cpu.c | 4 |
3 files changed, 8 insertions, 4 deletions
diff --git a/src/soc/intel/common/block/include/intelblocks/sgx.h b/src/soc/intel/common/block/include/intelblocks/sgx.h index 03d4ab5123..bdc35540dc 100644 --- a/src/soc/intel/common/block/include/intelblocks/sgx.h +++ b/src/soc/intel/common/block/include/intelblocks/sgx.h @@ -25,6 +25,6 @@ void cpu_lock_sgx_memory(void); /* * Configure SGX. */ -void sgx_configure(const void *microcode_patch); +void sgx_configure(void); #endif /* SOC_INTEL_COMMON_BLOCK_SGX_H */ diff --git a/src/soc/intel/common/block/sgx/sgx.c b/src/soc/intel/common/block/sgx/sgx.c index 5a0b61dda6..525e6859a9 100644 --- a/src/soc/intel/common/block/sgx/sgx.c +++ b/src/soc/intel/common/block/sgx/sgx.c @@ -13,11 +13,13 @@ * GNU General Public License for more details. */ +#include <assert.h> #include <console/console.h> #include <chip.h> #include <cpu/x86/msr.h> #include <cpu/x86/mtrr.h> #include <cpu/intel/microcode.h> +#include <intelblocks/mp_init.h> #include <intelblocks/sgx.h> #include <soc/cpu.h> #include <soc/msr.h> @@ -125,10 +127,12 @@ static void activate_sgx(void) } } -void sgx_configure(const void *microcode_patch) +void sgx_configure(void) { device_t dev = SA_DEV_ROOT; + assert(dev != NULL); config_t *conf = dev->chip_info; + const void *microcode_patch = intel_mp_current_microcode(); if (!conf->sgx_enable || !is_sgx_supported()) return; diff --git a/src/soc/intel/skylake/cpu.c b/src/soc/intel/skylake/cpu.c index 1a081915a2..fe9c00841d 100644 --- a/src/soc/intel/skylake/cpu.c +++ b/src/soc/intel/skylake/cpu.c @@ -438,7 +438,7 @@ void soc_core_init(device_t cpu, const void *microcode) enable_turbo(); /* Configure SGX */ - sgx_configure(microcode); + sgx_configure(); } static int adjust_apic_id(int index, int apic_id) @@ -505,7 +505,7 @@ void soc_init_cpus(struct bus *cpu_bus, const void *microcode) * here to get SGX enabled on BSP. This behavior needs to root-caused * and we shall not have this redundant call. */ - sgx_configure(microcode); + sgx_configure(); } int soc_skip_ucode_update(u32 current_patch_id, u32 new_patch_id) |