summaryrefslogtreecommitdiff
path: root/src/cpu/intel/microcode
diff options
context:
space:
mode:
Diffstat (limited to 'src/cpu/intel/microcode')
-rw-r--r--src/cpu/intel/microcode/microcode.c16
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)