Author: uwe
Date: Wed Nov 10 01:14:32 2010
New Revision: 6054
URL: https://tracker.coreboot.org/trac/coreboot/changeset/6054

Log:
Debugging facility improvements.

 - Hook up malloc() debug code via CONFIG_DEBUG_MALLOC. Only show it in
   menuconfig if at least DEBUG or SPEW are selected as loglevel, as this
   code does additional printk(BIOS_DEBUG, ...) calls which would otherwise
   not be visible anyway.

 - Similarly, make DEBUG_CAR and REALMODE_DEBUG only visible if thr DEBUG or
   SPEW loglevel is selected.

 - Get rid of a custom "debug" macro, use printk() as usual.

Signed-off-by: Uwe Hermann <[email protected]>
Acked-by: Peter Stuge <[email protected]>

Modified:
   trunk/src/Kconfig
   trunk/src/lib/cbmem.c
   trunk/src/lib/malloc.c

Modified: trunk/src/Kconfig
==============================================================================
--- trunk/src/Kconfig   Wed Nov 10 01:08:42 2010        (r6053)
+++ trunk/src/Kconfig   Wed Nov 10 01:14:32 2010        (r6054)
@@ -502,10 +502,13 @@
 config HAVE_DEBUG_CAR
        def_bool n
 
+# Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
+# printk(BIOS_DEBUG, ...) calls.
 config DEBUG_CAR
        bool "Output verbose Cache-as-RAM debug messages"
        default n
-       depends on HAVE_DEBUG_CAR
+       depends on HAVE_DEBUG_CAR && \
+                  (DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8)
        help
          This option enables additional CAR related debug messages.
 
@@ -553,10 +556,26 @@
 
          If unsure, say N.
 
+# Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
+# printk(BIOS_DEBUG, ...) calls.
+config DEBUG_MALLOC
+       bool "Output verbose malloc debug messages"
+       default n
+       depends on DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
+       help
+         This option enables additional malloc related debug messages.
+
+         Note: This option will increase the size of the coreboot image.
+
+         If unsure, say N.
+
+# Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
+# printk(BIOS_DEBUG, ...) calls.
 config REALMODE_DEBUG
        bool "Enable debug messages for option ROM execution"
        default n
-       depends on PCI_OPTION_ROM_RUN_REALMODE
+       depends on PCI_OPTION_ROM_RUN_REALMODE && \
+                  (DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8)
        help
          This option enables additional x86emu related debug messages.
 

Modified: trunk/src/lib/cbmem.c
==============================================================================
--- trunk/src/lib/cbmem.c       Wed Nov 10 01:08:42 2010        (r6053)
+++ trunk/src/lib/cbmem.c       Wed Nov 10 01:14:32 2010        (r6054)
@@ -22,12 +22,6 @@
 #include <cbmem.h>
 #include <console/console.h>
 
-#if 1
-#define debug(x...) printk(BIOS_DEBUG, x)
-#else
-#define debug(x...)
-#endif
-
 // The CBMEM TOC reserves 512 bytes to keep
 // the other entries somewhat aligned.
 // Increase if MAX_CBMEM_ENTRIES exceeds 21
@@ -68,10 +62,11 @@
        bss_cbmem_toc = cbmem_toc;
 #endif
 
-       debug("Initializing CBMEM area to 0x%llx (%lld bytes)\n", baseaddr, 
size);
+       printk(BIOS_DEBUG, "Initializing CBMEM area to 0x%llx (%lld bytes)\n",
+              baseaddr, size);
 
        if (size < (64 * 1024)) {
-               debug("Increase CBMEM size!!\n");
+               printk(BIOS_DEBUG, "Increase CBMEM size!\n");
                for (;;) ;
        }
 
@@ -90,7 +85,9 @@
        struct cbmem_entry *cbmem_toc;
        cbmem_toc = (struct cbmem_entry *)(unsigned long)baseaddr;
 
-       debug("Re-Initializing CBMEM area to 0x%lx\n", (unsigned long)baseaddr);
+       printk(BIOS_DEBUG, "Re-Initializing CBMEM area to 0x%lx\n",
+              (unsigned long)baseaddr);
+
 #ifndef __PRE_RAM__
        bss_cbmem_toc = cbmem_toc;
 #endif
@@ -135,7 +132,7 @@
                return NULL;
        }
 
-       debug("Adding CBMEM entry as no. %d\n", i);
+       printk(BIOS_DEBUG, "Adding CBMEM entry as no. %d\n", i);
 
        cbmem_toc[i] = (struct cbmem_entry) {
                .magic = CBMEM_MAGIC,

Modified: trunk/src/lib/malloc.c
==============================================================================
--- trunk/src/lib/malloc.c      Wed Nov 10 01:08:42 2010        (r6053)
+++ trunk/src/lib/malloc.c      Wed Nov 10 01:14:32 2010        (r6054)
@@ -1,11 +1,12 @@
 #include <stdlib.h>
 #include <console/console.h>
 
-#if 0
-#define MALLOCDBG(x)
-#else
+#if CONFIG_DEBUG_MALLOC
 #define MALLOCDBG(x...) printk(BIOS_SPEW, x)
+#else
+#define MALLOCDBG(x)
 #endif
+
 extern unsigned char _heap, _eheap;
 static void *free_mem_ptr = &_heap;            /* Start of heap */
 static void *free_mem_end_ptr = &_eheap;       /* End of heap */

-- 
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to