[coreboot-gerrit] Change in coreboot[master]: soc/intel/skylake: Remove post SMM Relocation uCode loading

Barnali Sarkar (Code Review) gerrit at coreboot.org
Thu Jun 22 14:30:56 CEST 2017


Barnali Sarkar has uploaded this change for review. ( https://review.coreboot.org/20306


Change subject: soc/intel/skylake: Remove post SMM Relocation uCode loading
......................................................................

soc/intel/skylake: Remove post SMM Relocation uCode loading

As per latest BWG, ucode reloading should be done at the end
of Mp Init, i.e., after PRMRR and other features enabled.
No reloading specifically after SMM Relocation is required.

As, in the Common CPU MP Init code, we are already doing a
uCode load at the end of MP Init Feature Programming, hence,
the uCode loading after SMM relocation can be removed.

Change-Id: Ib1957c5fe5a8c83bb20b978a9841670b0c3e8846
Signed-off-by: Barnali Sarkar <barnali.sarkar at intel.com>
---
M src/soc/intel/skylake/cpu.c
1 file changed, 1 insertion(+), 20 deletions(-)



  git pull ssh://review.coreboot.org:29418/coreboot refs/changes/06/20306/1

diff --git a/src/soc/intel/skylake/cpu.c b/src/soc/intel/skylake/cpu.c
index f3bd995..e3be738 100644
--- a/src/soc/intel/skylake/cpu.c
+++ b/src/soc/intel/skylake/cpu.c
@@ -46,20 +46,6 @@
 #include <soc/smm.h>
 #include <soc/systemagent.h>
 
-/*
- * TODO: This Global variable must be removed once the following
- * two cases are resolved -
- *
- * 1) SGX enabling for the BSP issue gets solved, due to which
- * configure_sgx() function is kept inside soc_init_cpus().
- * 2) uCode loading after SMM relocation is deleted inside
- * per_cpu_smm_trigger() function, since as per
- * current BWG, uCode loading can be done after all feature
- * programmings are done. There is no specific recommendation
- * to do it after SMM Relocation.
- */
-static const void *microcode_patch;
-
 /* Convert time in seconds to POWER_LIMIT_1_TIME MSR value */
 static const u8 power_limit_time_sec_to_msr[] = {
 	[0]   = 0x00,
@@ -453,9 +439,6 @@
 {
 	/* Relocate the SMM handler. */
 	smm_relocate();
-
-	/* After SMM relocation a 2nd microcode load is required. */
-	intel_microcode_load_unlocked(microcode_patch);
 }
 
 static void post_mp_init(void)
@@ -494,8 +477,6 @@
 
 void soc_init_cpus(struct bus *cpu_bus, const void *microcode)
 {
-	microcode_patch = microcode;
-
 	if (mp_init_with_smm(cpu_bus, &mp_ops))
 		printk(BIOS_ERR, "MP initialization failure.\n");
 
@@ -508,7 +489,7 @@
 	 * here to get SGX enabled on BSP. This behavior needs to root-caused
 	 * and we shall not have this redundant call.
 	 */
-	configure_sgx(microcode_patch);
+	configure_sgx(microcode);
 }
 
 int soc_skip_ucode_update(u32 current_patch_id, u32 new_patch_id)

-- 
To view, visit https://review.coreboot.org/20306
To unsubscribe, visit https://review.coreboot.org/settings

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib1957c5fe5a8c83bb20b978a9841670b0c3e8846
Gerrit-Change-Number: 20306
Gerrit-PatchSet: 1
Gerrit-Owner: Barnali Sarkar <barnali.sarkar at intel.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/coreboot-gerrit/attachments/20170622/24c55093/attachment-0001.html>


More information about the coreboot-gerrit mailing list