aboutsummaryrefslogtreecommitdiff
path: root/src/include/console/console.h
diff options
context:
space:
mode:
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) {};