diff options
Diffstat (limited to 'src/cpu')
-rw-r--r-- | src/cpu/intel/microcode/microcode.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/cpu/intel/microcode/microcode.c b/src/cpu/intel/microcode/microcode.c index abaeeb6be8..44f7f1fbbb 100644 --- a/src/cpu/intel/microcode/microcode.c +++ b/src/cpu/intel/microcode/microcode.c @@ -88,8 +88,12 @@ void intel_microcode_load_unlocked(const void *microcode_patch) current_rev = read_microcode_rev(); /* No use loading the same revision. */ - if (current_rev == m->rev) + if (current_rev == m->rev) { +#if !defined(__ROMCC__) + printk(BIOS_INFO, "microcode: Update skipped, already up-to-date\n"); +#endif return; + } #if ENV_RAMSTAGE /*SoC specific check to update microcode*/ @@ -103,12 +107,20 @@ void intel_microcode_load_unlocked(const void *microcode_patch) msr.hi = 0; wrmsr(IA32_BIOS_UPDT_TRIG, msr); + current_rev = read_microcode_rev(); + if (current_rev == m->rev) { #if !defined(__ROMCC__) - printk(BIOS_DEBUG, "microcode: updated to revision " + printk(BIOS_INFO, "microcode: updated to revision " "0x%x date=%04x-%02x-%02x\n", read_microcode_rev(), m->date & 0xffff, (m->date >> 24) & 0xff, (m->date >> 16) & 0xff); #endif + return; + } + +#if !defined(__ROMCC__) + printk(BIOS_INFO, "microcode: Update failed\n"); +#endif } uint32_t get_current_microcode_rev(void) |