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>
This commit is contained in:
parent
01b60633a8
commit
92bb8320d6
|
@ -17,11 +17,11 @@
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
#if !defined(__ROMCC__)
|
#if !defined(__ROMCC__)
|
||||||
#include <cbfs.h>
|
#include <cbfs.h>
|
||||||
#include <console/console.h>
|
|
||||||
#else
|
#else
|
||||||
#include <arch/cbfs.h>
|
#include <arch/cbfs.h>
|
||||||
#endif
|
#endif
|
||||||
#include <arch/cpu.h>
|
#include <arch/cpu.h>
|
||||||
|
#include <console/console.h>
|
||||||
#include <cpu/x86/msr.h>
|
#include <cpu/x86/msr.h>
|
||||||
#include <cpu/intel/microcode.h>
|
#include <cpu/intel/microcode.h>
|
||||||
#include <smp/spinlock.h>
|
#include <smp/spinlock.h>
|
||||||
|
@ -84,9 +84,7 @@ void intel_microcode_load_unlocked(const void *microcode_patch)
|
||||||
|
|
||||||
/* No use loading the same revision. */
|
/* 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");
|
printk(BIOS_INFO, "microcode: Update skipped, already up-to-date\n");
|
||||||
#endif
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -104,18 +102,14 @@ void intel_microcode_load_unlocked(const void *microcode_patch)
|
||||||
|
|
||||||
current_rev = read_microcode_rev();
|
current_rev = read_microcode_rev();
|
||||||
if (current_rev == m->rev) {
|
if (current_rev == m->rev) {
|
||||||
#if !defined(__ROMCC__)
|
|
||||||
printk(BIOS_INFO, "microcode: updated to revision "
|
printk(BIOS_INFO, "microcode: updated to revision "
|
||||||
"0x%x date=%04x-%02x-%02x\n", read_microcode_rev(),
|
"0x%x date=%04x-%02x-%02x\n", read_microcode_rev(),
|
||||||
m->date & 0xffff, (m->date >> 24) & 0xff,
|
m->date & 0xffff, (m->date >> 24) & 0xff,
|
||||||
(m->date >> 16) & 0xff);
|
(m->date >> 16) & 0xff);
|
||||||
#endif
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !defined(__ROMCC__)
|
|
||||||
printk(BIOS_INFO, "microcode: Update failed\n");
|
printk(BIOS_INFO, "microcode: Update failed\n");
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t get_current_microcode_rev(void)
|
uint32_t get_current_microcode_rev(void)
|
||||||
|
@ -180,13 +174,9 @@ const void *intel_microcode_find(void)
|
||||||
msr = rdmsr(IA32_PLATFORM_ID);
|
msr = rdmsr(IA32_PLATFORM_ID);
|
||||||
pf = 1 << ((msr.hi >> 18) & 7);
|
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",
|
printk(BIOS_DEBUG, "microcode: sig=0x%x pf=0x%x revision=0x%x\n",
|
||||||
sig, pf, rev);
|
sig, pf, rev);
|
||||||
#endif
|
|
||||||
|
|
||||||
while (microcode_len >= sizeof(*ucode_updates)) {
|
while (microcode_len >= sizeof(*ucode_updates)) {
|
||||||
/* Newer microcode updates include a size field, whereas older
|
/* Newer microcode updates include a size field, whereas older
|
||||||
|
@ -194,17 +184,13 @@ const void *intel_microcode_find(void)
|
||||||
if (ucode_updates->total_size) {
|
if (ucode_updates->total_size) {
|
||||||
update_size = ucode_updates->total_size;
|
update_size = ucode_updates->total_size;
|
||||||
} else {
|
} else {
|
||||||
#if !defined(__ROMCC__)
|
|
||||||
printk(BIOS_SPEW, "Microcode size field is 0\n");
|
printk(BIOS_SPEW, "Microcode size field is 0\n");
|
||||||
#endif
|
|
||||||
update_size = 2048;
|
update_size = 2048;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Checkpoint 1: The microcode update falls within CBFS */
|
/* Checkpoint 1: The microcode update falls within CBFS */
|
||||||
if (update_size > microcode_len) {
|
if (update_size > microcode_len) {
|
||||||
#if !defined(__ROMCC__)
|
|
||||||
printk(BIOS_WARNING, "Microcode header corrupted!\n");
|
printk(BIOS_WARNING, "Microcode header corrupted!\n");
|
||||||
#endif
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,6 @@
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <arch/cpu.h>
|
#include <arch/cpu.h>
|
||||||
#include <console/post_codes.h>
|
#include <console/post_codes.h>
|
||||||
#include <console/vtxprintf.h>
|
|
||||||
|
|
||||||
/* console.h is supposed to provide the log levels defined in here: */
|
/* console.h is supposed to provide the log levels defined in here: */
|
||||||
#include <commonlib/loglevel.h>
|
#include <commonlib/loglevel.h>
|
||||||
|
@ -29,6 +28,8 @@
|
||||||
|
|
||||||
#ifndef __ROMCC__
|
#ifndef __ROMCC__
|
||||||
|
|
||||||
|
#include <console/vtxprintf.h>
|
||||||
|
|
||||||
void post_code(u8 value);
|
void post_code(u8 value);
|
||||||
#if CONFIG(CMOS_POST_EXTRA)
|
#if CONFIG(CMOS_POST_EXTRA)
|
||||||
void post_log_extra(u32 value);
|
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);
|
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 /* !__ROMCC__ */
|
||||||
|
|
||||||
#endif /* CONSOLE_CONSOLE_H_ */
|
#endif /* CONSOLE_CONSOLE_H_ */
|
||||||
|
|
Loading…
Reference in New Issue