static void smm_relocate(void *unused) { /* Load relocation and permanent handler. */ if (boot_cpu()) { if (smm_load_handlers() < 0) { printk(BIOS_ERR, "Error loading SMM handlers.\n"); return; } southcluster_smm_clear_state(); } /* Relocate SMM space. */ smm_initiate_relocation(); }
static void smm_relocate(void *unused) { const struct pattrs *pattrs = pattrs_get(); /* Load relocation and permanent handler. */ if (boot_cpu()) { if (smm_load_handlers() < 0) { printk(BIOS_ERR, "Error loading SMM handlers.\n"); return; } southcluster_smm_clear_state(); } /* Relocate SMM space. */ smm_initiate_relocation(); /* Load microcode after SMM relocation. */ intel_microcode_load_unlocked(pattrs->microcode_patch); }