diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/console/printk.c | 21 | ||||
-rw-r--r-- | src/include/console/console.h | 16 | ||||
-rw-r--r-- | src/security/vboot/vboot_logic.c | 2 |
3 files changed, 16 insertions, 23 deletions
diff --git a/src/console/printk.c b/src/console/printk.c index 735876ee5a..0a9d3bf8ae 100644 --- a/src/console/printk.c +++ b/src/console/printk.c @@ -39,9 +39,8 @@ static void wrap_putchar(unsigned char byte, void *data) do_putchar(byte); } -int do_printk(int msg_level, const char *fmt, ...) +int vprintk(int msg_level, const char *fmt, va_list args) { - va_list args; int i; if (IS_ENABLED(CONFIG_SQUELCH_EARLY_SMP) && ENV_CACHE_AS_RAM && @@ -60,9 +59,7 @@ int do_printk(int msg_level, const char *fmt, ...) spin_lock(&console_lock); #endif - va_start(args, fmt); i = vtxprintf(wrap_putchar, fmt, args, NULL); - va_end(args); console_tx_flush(); @@ -78,12 +75,14 @@ int do_printk(int msg_level, const char *fmt, ...) return i; } -#if IS_ENABLED(CONFIG_VBOOT) -void do_printk_va_list(int msg_level, const char *fmt, va_list args) +int do_printk(int msg_level, const char *fmt, ...) { - if (!console_log_level(msg_level)) - return; - vtxprintf(wrap_putchar, fmt, args, NULL); - console_tx_flush(); + va_list args; + int i; + + va_start(args, fmt); + i = vprintk(msg_level, fmt, args); + va_end(args); + + return i; } -#endif /* CONFIG_VBOOT */ diff --git a/src/include/console/console.h b/src/include/console/console.h index 7ab61ea495..33fe2dfd17 100644 --- a/src/include/console/console.h +++ b/src/include/console/console.h @@ -19,6 +19,7 @@ #include <stdint.h> #include <arch/cpu.h> #include <console/post_codes.h> +#include <console/vtxprintf.h> #include <commonlib/loglevel.h> #define RAM_DEBUG (IS_ENABLED(CONFIG_DEBUG_RAM_SETUP) ? BIOS_DEBUG : BIOS_NEVER) @@ -56,8 +57,6 @@ void die_notify(void); #if __CONSOLE_ENABLE__ asmlinkage void console_init(void); int console_log_level(int msg_level); -int do_printk(int msg_level, const char *fmt, ...) - __attribute__((format(printf, 2, 3))); void do_putchar(unsigned char byte); #define printk(LEVEL, fmt, args...) \ @@ -82,15 +81,10 @@ static inline void printk(int LEVEL, const char *fmt, ...) {} static inline void do_putchar(unsigned char byte) {} #endif -#if IS_ENABLED(CONFIG_VBOOT) -/* FIXME: Collision of varargs with AMD headers without guard. */ -#include <console/vtxprintf.h> -#if __CONSOLE_ENABLE__ -void do_printk_va_list(int msg_level, const char *fmt, va_list args); -#else -static inline void do_printk_va_list(int l, const char *fmt, va_list args) {} -#endif -#endif +int vprintk(int msg_level, const char *fmt, va_list args); + +int do_printk(int msg_level, const char *fmt, ...) + __attribute__((format(printf, 2, 3))); #endif /* !__ROMCC__ */ diff --git a/src/security/vboot/vboot_logic.c b/src/security/vboot/vboot_logic.c index 00bbae6204..8c3ba80da0 100644 --- a/src/security/vboot/vboot_logic.c +++ b/src/security/vboot/vboot_logic.c @@ -48,7 +48,7 @@ void vb2ex_printf(const char *func, const char *fmt, ...) printk(BIOS_INFO, "VB2:%s() ", func); va_start(args, fmt); - do_printk_va_list(BIOS_INFO, fmt, args); + vprintk(BIOS_INFO, fmt, args); va_end(args); return; |