diff options
author | Aaron Durbin <adurbin@chromium.org> | 2015-12-15 13:33:51 -0600 |
---|---|---|
committer | Aaron Durbin <adurbin@chromium.org> | 2016-01-06 01:11:19 +0100 |
commit | 295d58bda85ce30724a3fff87d60b323373f6e5f (patch) | |
tree | 7bdd1cf6a886bc11ab313d9b235aa5cb00bdaf8d /src/include | |
parent | 990ab7efe5d0eddb96542042bf5106811365e34a (diff) |
commonlib: Add common cbfs parsing logic to coreboot and cbfstool.
To continue sharing more code between the tools and
coreboot proper provide cbfs parsing logic in commonlib.
A cbfs_for_each_file() function was added to allow
one to act on each file found within a cbfs. cbfs_locate()
was updated to use that logic.
BUG=chrome-os-partner:48412
BUG=chromium:445938
BRANCH=None
TEST=Utilized and booted on glados.
Change-Id: I1f23841583e78dc3686f106de9eafe1adbef8c9f
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://review.coreboot.org/12783
Tested-by: build bot (Jenkins)
Reviewed-by: Martin Roth <martinroth@google.com>
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/cbfs.h | 28 |
1 files changed, 1 insertions, 27 deletions
diff --git a/src/include/cbfs.h b/src/include/cbfs.h index 7848d6d6fd..0d95387940 100644 --- a/src/include/cbfs.h +++ b/src/include/cbfs.h @@ -16,19 +16,9 @@ #ifndef _CBFS_H_ #define _CBFS_H_ -#include <commonlib/cbfs_serialized.h> -#include <commonlib/region.h> +#include <commonlib/cbfs.h> #include <program_loading.h> -/* - * CBFS operations consist of the following concepts: - * - region_device for the boot media - * - cbfsd which is a descriptor for representing a cbfs instance - */ - -/* Object representing cbfs files. */ -struct cbfsf; - /*********************************************** * Perform CBFS operations on the boot device. * ***********************************************/ @@ -48,28 +38,12 @@ void *cbfs_boot_map_with_leak(const char *name, uint32_t type, size_t *size); /* Load stage into memory filling in prog. Return 0 on success. < 0 on error. */ int cbfs_prog_stage_load(struct prog *prog); -/* Locate file by name and optional type. Returns 0 on succcess else < 0 on - * error.*/ -int cbfs_locate(struct cbfsf *fh, const struct region_device *cbfs, - const char *name, uint32_t *type); - /***************************************************************** * Support structures and functions. Direct field access should * * only be done by implementers of cbfs regions -- Not the above * * API. * *****************************************************************/ -struct cbfsf { - struct region_device metadata; - struct region_device data; -}; - -static inline void cbfs_file_data(struct region_device *data, - const struct cbfsf *file) -{ - rdev_chain(data, &file->data, 0, region_device_sz(&file->data)); -} - /* The cbfs_props struct describes the properties associated with a CBFS. */ struct cbfs_props { /* CBFS starts at the following offset within the boot region. */ |