[coreboot-gerrit] Patch set updated for coreboot: 61b11c2 Get rid of MAXIMUM_CONSOLE_LOGLEVEL; compile all messages into the coreboot binary

Stefan Reinauer (stefan.reinauer@coreboot.org) gerrit at coreboot.org
Fri May 10 00:43:07 CEST 2013


Stefan Reinauer (stefan.reinauer at coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/3188

-gerrit

commit 61b11c2db1586a40877aa09321e3c0f79530c8f6
Author: Ronald G. Minnich <rminnich at gmail.com>
Date:   Fri May 3 18:25:27 2013 +0200

    Get rid of MAXIMUM_CONSOLE_LOGLEVEL; compile all messages into the coreboot binary
    
    This option has never had much if any use. It solved a problem over 10
    years ago that resulted from an argument over the value or lack thereof
    of including all the debug strings in a coreboot image. The answer is
    in: it's a good idea to maintain the capability to print all messages,
    for many reasons.
    
    This option is  also misleading people, as in a recent discussion, to
    believe that log messges are controlled at build time in a way they are
    not. For the record, from this day forward, we can print messages at all
    log levels and the default log level is set at boot time, as directed by
    DEFAULT_CONSOLE_LOGLEVEL. You can set the default to 0 at build time and
    if you are having trouble override it in CMOS and get more messages.
    
    Besides, a quick glance shows it's always set to max (9 in this case) in
    the very few cases (1) in which it is set.
    
    Change-Id: I60c4cdaf4dcd318b841a6d6c70546417c5626f21
    Signed-off-by: Ronald G. Minnich <rminnich at gmail.com>
---
 documentation/LinuxBIOS-AMD64.tex      |  5 ---
 src/console/Kconfig                    | 79 ----------------------------------
 src/include/console/console.h          | 32 +-------------
 src/mainboard/msi/ms9652_fam10/Kconfig |  4 --
 util/abuild/abuild                     |  2 -
 5 files changed, 1 insertion(+), 121 deletions(-)

diff --git a/documentation/LinuxBIOS-AMD64.tex b/documentation/LinuxBIOS-AMD64.tex
index 19a6f59..5847dab 100644
--- a/documentation/LinuxBIOS-AMD64.tex
+++ b/documentation/LinuxBIOS-AMD64.tex
@@ -408,11 +408,6 @@ machine.
 Use new \textit{chip\_configure} method for configuring (nonpci)
 devices. Set to \texttt{1} for all AMD64 mainboards.
 
-\item \begin{verbatim}CONFIG_MAXIMUM_CONSOLE_LOGLEVEL\end{verbatim}
-
-Errors or log messages up to this level can be printed. Default is
-\texttt{8}, minimum is \texttt{0}, maximum is \texttt{10}.
-
 \item \begin{verbatim}CONFIG_DEFAULT_CONSOLE_LOGLEVEL\end{verbatim}
 
 Console will log at this level unless changed. Default is \texttt{7},
diff --git a/src/console/Kconfig b/src/console/Kconfig
index 6251589..a613477 100644
--- a/src/console/Kconfig
+++ b/src/console/Kconfig
@@ -250,119 +250,40 @@ config CONSOLE_CAR_BUFFER_SIZE
 	  in the DCACHE based RAM to keep console output before it can be
 	  saved in a CBMEM buffer. 3K bytes should be enough even for the
 	  BIOS_SPEW level.
-
-
-choice
-	prompt "Maximum console log level"
-	default MAXIMUM_CONSOLE_LOGLEVEL_8
-
-config MAXIMUM_CONSOLE_LOGLEVEL_8
-	bool "8: SPEW"
-	help
-	  Way too many details.
-config MAXIMUM_CONSOLE_LOGLEVEL_7
-	bool "7: DEBUG"
-	help
-	  Debug-level messages.
-config MAXIMUM_CONSOLE_LOGLEVEL_6
-	bool "6: INFO"
-	help
-	  Informational messages.
-config MAXIMUM_CONSOLE_LOGLEVEL_5
-	bool "5: NOTICE"
-	help
-	  Normal but significant conditions.
-config MAXIMUM_CONSOLE_LOGLEVEL_4
-	bool "4: WARNING"
-	help
-	  Warning conditions.
-config MAXIMUM_CONSOLE_LOGLEVEL_3
-	bool "3: ERR"
-	help
-	  Error conditions.
-config MAXIMUM_CONSOLE_LOGLEVEL_2
-	bool "2: CRIT"
-	help
-	  Critical conditions.
-config MAXIMUM_CONSOLE_LOGLEVEL_1
-	bool "1: ALERT"
-	help
-	  Action must be taken immediately.
-config MAXIMUM_CONSOLE_LOGLEVEL_0
-	bool "0: EMERG"
-	help
-	  System is unusable.
-
-endchoice
-
-config MAXIMUM_CONSOLE_LOGLEVEL
-	int
-	default 0 if MAXIMUM_CONSOLE_LOGLEVEL_0
-	default 1 if MAXIMUM_CONSOLE_LOGLEVEL_1
-	default 2 if MAXIMUM_CONSOLE_LOGLEVEL_2
-	default 3 if MAXIMUM_CONSOLE_LOGLEVEL_3
-	default 4 if MAXIMUM_CONSOLE_LOGLEVEL_4
-	default 5 if MAXIMUM_CONSOLE_LOGLEVEL_5
-	default 6 if MAXIMUM_CONSOLE_LOGLEVEL_6
-	default 7 if MAXIMUM_CONSOLE_LOGLEVEL_7
-	default 8 if MAXIMUM_CONSOLE_LOGLEVEL_8
-	help
-	  Map the log level config names to an integer.
-
 choice
 	prompt "Default console log level"
 	default DEFAULT_CONSOLE_LOGLEVEL_8
 
 config DEFAULT_CONSOLE_LOGLEVEL_8
 	bool "8: SPEW"
-	depends on (MAXIMUM_CONSOLE_LOGLEVEL_8)
 	help
 	  Way too many details.
 config DEFAULT_CONSOLE_LOGLEVEL_7
 	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"
-	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"
-	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"
-	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"
-	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"
-	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"
-	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
diff --git a/src/include/console/console.h b/src/include/console/console.h
index d320093..9112f35 100644
--- a/src/include/console/console.h
+++ b/src/include/console/console.h
@@ -86,41 +86,11 @@ static inline void printk(int LEVEL, const char *fmt, ...) {
 
 #else /* defined(__PRE_RAM__) && !CONFIG_EARLY_CONSOLE */
 
-#undef WE_CLEANED_UP_ALL_SIDE_EFFECTS
-/* We saw some strange effects in the past like coreboot crashing while
- * disabling cache as ram for a maximum console log level of 6 and above while
- * it worked fine without. In order to catch such issues reliably we are
- * always doing a function call to do_printk with the full number of arguments.
- * Our favorite reason to do it this way was:
- *   disable_car();
- *   printk(BIOS_DEBUG, "CAR disabled\n"); // oops, garbage stack pointer
- *   move_stack();
- * This slightly increases the code size and some unprinted strings will end
- * up in the final coreboot binary (most of them compressed). If you want to
- * avoid this, do a
- * #define WE_CLEANED_UP_ALL_SIDE_EFFECTS
- */
-#ifdef WE_CLEANED_UP_ALL_SIDE_EFFECTS
-
 #define printk(LEVEL, fmt, args...)				\
 	do {							\
-		if (CONFIG_MAXIMUM_CONSOLE_LOGLEVEL >= LEVEL) {	\
-			do_printk(LEVEL, fmt, ##args);		\
-		}						\
+		do_printk(LEVEL, fmt, ##args);		\
 	} while(0)
 
-#else
-
-#define printk(LEVEL, fmt, args...)				\
-	do {							\
-		if (CONFIG_MAXIMUM_CONSOLE_LOGLEVEL >= LEVEL) {	\
-			do_printk(LEVEL, fmt, ##args);		\
-		} else {					\
-			do_printk(BIOS_NEVER, fmt, ##args);	\
-		}						\
-	} while(0)
-#endif
-
 #endif /* defined(__PRE_RAM__) && !CONFIG_EARLY_CONSOLE */
 
 #define print_emerg(STR)         printk(BIOS_EMERG,  "%s", (STR))
diff --git a/src/mainboard/msi/ms9652_fam10/Kconfig b/src/mainboard/msi/ms9652_fam10/Kconfig
index e3de52f..b6baac3 100644
--- a/src/mainboard/msi/ms9652_fam10/Kconfig
+++ b/src/mainboard/msi/ms9652_fam10/Kconfig
@@ -93,10 +93,6 @@ config DEFAULT_CONSOLE_LOGLEVEL
 	int
 	default 9
 
-config MAXIMUM_CONSOLE_LOGLEVEL
-	int
-	default 9
-
 config MAINBOARD_POWER_ON_AFTER_POWER_FAIL
 	bool
 	default y
diff --git a/util/abuild/abuild b/util/abuild/abuild
index 1c69eec..aad066c 100755
--- a/util/abuild/abuild
+++ b/util/abuild/abuild
@@ -596,8 +596,6 @@ while true ; do
 		-C|--config)    shift; configureonly=1;;
 		-l|--loglevel)  shift
 			customizing="${customizing}, loglevel $1"
-			configoptions="${configoptions}CONFIG_MAXIMUM_CONSOLE_LOGLEVEL_$1=y\n"
-			configoptions="${configoptions}CONFIG_MAXIMUM_CONSOLE_LOGLEVEL=$1\n"
 			configoptions="${configoptions}CONFIG_DEFAULT_CONSOLE_LOGLEVEL_$1=y\n"
 			configoptions="${configoptions}CONFIG_DEFAULT_CONSOLE_LOGLEVEL=$1\n"
 			shift;;



More information about the coreboot-gerrit mailing list