Change console code to emit SPEW with DEFAULT_CONSOLE_LOGLEVEL==8.
authorMyles Watson <mylesgw@gmail.com>
Fri, 16 Oct 2009 19:29:45 +0000 (19:29 +0000)
committerMyles Watson <mylesgw@gmail.com>
Fri, 16 Oct 2009 19:29:45 +0000 (19:29 +0000)
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>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4794 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1

src/arch/i386/lib/console_print.c
src/arch/i386/lib/console_printk.c
src/arch/i386/lib/printk_init.c
src/console/Kconfig
src/console/console.c
src/console/printk.c
src/include/console/console.h
src/include/console/loglevel.h

index adb26c0e142101ebd9c46434c4e7fb3f394a4be2..93886cc34d1ae40dee3d60167158979d60ca2ef6 100644 (file)
@@ -11,14 +11,14 @@ static void __console_tx_nibble(unsigned nibble)
 
 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_hex8(int loglevel, unsigned char value)
 
 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_hex16(int loglevel, unsigned short value)
 
 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_hex32(int loglevel, unsigned int value)
 
 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);
index a3c409c5c1641aba28866da1fc5ca62d16e70fe3..694ec9d6312532b6b545128ca8ea8b0f9a6779df 100644 (file)
@@ -11,39 +11,39 @@ extern int do_printk(int msg_level, const char *fmt, ...);
 #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
index 4b269305806f0ca09b4b63a067f2aab67613e446..6163acc2ae939d96be9de08905acc52bf85f973c 100644 (file)
@@ -34,7 +34,7 @@ int do_printk(int msg_level, const char *fmt, ...)
        va_list args;
        int i;
 
-       if (msg_level >= console_loglevel) {
+       if (msg_level > console_loglevel) {
                return 0;
        }
 
index dc11e28cb1da34c0f5b090353c49bca588526da0..bbf4f9ddaa0af02d2611847c1297e8d1531f6a39 100644 (file)
@@ -79,45 +79,45 @@ config CONSOLE_VGA_ONBOARD_AT_FIRST
          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 @@ config MAXIMUM_CONSOLE_LOGLEVEL
          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
 
index 008130fb639a0bb3eac133e7e3db52ffe4cbb365..c176bc5d0c248091e2b7bb59eab2e0d0d2a21418 100644 (file)
@@ -81,11 +81,3 @@ void post_code(uint8_t value)
        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 */
-}
index 0485a001da37bea1ba45e388a76bb5e030570005..f4157a7b00fce882137c119091ab80d69bec383e 100644 (file)
@@ -32,7 +32,7 @@ int do_printk(int msg_level, const char *fmt, ...)
        va_list args;
        int i;
 
-       if (msg_level >= console_loglevel) {
+       if (msg_level > console_loglevel) {
                return 0;
        }
 
index 4bebdadb0cd604cd62be09f8f91a6581024eb3a7..43c8a47fc1ceaf994478dcd38b3ab7ea2477f67e 100644 (file)
@@ -41,39 +41,39 @@ int do_printk(int msg_level, const char *fmt, ...) __attribute__((format(printf,
 #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
index a765df2b64828dd6b9dfd82cdbf1e92289a628b2..8e6a7c4866084fbf68126da776bf82c9e0324c8e 100644 (file)
@@ -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     */