Author: myles Date: 2009-10-16 21:29:45 +0200 (Fri, 16 Oct 2009) New Revision: 4794
Modified: trunk/coreboot-v2/src/arch/i386/lib/console_print.c trunk/coreboot-v2/src/arch/i386/lib/console_printk.c trunk/coreboot-v2/src/arch/i386/lib/printk_init.c trunk/coreboot-v2/src/console/Kconfig trunk/coreboot-v2/src/console/console.c trunk/coreboot-v2/src/console/printk.c trunk/coreboot-v2/src/include/console/console.h trunk/coreboot-v2/src/include/console/loglevel.h Log: Change console code to emit SPEW with DEFAULT_CONSOLE_LOGLEVEL==8.
Make MAXIMUM_CONSOLE_LOGLEVEL >= DEFAULT_CONSOLE_LOGLEVEL.
Signed-off-by: Myles Watson mylesgw@gmail.com Acked-by: Uwe Hermann uwe@hermann-uwe.de Acked-by: Stefan Reinauer stepan@coresystems.de
Modified: trunk/coreboot-v2/src/arch/i386/lib/console_print.c =================================================================== --- trunk/coreboot-v2/src/arch/i386/lib/console_print.c 2009-10-16 19:12:49 UTC (rev 4793) +++ trunk/coreboot-v2/src/arch/i386/lib/console_print.c 2009-10-16 19:29:45 UTC (rev 4794) @@ -11,14 +11,14 @@
static void __console_tx_char(int loglevel, unsigned char byte) { - if (ASM_CONSOLE_LOGLEVEL > loglevel) { + if (ASM_CONSOLE_LOGLEVEL >= loglevel) { uart_tx_byte(byte); } }
static void __console_tx_hex8(int loglevel, unsigned char value) { - if (ASM_CONSOLE_LOGLEVEL > loglevel) { + if (ASM_CONSOLE_LOGLEVEL >= loglevel) { __console_tx_nibble((value >> 4U) & 0x0fU); __console_tx_nibble(value & 0x0fU); } @@ -26,7 +26,7 @@
static void __console_tx_hex16(int loglevel, unsigned short value) { - if (ASM_CONSOLE_LOGLEVEL > loglevel) { + if (ASM_CONSOLE_LOGLEVEL >= loglevel) { __console_tx_nibble((value >> 12U) & 0x0fU); __console_tx_nibble((value >> 8U) & 0x0fU); __console_tx_nibble((value >> 4U) & 0x0fU); @@ -36,7 +36,7 @@
static void __console_tx_hex32(int loglevel, unsigned int value) { - if (ASM_CONSOLE_LOGLEVEL > loglevel) { + if (ASM_CONSOLE_LOGLEVEL >= loglevel) { __console_tx_nibble((value >> 28U) & 0x0fU); __console_tx_nibble((value >> 24U) & 0x0fU); __console_tx_nibble((value >> 20U) & 0x0fU); @@ -50,7 +50,7 @@
static void __console_tx_string(int loglevel, const char *str) { - if (ASM_CONSOLE_LOGLEVEL > loglevel) { + if (ASM_CONSOLE_LOGLEVEL >= loglevel) { unsigned char ch; while((ch = *str++) != '\0') { __console_tx_byte(ch);
Modified: trunk/coreboot-v2/src/arch/i386/lib/console_printk.c =================================================================== --- trunk/coreboot-v2/src/arch/i386/lib/console_printk.c 2009-10-16 19:12:49 UTC (rev 4793) +++ trunk/coreboot-v2/src/arch/i386/lib/console_printk.c 2009-10-16 19:29:45 UTC (rev 4794) @@ -11,39 +11,39 @@ #define printk_debug(fmt, arg...) do_printk(BIOS_DEBUG ,fmt, ##arg) #define printk_spew(fmt, arg...) do_printk(BIOS_SPEW ,fmt, ##arg)
-#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_EMERG +#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL < BIOS_EMERG #undef printk_emerg #define printk_emerg(fmt, arg...) do_printk(BIOS_EMERG , "", ##arg) #endif -#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_ALERT +#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL < BIOS_ALERT #undef printk_alert #define printk_alert(fmt, arg...) do_printk(BIOS_EMERG , "", ##arg) #endif -#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_CRIT +#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL < BIOS_CRIT #undef printk_crit #define printk_crit(fmt, arg...) do_printk(BIOS_EMERG , "", ##arg) #endif -#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_ERR +#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL < BIOS_ERR #undef printk_err #define printk_err(fmt, arg...) do_printk(BIOS_EMERG , "", ##arg) #endif -#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_WARNING +#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL < BIOS_WARNING #undef printk_warning #define printk_warning(fmt, arg...) do_printk(BIOS_EMERG , "", ##arg) #endif -#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_NOTICE +#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL < BIOS_NOTICE #undef printk_notice #define printk_notice(fmt, arg...) do_printk(BIOS_EMERG , "", ##arg) #endif -#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_INFO +#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL < BIOS_INFO #undef printk_info #define printk_info(fmt, arg...) do_printk(BIOS_EMERG , "", ##arg) #endif -#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_DEBUG +#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL < BIOS_DEBUG #undef printk_debug #define printk_debug(fmt, arg...) do_printk(BIOS_EMERG , "", ##arg) #endif -#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_SPEW +#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL < BIOS_SPEW #undef printk_spew #define printk_spew(fmt, arg...) do_printk(BIOS_EMERG , "", ##arg) #endif
Modified: trunk/coreboot-v2/src/arch/i386/lib/printk_init.c =================================================================== --- trunk/coreboot-v2/src/arch/i386/lib/printk_init.c 2009-10-16 19:12:49 UTC (rev 4793) +++ trunk/coreboot-v2/src/arch/i386/lib/printk_init.c 2009-10-16 19:29:45 UTC (rev 4794) @@ -34,7 +34,7 @@ va_list args; int i;
- if (msg_level >= console_loglevel) { + if (msg_level > console_loglevel) { return 0; }
Modified: trunk/coreboot-v2/src/console/Kconfig =================================================================== --- trunk/coreboot-v2/src/console/Kconfig 2009-10-16 19:12:49 UTC (rev 4793) +++ trunk/coreboot-v2/src/console/Kconfig 2009-10-16 19:29:45 UTC (rev 4794) @@ -79,45 +79,45 @@ If not selected, the last adapter found will be used.
choice - prompt "Maximum console log level" - default MAXIMUM_CONSOLE_LOGLEVEL_8 + prompt "Maximum console log level" + default MAXIMUM_CONSOLE_LOGLEVEL_8
config MAXIMUM_CONSOLE_LOGLEVEL_8 - bool "8: SPEW" - help - Way too many details. + bool "8: SPEW" + help + Way too many details. config MAXIMUM_CONSOLE_LOGLEVEL_7 - bool "7: DEBUG" - help - Debug-level messages. + bool "7: DEBUG" + help + Debug-level messages. config MAXIMUM_CONSOLE_LOGLEVEL_6 - bool "6: INFO" - help - Informational messages. + bool "6: INFO" + help + Informational messages. config MAXIMUM_CONSOLE_LOGLEVEL_5 - bool "5: NOTICE" - help - Normal but significant conditions. + bool "5: NOTICE" + help + Normal but significant conditions. config MAXIMUM_CONSOLE_LOGLEVEL_4 - bool "4: WARNING" - help - Warning conditions. + bool "4: WARNING" + help + Warning conditions. config MAXIMUM_CONSOLE_LOGLEVEL_3 - bool "3: ERR" - help - Error conditions. + bool "3: ERR" + help + Error conditions. config MAXIMUM_CONSOLE_LOGLEVEL_2 - bool "2: CRIT" - help - Critical conditions. + bool "2: CRIT" + help + Critical conditions. config MAXIMUM_CONSOLE_LOGLEVEL_1 - bool "1: ALERT" - help - Action must be taken immediately. + bool "1: ALERT" + help + Action must be taken immediately. config MAXIMUM_CONSOLE_LOGLEVEL_0 - bool "0: EMERG" - help - System is unusable. + bool "0: EMERG" + help + System is unusable.
endchoice
@@ -136,45 +136,65 @@ Map the log level config names to an integer.
choice - prompt "Default console log level" - default DEFAULT_CONSOLE_LOGLEVEL_8 + prompt "Default console log level" + default DEFAULT_CONSOLE_LOGLEVEL_8
config DEFAULT_CONSOLE_LOGLEVEL_8 - bool "8: SPEW" - help - Way too many details. + bool "8: SPEW" + depends on (MAXIMUM_CONSOLE_LOGLEVEL_8) + help + Way too many details. config DEFAULT_CONSOLE_LOGLEVEL_7 - bool "7: DEBUG" - help - Debug-level messages. + bool "7: DEBUG" + depends on (MAXIMUM_CONSOLE_LOGLEVEL_8 || MAXIMUM_CONSOLE_LOGLEVEL_7) + help + Debug-level messages. config DEFAULT_CONSOLE_LOGLEVEL_6 - bool "6: INFO" - help - Informational messages. + bool "6: INFO" + depends on (MAXIMUM_CONSOLE_LOGLEVEL_8 || MAXIMUM_CONSOLE_LOGLEVEL_7 ||\ + MAXIMUM_CONSOLE_LOGLEVEL_6) + help + Informational messages. config DEFAULT_CONSOLE_LOGLEVEL_5 - bool "5: NOTICE" - help - Normal but significant conditions. + bool "5: NOTICE" + depends on (MAXIMUM_CONSOLE_LOGLEVEL_8 || MAXIMUM_CONSOLE_LOGLEVEL_7 ||\ + MAXIMUM_CONSOLE_LOGLEVEL_6 || MAXIMUM_CONSOLE_LOGLEVEL_5) + help + Normal but significant conditions. config DEFAULT_CONSOLE_LOGLEVEL_4 - bool "4: WARNING" - help - Warning conditions. + bool "4: WARNING" + depends on (MAXIMUM_CONSOLE_LOGLEVEL_8 || MAXIMUM_CONSOLE_LOGLEVEL_7 ||\ + MAXIMUM_CONSOLE_LOGLEVEL_6 || MAXIMUM_CONSOLE_LOGLEVEL_5 ||\ + MAXIMUM_CONSOLE_LOGLEVEL_4) + help + Warning conditions. config DEFAULT_CONSOLE_LOGLEVEL_3 - bool "3: ERR" - help - Error conditions. + bool "3: ERR" + depends on (MAXIMUM_CONSOLE_LOGLEVEL_8 || MAXIMUM_CONSOLE_LOGLEVEL_7 ||\ + MAXIMUM_CONSOLE_LOGLEVEL_6 || MAXIMUM_CONSOLE_LOGLEVEL_5 ||\ + MAXIMUM_CONSOLE_LOGLEVEL_4 || MAXIMUM_CONSOLE_LOGLEVEL_3) + help + Error conditions. config DEFAULT_CONSOLE_LOGLEVEL_2 - bool "2: CRIT" - help - Critical conditions. + bool "2: CRIT" + depends on (MAXIMUM_CONSOLE_LOGLEVEL_8 || MAXIMUM_CONSOLE_LOGLEVEL_7 ||\ + MAXIMUM_CONSOLE_LOGLEVEL_6 || MAXIMUM_CONSOLE_LOGLEVEL_5 ||\ + MAXIMUM_CONSOLE_LOGLEVEL_4 || MAXIMUM_CONSOLE_LOGLEVEL_3 ||\ + MAXIMUM_CONSOLE_LOGLEVEL_2) + help + Critical conditions. config DEFAULT_CONSOLE_LOGLEVEL_1 - bool "1: ALERT" - help - Action must be taken immediately. + bool "1: ALERT" + depends on (MAXIMUM_CONSOLE_LOGLEVEL_8 || MAXIMUM_CONSOLE_LOGLEVEL_7 ||\ + MAXIMUM_CONSOLE_LOGLEVEL_6 || MAXIMUM_CONSOLE_LOGLEVEL_5 ||\ + MAXIMUM_CONSOLE_LOGLEVEL_4 || MAXIMUM_CONSOLE_LOGLEVEL_3 ||\ + MAXIMUM_CONSOLE_LOGLEVEL_2 || MAXIMUM_CONSOLE_LOGLEVEL_1) + help + Action must be taken immediately. config DEFAULT_CONSOLE_LOGLEVEL_0 - bool "0: EMERG" - help - System is unusable. + bool "0: EMERG" + help + System is unusable.
endchoice
Modified: trunk/coreboot-v2/src/console/console.c =================================================================== --- trunk/coreboot-v2/src/console/console.c 2009-10-16 19:12:49 UTC (rev 4793) +++ trunk/coreboot-v2/src/console/console.c 2009-10-16 19:29:45 UTC (rev 4794) @@ -81,11 +81,3 @@ outb(value, 0x80); #endif } - -/* Report a fatal error */ -void __attribute__((noreturn)) die(const char *msg) -{ - printk_emerg("%s", msg); - post_code(0xff); - while (1); /* Halt */ -}
Modified: trunk/coreboot-v2/src/console/printk.c =================================================================== --- trunk/coreboot-v2/src/console/printk.c 2009-10-16 19:12:49 UTC (rev 4793) +++ trunk/coreboot-v2/src/console/printk.c 2009-10-16 19:29:45 UTC (rev 4794) @@ -32,7 +32,7 @@ va_list args; int i;
- if (msg_level >= console_loglevel) { + if (msg_level > console_loglevel) { return 0; }
Modified: trunk/coreboot-v2/src/include/console/console.h =================================================================== --- trunk/coreboot-v2/src/include/console/console.h 2009-10-16 19:12:49 UTC (rev 4793) +++ trunk/coreboot-v2/src/include/console/console.h 2009-10-16 19:29:45 UTC (rev 4794) @@ -41,39 +41,39 @@ #define printk_debug(fmt, arg...) do_printk(BIOS_DEBUG ,fmt, ##arg) #define printk_spew(fmt, arg...) do_printk(BIOS_SPEW ,fmt, ##arg)
-#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_EMERG +#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL < BIOS_EMERG #undef printk_emerg #define printk_emerg(fmt, arg...) do {} while(0) #endif -#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_ALERT +#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL < BIOS_ALERT #undef printk_alert #define printk_alert(fmt, arg...) do {} while(0) #endif -#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_CRIT +#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL < BIOS_CRIT #undef printk_crit #define printk_crit(fmt, arg...) do {} while(0) #endif -#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_ERR +#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL < BIOS_ERR #undef printk_err #define printk_err(fmt, arg...) do {} while(0) #endif -#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_WARNING +#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL < BIOS_WARNING #undef printk_warning #define printk_warning(fmt, arg...) do {} while(0) #endif -#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_NOTICE +#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL < BIOS_NOTICE #undef printk_notice #define printk_notice(fmt, arg...) do {} while(0) #endif -#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_INFO +#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL < BIOS_INFO #undef printk_info #define printk_info(fmt, arg...) do {} while(0) #endif -#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_DEBUG +#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL < BIOS_DEBUG #undef printk_debug #define printk_debug(fmt, arg...) do {} while(0) #endif -#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL <= BIOS_SPEW +#if CONFIG_MAXIMUM_CONSOLE_LOGLEVEL < BIOS_SPEW #undef printk_spew #define printk_spew(fmt, arg...) do {} while(0) #endif
Modified: trunk/coreboot-v2/src/include/console/loglevel.h =================================================================== --- trunk/coreboot-v2/src/include/console/loglevel.h 2009-10-16 19:12:49 UTC (rev 4793) +++ trunk/coreboot-v2/src/include/console/loglevel.h 2009-10-16 19:29:45 UTC (rev 4794) @@ -3,21 +3,9 @@
/* Safe for inclusion in assembly */
-#ifndef CONFIG_MAXIMUM_CONSOLE_LOGLEVEL -#define CONFIG_MAXIMUM_CONSOLE_LOGLEVEL 8 -#endif - -#ifndef CONFIG_DEFAULT_CONSOLE_LOGLEVEL -#define CONFIG_DEFAULT_CONSOLE_LOGLEVEL 8 /* anything MORE serious than BIOS_SPEW */ -#endif - #ifndef ASM_CONSOLE_LOGLEVEL -#if (CONFIG_DEFAULT_CONSOLE_LOGLEVEL <= CONFIG_MAXIMUM_CONSOLE_LOGLEVEL) -#define ASM_CONSOLE_LOGLEVEL CONFIG_DEFAULT_CONSOLE_LOGLEVEL -#else #define ASM_CONSOLE_LOGLEVEL CONFIG_MAXIMUM_CONSOLE_LOGLEVEL #endif -#endif
#define BIOS_EMERG 0 /* system is unusable */ #define BIOS_ALERT 1 /* action must be taken immediately */