summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2019-09-24 22:40:43 +0300
committerKyösti Mälkki <kyosti.malkki@gmail.com>2019-09-30 08:40:58 +0000
commit92bb8320d62449207b45f5a76a011f1eacfdbd4f (patch)
treeb75911925923ad3e8359fddd16fca0183beea4f3
parent01b60633a85495bf9041f61176fa26198a4eca54 (diff)
downloadcoreboot-92bb8320d62449207b45f5a76a011f1eacfdbd4f.tar.xz
console: Declare empty printk() for __ROMCC__
The typical do { } while (0) did not work, so provide empty stub function instead. Change-Id: Ieb0c33b082b4c4453d29d917f46561c0e672d09a Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/35588 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org>
-rw-r--r--src/cpu/intel/microcode/microcode.c18
-rw-r--r--src/include/console/console.h8
2 files changed, 9 insertions, 17 deletions
diff --git a/src/cpu/intel/microcode/microcode.c b/src/cpu/intel/microcode/microcode.c
index feb73c8b42..80470bf236 100644
--- a/src/cpu/intel/microcode/microcode.c
+++ b/src/cpu/intel/microcode/microcode.c
@@ -17,11 +17,11 @@
#include <stddef.h>
#if !defined(__ROMCC__)
#include <cbfs.h>
-#include <console/console.h>
#else
#include <arch/cbfs.h>
#endif
#include <arch/cpu.h>
+#include <console/console.h>
#include <cpu/x86/msr.h>
#include <cpu/intel/microcode.h>
#include <smp/spinlock.h>
@@ -84,9 +84,7 @@ void intel_microcode_load_unlocked(const void *microcode_patch)
/* No use loading the same revision. */
if (current_rev == m->rev) {
-#if !defined(__ROMCC__)
printk(BIOS_INFO, "microcode: Update skipped, already up-to-date\n");
-#endif
return;
}
@@ -104,18 +102,14 @@ void intel_microcode_load_unlocked(const void *microcode_patch)
current_rev = read_microcode_rev();
if (current_rev == m->rev) {
-#if !defined(__ROMCC__)
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)
@@ -180,13 +174,9 @@ const void *intel_microcode_find(void)
msr = rdmsr(IA32_PLATFORM_ID);
pf = 1 << ((msr.hi >> 18) & 7);
}
-#if !defined(__ROMCC__)
- /* If this code is compiled with ROMCC we're probably in
- * the bootblock and don't have console output yet.
- */
+
printk(BIOS_DEBUG, "microcode: sig=0x%x pf=0x%x revision=0x%x\n",
sig, pf, rev);
-#endif
while (microcode_len >= sizeof(*ucode_updates)) {
/* Newer microcode updates include a size field, whereas older
@@ -194,17 +184,13 @@ const void *intel_microcode_find(void)
if (ucode_updates->total_size) {
update_size = ucode_updates->total_size;
} else {
- #if !defined(__ROMCC__)
printk(BIOS_SPEW, "Microcode size field is 0\n");
- #endif
update_size = 2048;
}
/* Checkpoint 1: The microcode update falls within CBFS */
if (update_size > microcode_len) {
-#if !defined(__ROMCC__)
printk(BIOS_WARNING, "Microcode header corrupted!\n");
-#endif
break;
}
diff --git a/src/include/console/console.h b/src/include/console/console.h
index e5b753e8b6..1c2a276af0 100644
--- a/src/include/console/console.h
+++ b/src/include/console/console.h
@@ -19,7 +19,6 @@
#include <stdint.h>
#include <arch/cpu.h>
#include <console/post_codes.h>
-#include <console/vtxprintf.h>
/* console.h is supposed to provide the log levels defined in here: */
#include <commonlib/loglevel.h>
@@ -29,6 +28,8 @@
#ifndef __ROMCC__
+#include <console/vtxprintf.h>
+
void post_code(u8 value);
#if CONFIG(CMOS_POST_EXTRA)
void post_log_extra(u32 value);
@@ -93,6 +94,11 @@ int do_printk(int msg_level, const char *fmt, ...)
int do_vprintk(int msg_level, const char *fmt, va_list args);
+#else
+
+static inline void romcc_printk(void) { }
+#define printk(...) romcc_printk()
+
#endif /* !__ROMCC__ */
#endif /* CONSOLE_CONSOLE_H_ */