[coreboot-gerrit] New patch to review for coreboot: bcf57ef Prefer get_cbmem_table() over set_cbmem_table()
Kyösti Mälkki (kyosti.malkki@gmail.com)
gerrit at coreboot.org
Thu Sep 5 08:19:42 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/3906
-gerrit
commit bcf57efa5a7e45d16ee7b9a1f9984bb67aa85b38
Author: Kyösti Mälkki <kyosti.malkki at gmail.com>
Date: Sun Jun 23 20:03:50 2013 +0300
Prefer get_cbmem_table() over set_cbmem_table()
First attempt to access CBMEM in ramstage resolves the location
of CBMEM region.
Change-Id: I982b9abfcee57a7ea421c245dadb84342949efae
Signed-off-by: Kyösti Mälkki <kyosti.malkki at gmail.com>
---
src/lib/cbmem.c | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/src/lib/cbmem.c b/src/lib/cbmem.c
index 1645096..aa60f8c 100644
--- a/src/lib/cbmem.c
+++ b/src/lib/cbmem.c
@@ -43,8 +43,8 @@ struct cbmem_entry {
} __attribute__((packed));
#ifndef __PRE_RAM__
-uint64_t high_tables_base = 0;
-uint64_t high_tables_size = 0;
+static uint64_t bss_cbmem_base = 0;
+static uint64_t bss_cbmem_size = 0;
#endif
static void cbmem_locate_table(uint64_t *base, uint64_t *size)
@@ -52,8 +52,10 @@ static void cbmem_locate_table(uint64_t *base, uint64_t *size)
#ifdef __PRE_RAM__
get_cbmem_table(base, size);
#else
- *base = high_tables_base;
- *size = high_tables_size;
+ if (!(bss_cbmem_base && bss_cbmem_size))
+ get_cbmem_table(&bss_cbmem_base, &bss_cbmem_size);
+ *base = bss_cbmem_base;
+ *size = bss_cbmem_size;
#endif
}
@@ -67,12 +69,12 @@ struct cbmem_entry *get_cbmem_toc(void)
#if !defined(__PRE_RAM__)
void set_cbmem_table(uint64_t base, uint64_t size)
{
- if (base == high_tables_base && size == high_tables_size)
+ if (base == bss_cbmem_base && size == bss_cbmem_size)
return;
printk(BIOS_DEBUG, "CBMEM region %llx-%llx\n", base, base+size-1);
- high_tables_base = base;
- high_tables_size = size;
+ bss_cbmem_base = base;
+ bss_cbmem_size = size;
}
#endif
More information about the coreboot-gerrit
mailing list