aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRonald G. Minnich <rminnich@gmail.com>2018-07-18 14:35:01 -0700
committerRonald G. Minnich <rminnich@gmail.com>2018-07-20 03:26:46 +0000
commita8fa25138b6a1fd08a8e95ab5ecb2ed4e21ee898 (patch)
tree3acef22d7b01809f4ce64edacb3fc41062eb105b
parent4a6477ed645ce369e4a7fb2728c82fb7d3e5f985 (diff)
write_tables: return a pointer to the table
The write_tables function was void. It is a bit more useful for loading payloads from the romstage if it returns a pointer to the table it creates. Change-Id: I6eeaf3e16bcbaf1e7ec3eada8026c466d2fb6f5a Signed-off-by: Ronald G. Minnich <rminnich@gmail.com> Reviewed-on: https://review.coreboot.org/27537 Reviewed-by: Philipp Deppenwiese <zaolin.daisuki@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
-rw-r--r--src/include/boot/tables.h3
-rw-r--r--src/lib/coreboot_table.c5
2 files changed, 5 insertions, 3 deletions
diff --git a/src/include/boot/tables.h b/src/include/boot/tables.h
index c2d7b48841..9e82e3f6c8 100644
--- a/src/include/boot/tables.h
+++ b/src/include/boot/tables.h
@@ -6,8 +6,9 @@
/*
* Write architecture specific tables as well as the common
* coreboot table.
+ * Returns a pointer to the table or NULL on error.
*/
-void write_tables(void);
+void *write_tables(void);
/*
* Allow per-architecture table writes called from write_tables(). The
diff --git a/src/lib/coreboot_table.c b/src/lib/coreboot_table.c
index b894809542..8fc7b6f255 100644
--- a/src/lib/coreboot_table.c
+++ b/src/lib/coreboot_table.c
@@ -585,7 +585,7 @@ static uintptr_t write_coreboot_table(uintptr_t rom_table_end)
return lb_table_fini(head);
}
-void write_tables(void)
+void *write_tables(void)
{
uintptr_t cbtable_start;
uintptr_t cbtable_end;
@@ -596,7 +596,7 @@ void write_tables(void)
if (!cbtable_start) {
printk(BIOS_ERR, "Could not add CBMEM for coreboot table.\n");
- return;
+ return NULL;
}
/* Add architecture specific tables. */
@@ -615,4 +615,5 @@ void write_tables(void)
/* Print CBMEM sections */
cbmem_list();
+ return (void *)cbtable_start;
}