[coreboot] [PATCH] Promote heap sizing to first-class Kconfig citizenship.

Joe Korty joe.korty at ccur.com
Fri May 14 21:11:35 CEST 2010


Promote heap sizing to first-class Kconfig citizenship.

Changing the heap size is something that those, like me,
with large PCI device trees need to do.  Therefore heap
size should appear as a normal, user-answerable question
within the Kconfig build system.

Also change the malloc debug message to more clearly
indicate how much memory is left.

Signed-off-by: Joe Korty <joe.korty at ccur.com>

Index: trunk/src/Kconfig
===================================================================
--- trunk.orig/src/Kconfig	2010-05-14 10:24:35.000000000 -0400
+++ trunk/src/Kconfig	2010-05-14 10:25:00.000000000 -0400
@@ -80,6 +80,17 @@
 	  Enables the use of ccache for faster builds.
 	  Requires ccache in path.
 
+config HEAP_SIZE
+	hex "Heap size (in bytes)"
+	default 0x4000
+	help
+	  The primary coreboot heap user is the PCI
+	  bus walk.  Therefore heap size may need to be
+	  increased on systems that have exceptionally
+	  large and/or deep PCI device trees.
+
+	  If unsure, use the default.
+
 endmenu
 
 source src/mainboard/Kconfig
@@ -124,10 +135,6 @@
 	bool
 	default n
 
-config HEAP_SIZE
-	hex
-	default 0x4000
-
 config DEBUG
 	bool
 	default n
Index: trunk/src/lib/malloc.c
===================================================================
--- trunk.orig/src/lib/malloc.c	2010-05-14 10:24:35.000000000 -0400
+++ trunk/src/lib/malloc.c	2010-05-14 10:25:00.000000000 -0400
@@ -14,7 +14,10 @@
 {
 	void *p;
 
-	MALLOCDBG("%s Enter, size %ld, free_mem_ptr %p\n", __func__, size, free_mem_ptr);
+	MALLOCDBG("%s Enter, size %ld, %d of %d bytes available.\n",
+		__func__, size,
+		(int)(free_mem_end_ptr - free_mem_ptr),
+		(int)(&_eheap - &_heap));
 
 	/* Checking arguments */
 	if (size < 0)




More information about the coreboot mailing list