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 uwe@hermann-uwe.de Acked-by: Peter Stuge peter@stuge.se
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 */