aboutsummaryrefslogtreecommitdiff
path: root/src/include/console/console.h
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2014-02-26 15:19:04 +0200
committerKyösti Mälkki <kyosti.malkki@gmail.com>2014-04-18 16:41:09 +0200
commitf3390862653f9473359eb9a587842bb04671e6df (patch)
tree2a6f8171cdac86609b1552e3417816bd6877e4ff /src/include/console/console.h
parente8792be223f5f0c5c6bafffa4056793f3c3bfab7 (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.h31
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) {};