From 12d45b2f8a6c10d68ab940c24b7f68d5a6fbb378 Mon Sep 17 00:00:00 2001 From: Aaron Durbin Date: Tue, 24 Mar 2015 15:50:45 -0500 Subject: cbfs: expose init_backing_media() I broke cbfs loading with commit 358901. As multiple functions are being reused one needs to ensure there is always a cbfs media object allocated on the stack and initialized. Ya for no common writable globals. TEST=Ran qemu-armv7. CBFS loading works again. Change-Id: Ibd047af7dcd8575e6203651471079fc2042da282 Signed-off-by: Aaron Durbin Reviewed-on: http://review.coreboot.org/8973 Reviewed-by: Paul Menzel Reviewed-by: Duncan Laurie Reviewed-by: Stefan Reinauer Tested-by: Aaron Durbin Tested-by: build bot (Jenkins) Tested-by: Raptor Engineering Automated Test Stand --- src/lib/cbfs.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/lib/cbfs.c') diff --git a/src/lib/cbfs.c b/src/lib/cbfs.c index 54d159fc86..977141236c 100644 --- a/src/lib/cbfs.c +++ b/src/lib/cbfs.c @@ -76,6 +76,10 @@ void *cbfs_load_optionrom(struct cbfs_media *media, uint16_t vendor, void *cbfs_load_stage_by_offset(struct cbfs_media *media, ssize_t offset) { struct cbfs_stage stage; + struct cbfs_media backing_store; + + if (init_backing_media(&media, &backing_store)) + return (void *)-1; if (cbfs_read(media, &stage, offset, sizeof(stage)) != sizeof(stage)) { ERROR("ERROR: failed to read stage header\n"); @@ -116,6 +120,10 @@ void *cbfs_load_stage(struct cbfs_media *media, const char *name) { struct cbfs_file file; ssize_t offset; + struct cbfs_media backing_store; + + if (init_backing_media(&media, &backing_store)) + return (void *)-1; offset = cbfs_locate_file(media, &file, name); if (offset < 0 || file.type != CBFS_TYPE_STAGE) -- cgit v1.2.3