diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/include/fmap.h | 7 | ||||
-rw-r--r-- | src/lib/coreboot_table.c | 5 | ||||
-rw-r--r-- | src/lib/fmap.c | 7 |
3 files changed, 11 insertions, 8 deletions
diff --git a/src/include/fmap.h b/src/include/fmap.h index ab7e5ab895..649ecc0000 100644 --- a/src/include/fmap.h +++ b/src/include/fmap.h @@ -19,9 +19,6 @@ #include <commonlib/region.h> #include <commonlib/fmap_serialized.h> -/* Locate the fmap directory. Return 0 on success, < 0 on error. */ -int find_fmap_directory(struct region_device *fmrd); - /* Locate the named area in the fmap and fill in a region device representing * that area. The region is a sub-region of the readonly boot media. Return * 0 on success, < 0 on error. */ @@ -48,4 +45,8 @@ ssize_t fmap_read_area(const char *name, void *buffer, size_t size); /* Write provided buffer into fmap area. * Return size written on success, < 0 on error. */ ssize_t fmap_overwrite_area(const char *name, const void *buffer, size_t size); + +/* Get offset of FMAP in flash. */ +uint64_t get_fmap_flash_offset(void); + #endif diff --git a/src/lib/coreboot_table.c b/src/lib/coreboot_table.c index 9c5942fa9d..d3576e6a32 100644 --- a/src/lib/coreboot_table.c +++ b/src/lib/coreboot_table.c @@ -256,7 +256,6 @@ static void lb_boot_media_params(struct lb_header *header) struct lb_boot_media_params *bmp; struct cbfs_props props; const struct region_device *boot_dev; - struct region_device fmrd; boot_device_init(); @@ -275,9 +274,7 @@ static void lb_boot_media_params(struct lb_header *header) bmp->cbfs_size = props.size; bmp->boot_media_size = region_device_sz(boot_dev); - bmp->fmap_offset = ~(uint64_t)0; - if (find_fmap_directory(&fmrd) == 0) - bmp->fmap_offset = region_device_offset(&fmrd); + bmp->fmap_offset = get_fmap_flash_offset(); } static void lb_ram_code(struct lb_header *header) diff --git a/src/lib/fmap.c b/src/lib/fmap.c index f0074186da..a427102210 100644 --- a/src/lib/fmap.c +++ b/src/lib/fmap.c @@ -31,7 +31,12 @@ static int fmap_print_once CAR_GLOBAL; static struct mem_region_device fmap_cache CAR_GLOBAL; -int find_fmap_directory(struct region_device *fmrd) +uint64_t get_fmap_flash_offset(void) +{ + return FMAP_OFFSET; +} + +static int find_fmap_directory(struct region_device *fmrd) { const struct region_device *boot; struct fmap *fmap; |