diff options
author | Ronald G. Minnich <rminnich@gmail.com> | 2018-07-18 14:35:01 -0700 |
---|---|---|
committer | Ronald G. Minnich <rminnich@gmail.com> | 2018-07-20 03:26:46 +0000 |
commit | a8fa25138b6a1fd08a8e95ab5ecb2ed4e21ee898 (patch) | |
tree | 3acef22d7b01809f4ce64edacb3fc41062eb105b | |
parent | 4a6477ed645ce369e4a7fb2728c82fb7d3e5f985 (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.h | 3 | ||||
-rw-r--r-- | src/lib/coreboot_table.c | 5 |
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; } |