<p>Barnali Sarkar has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/20306">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">soc/intel/skylake: Remove post SMM Relocation uCode loading<br><br>As per latest BWG, ucode reloading should be done at the end<br>of Mp Init, i.e., after PRMRR and other features enabled.<br>No reloading specifically after SMM Relocation is required.<br><br>As, in the Common CPU MP Init code, we are already doing a<br>uCode load at the end of MP Init Feature Programming, hence,<br>the uCode loading after SMM relocation can be removed.<br><br>Change-Id: Ib1957c5fe5a8c83bb20b978a9841670b0c3e8846<br>Signed-off-by: Barnali Sarkar <barnali.sarkar@intel.com><br>---<br>M src/soc/intel/skylake/cpu.c<br>1 file changed, 1 insertion(+), 20 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://review.coreboot.org:29418/coreboot refs/changes/06/20306/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">diff --git a/src/soc/intel/skylake/cpu.c b/src/soc/intel/skylake/cpu.c<br>index f3bd995..e3be738 100644<br>--- a/src/soc/intel/skylake/cpu.c<br>+++ b/src/soc/intel/skylake/cpu.c<br>@@ -46,20 +46,6 @@<br> #include <soc/smm.h><br> #include <soc/systemagent.h><br> <br>-/*<br>- * TODO: This Global variable must be removed once the following<br>- * two cases are resolved -<br>- *<br>- * 1) SGX enabling for the BSP issue gets solved, due to which<br>- * configure_sgx() function is kept inside soc_init_cpus().<br>- * 2) uCode loading after SMM relocation is deleted inside<br>- * per_cpu_smm_trigger() function, since as per<br>- * current BWG, uCode loading can be done after all feature<br>- * programmings are done. There is no specific recommendation<br>- * to do it after SMM Relocation.<br>- */<br>-static const void *microcode_patch;<br>-<br> /* Convert time in seconds to POWER_LIMIT_1_TIME MSR value */<br> static const u8 power_limit_time_sec_to_msr[] = {<br>  [0]   = 0x00,<br>@@ -453,9 +439,6 @@<br> {<br>        /* Relocate the SMM handler. */<br>       smm_relocate();<br>-<br>-   /* After SMM relocation a 2nd microcode load is required. */<br>- intel_microcode_load_unlocked(microcode_patch);<br> }<br> <br> static void post_mp_init(void)<br>@@ -494,8 +477,6 @@<br> <br> void soc_init_cpus(struct bus *cpu_bus, const void *microcode)<br> {<br>- microcode_patch = microcode;<br>-<br>       if (mp_init_with_smm(cpu_bus, &mp_ops))<br>           printk(BIOS_ERR, "MP initialization failure.\n");<br> <br>@@ -508,7 +489,7 @@<br>    * here to get SGX enabled on BSP. This behavior needs to root-caused<br>          * and we shall not have this redundant call.<br>          */<br>-  configure_sgx(microcode_patch);<br>+      configure_sgx(microcode);<br> }<br> <br> int soc_skip_ucode_update(u32 current_patch_id, u32 new_patch_id)<br></pre><p>To view, visit <a href="https://review.coreboot.org/20306">change 20306</a>. To unsubscribe, visit <a href="https://review.coreboot.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://review.coreboot.org/20306"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: coreboot </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: Ib1957c5fe5a8c83bb20b978a9841670b0c3e8846 </div>
<div style="display:none"> Gerrit-Change-Number: 20306 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Barnali Sarkar <barnali.sarkar@intel.com> </div>