summaryrefslogtreecommitdiffstats
path: root/src/commonlib/include
diff options
context:
space:
mode:
authorJulius Werner <jwerner@chromium.org>2022-01-21 15:15:29 -0800
committerFelix Held <felix-coreboot@felixheld.de>2022-02-07 14:11:44 +0000
commit7cd8ba6eda6979d61a3a0685057b20bf2da9be31 (patch)
tree9366479b45a370531d82d42b39a034d6b309b184 /src/commonlib/include
parent1ee6e4ab6cd147bc7adb201426039e2920c317dc (diff)
downloadcoreboot-7cd8ba6eda6979d61a3a0685057b20bf2da9be31.tar.gz
coreboot-7cd8ba6eda6979d61a3a0685057b20bf2da9be31.tar.bz2
coreboot-7cd8ba6eda6979d61a3a0685057b20bf2da9be31.zip
console: Add loglevel prefix to interactive consoles
In an attempt to make loglevels more visible (and therefore useful, hopefully), this patch adds a prefix indicating the log level to every line sent to an "interactive" console (such as a UART). If the code contains a `printk(BIOS_DEBUG, "This is a debug message!\n"), it will now show up as [DEBUG] This is a debug message! on the UART output. "Stored" consoles (such as in CBMEM) will get a similar but more space-efficient feature in a later CL. Signed-off-by: Julius Werner <jwerner@chromium.org> Change-Id: Ic83413475400821f8097ef1819a293ee8926bb0b Reviewed-on: https://review.coreboot.org/c/coreboot/+/61306 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Raul Rangel <rrangel@chromium.org>
Diffstat (limited to 'src/commonlib/include')
-rw-r--r--src/commonlib/include/commonlib/loglevel.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/commonlib/include/commonlib/loglevel.h b/src/commonlib/include/commonlib/loglevel.h
index f2687509af15..68b228528cc9 100644
--- a/src/commonlib/include/commonlib/loglevel.h
+++ b/src/commonlib/include/commonlib/loglevel.h
@@ -157,4 +157,27 @@
#define BIOS_NEVER 9
/** @} */
+#ifndef __ASSEMBLER__
+
+/*
+ * When printing logs, lines should be printed with the following prefixes in
+ * front of them according to the BIOS_LOG_PREFIX_PATTERN printf() pattern.
+ */
+#define BIOS_LOG_PREFIX_PATTERN "[%.5s] "
+#define BIOS_LOG_PREFIX_MAX_LEVEL BIOS_SPEW
+static const char bios_log_prefix[BIOS_LOG_PREFIX_MAX_LEVEL + 1][5] = {
+ /* Note: These strings are *not* null-terminated to save space. */
+ [BIOS_EMERG] = "EMERG",
+ [BIOS_ALERT] = "ALERT",
+ [BIOS_CRIT] = "CRIT ",
+ [BIOS_ERR] = "ERROR",
+ [BIOS_WARNING] = "WARN ",
+ [BIOS_NOTICE] = "NOTE ",
+ [BIOS_INFO] = "INFO ",
+ [BIOS_DEBUG] = "DEBUG",
+ [BIOS_SPEW] = "SPEW ",
+};
+
+#endif /* __ASSEMBLER__ */
+
#endif /* LOGLEVEL_H */