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 #include #include #include #include #include +#include #include #include #include @@ -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)