diff options
author | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2014-02-26 15:19:04 +0200 |
---|---|---|
committer | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2014-04-18 16:41:09 +0200 |
commit | f3390862653f9473359eb9a587842bb04671e6df (patch) | |
tree | 2a6f8171cdac86609b1552e3417816bd6877e4ff /src/include/console/console.h | |
parent | e8792be223f5f0c5c6bafffa4056793f3c3bfab7 (diff) |
console: Simplify the enable rules
Consoles on CBMEM and USB have somewhat complex rules and dependencies
when they can be active. Use simple variables to test which stage
of boot is being built for each console.
Change-Id: I2489e7731d07ca7d5dd2ea8b6501c73f05d6edd8
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: http://review.coreboot.org/5341
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@gmail.com>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Diffstat (limited to 'src/include/console/console.h')
-rw-r--r-- | src/include/console/console.h | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/src/include/console/console.h b/src/include/console/console.h index a15f608407..78426b24bf 100644 --- a/src/include/console/console.h +++ b/src/include/console/console.h @@ -21,10 +21,10 @@ #define CONSOLE_CONSOLE_H_ #include <stdint.h> +#include <rules.h> #include <console/post_codes.h> #ifndef __ROMCC__ -int console_log_level(int msg_level); void post_code(u8 value); #if CONFIG_CMOS_POST_EXTRA void post_log_extra(u32 value); @@ -40,32 +40,31 @@ void post_log_clear(void); void mainboard_post(u8 value); void __attribute__ ((noreturn)) die(const char *msg); -#if defined(__BOOT_BLOCK__) && !CONFIG_BOOTBLOCK_CONSOLE || \ - defined(__SMM__) && !CONFIG_DEBUG_SMI || \ - (defined(__PRE_RAM__) && !defined(__BOOT_BLOCK__)) && !CONFIG_EARLY_CONSOLE - -/* Do nothing. */ -static inline void printk(int LEVEL, const char *fmt, ...) {} -static inline void do_putchar(unsigned char byte) {} -static inline void console_init(void) {} - -#else +#define __CONSOLE_ENABLE__ \ + ((ENV_BOOTBLOCK && CONFIG_BOOTBLOCK_CONSOLE) || \ + (ENV_ROMSTAGE && CONFIG_EARLY_CONSOLE) || \ + ENV_RAMSTAGE || (ENV_SMM && CONFIG_DEBUG_SMI)) +#if __CONSOLE_ENABLE__ 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...) \ - do { \ - do_printk(LEVEL, fmt, ##args); \ - } while(0) +#define printk(LEVEL, fmt, args...) \ + do { do_printk(LEVEL, fmt, ##args); } while(0) +#else +static inline void console_init(void) {} +static inline int console_log_level(int msg_level) { return 0; } +static inline void printk(int LEVEL, const char *fmt, ...) {} +static inline void do_putchar(unsigned char byte) {} #endif #if CONFIG_CHROMEOS /* FIXME: Collision of varargs with AMD headers without guard. */ #include <console/vtxprintf.h> -#if !defined(__PRE_RAM__) || CONFIG_EARLY_CONSOLE +#if __CONSOLE_ENABLE__ void do_vtxprintf(const char *fmt, va_list args); #else static inline void do_vtxprintf(const char *fmt, va_list args) {}; |