[coreboot-gerrit] Patch set updated for coreboot: 21030ea Save memory space for FSP above CBMEM

Marc Jones (marc.jones@se-eng.com) gerrit at coreboot.org
Sat Nov 2 07:03:21 CET 2013


Marc Jones (marc.jones at se-eng.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/4020

-gerrit

commit 21030ea3373bdea10197a8e6152eec4f1dd14f0a
Author: Marc Jones <marc.jones at se-eng.com>
Date:   Tue Oct 29 22:23:11 2013 -0600

    Save memory space for FSP above CBMEM
    
    The FSP uses the top of memory for itself. Move CBMEM down
    below the FSP memory. This memory can be used by the OS or
    payload after coreboot is finished.
    
    Change-Id: I9d3c33397c118095d96fd42531f28e722ec0f491
    Signed-off-by: Marc Jones <marc.jones at se-eng.com>
---
 src/arch/x86/boot/cbmem.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/src/arch/x86/boot/cbmem.c b/src/arch/x86/boot/cbmem.c
index bdc695c..fbb513f 100644
--- a/src/arch/x86/boot/cbmem.c
+++ b/src/arch/x86/boot/cbmem.c
@@ -24,7 +24,12 @@ void get_cbmem_table(uint64_t *base, uint64_t *size)
 	uint64_t top_of_ram = get_top_of_ram();
 
 	if (top_of_ram >= HIGH_MEMORY_SIZE) {
+#if CONFIG_HAVE_FSP_BIN
+		/* The FSP uses space for HOB and other stuff. Don't overwrite it */
+		*base = top_of_ram - HIGH_MEMORY_SIZE - 0x200000;	/* 2MB for FSP HOB */
+#else
 		*base = top_of_ram - HIGH_MEMORY_SIZE;
+#endif
 		*size = HIGH_MEMORY_SIZE;
 	} else {
 		*base = 0;
@@ -45,7 +50,12 @@ void __attribute__((weak)) backup_top_of_ram(uint64_t ramtop)
 void set_top_of_ram(uint64_t ramtop)
 {
 	backup_top_of_ram(ramtop);
+#if CONFIG_HAVE_FSP_BIN
+	/* The FSP uses space for HOB and other stuff. Don't overwrite it */
+	cbmem_late_set_table(ramtop - HIGH_MEMORY_SIZE - 0x200000, HIGH_MEMORY_SIZE); 	/* 2MB for FSP HOB */
+#else
 	cbmem_late_set_table(ramtop - HIGH_MEMORY_SIZE, HIGH_MEMORY_SIZE);
+#endif
 }
 
 unsigned long __attribute__((weak)) get_top_of_ram(void)



More information about the coreboot-gerrit mailing list