[coreboot-gerrit] New patch to review for coreboot: 3e718d2 Add set_cbmem_table
Kyösti Mälkki (kyosti.malkki@gmail.com)
gerrit at coreboot.org
Wed Sep 4 15:20:34 CEST 2013
Kyösti Mälkki (kyosti.malkki at gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/3902
-gerrit
commit 3e718d21107f3b5e450f0df229c0fd7ac6cfbee2
Author: Kyösti Mälkki <kyosti.malkki at gmail.com>
Date: Wed Sep 4 13:05:01 2013 +0300
Add set_cbmem_table
Change-Id: I17eee30635a0368b2ada06e0698425c5ef0ecc53
Signed-off-by: Kyösti Mälkki <kyosti.malkki at gmail.com>
---
src/arch/x86/boot/ramtop.c | 5 +----
src/include/cbmem.h | 1 +
src/lib/cbmem.c | 11 +++++++++++
3 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/src/arch/x86/boot/ramtop.c b/src/arch/x86/boot/ramtop.c
index cbd43dc..7ac2ee2 100644
--- a/src/arch/x86/boot/ramtop.c
+++ b/src/arch/x86/boot/ramtop.c
@@ -21,9 +21,6 @@
#if !CONFIG_DYNAMIC_CBMEM
void set_top_of_ram(uint64_t ramtop)
{
- high_tables_base = ramtop - HIGH_MEMORY_SIZE;
- high_tables_size = HIGH_MEMORY_SIZE;
- printk(BIOS_DEBUG, "high_tables_base: %08llx, size %lld\n",
- high_tables_base, high_tables_size);
+ set_cbmem_table(ramtop - HIGH_MEMORY_SIZE, HIGH_MEMORY_SIZE);
}
#endif
diff --git a/src/include/cbmem.h b/src/include/cbmem.h
index 815c249..46739de 100644
--- a/src/include/cbmem.h
+++ b/src/include/cbmem.h
@@ -136,6 +136,7 @@ void cbmem_add_lb_mem(struct lb_memory *mem);
#ifndef __PRE_RAM__
extern uint64_t high_tables_base, high_tables_size;
void set_top_of_ram(uint64_t ramtop);
+void set_cbmem_table(uint64_t base, uint64_t size);
void set_cbmem_toc(struct cbmem_entry *);
#endif
diff --git a/src/lib/cbmem.c b/src/lib/cbmem.c
index 9e2ce0d..1a7a4e5 100644
--- a/src/lib/cbmem.c
+++ b/src/lib/cbmem.c
@@ -60,7 +60,18 @@ struct cbmem_entry *__attribute__((weak)) get_cbmem_toc(void)
printk(BIOS_WARNING, "WARNING: you need to define get_cbmem_toc() for your chipset\n");
return NULL;
}
+#endif
+#if !defined(__PRE_RAM__)
+void set_cbmem_table(uint64_t base, uint64_t size)
+{
+ if (base == high_tables_base && size == high_tables_size)
+ return;
+
+ printk(BIOS_DEBUG, "CBMEM region %llx-%llx\n", base, base+size-1);
+ high_tables_base = base;
+ high_tables_size = size;
+}
#endif
/**
More information about the coreboot-gerrit
mailing list