cbfs: Add cbfs_boot_load_file()
Generalize cbfs_boot_load_struct() by passing in CBFS type Change-Id: I6e5f845cb4ce5b00f01a39619919f85e39028f19 Signed-off-by: T Michael Turney <mturney@codeaurora.org> Reviewed-on: https://review.coreboot.org/25648 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-by: Julius Werner <jwerner@chromium.org>
This commit is contained in:
parent
79f1c3e2a5
commit
809fa7b5c2
|
@ -37,11 +37,12 @@ void *cbfs_boot_map_with_leak(const char *name, uint32_t type, size_t *size);
|
|||
/* Locate file in a specific region of fmap. Return 0 on success. < 0 on error*/
|
||||
int cbfs_locate_file_in_region(struct cbfsf *fh, const char *region_name,
|
||||
const char *name, uint32_t *type);
|
||||
/* Load a struct file from CBFS into a buffer. Returns amount of loaded
|
||||
* bytes on success or 0 on error. File will get decompressed as necessary.
|
||||
* Same decompression requirements as cbfs_load_and_decompress(). */
|
||||
size_t cbfs_boot_load_struct(const char *name, void *buf, size_t buf_size);
|
||||
|
||||
/* Load an arbitrary type file from CBFS into a buffer. Returns amount of
|
||||
* loaded bytes on success or 0 on error. File will get decompressed as
|
||||
* necessary. Same decompression requirements as
|
||||
* cbfs_load_and_decompress(). */
|
||||
size_t cbfs_boot_load_file(const char *name, void *buf, size_t buf_size,
|
||||
uint32_t type);
|
||||
/* Load |in_size| bytes from |rdev| at |offset| to the |buffer_size| bytes
|
||||
* large |buffer|, decompressing it according to |compression| in the process.
|
||||
* Returns the decompressed file size, or 0 on error.
|
||||
|
|
|
@ -182,12 +182,12 @@ void *cbfs_boot_load_stage_by_name(const char *name)
|
|||
return prog_entry(&stage);
|
||||
}
|
||||
|
||||
size_t cbfs_boot_load_struct(const char *name, void *buf, size_t buf_size)
|
||||
size_t cbfs_boot_load_file(const char *name, void *buf, size_t buf_size,
|
||||
uint32_t type)
|
||||
{
|
||||
struct cbfsf fh;
|
||||
uint32_t compression_algo;
|
||||
size_t decompressed_size;
|
||||
uint32_t type = CBFS_TYPE_STRUCT;
|
||||
|
||||
if (cbfs_boot_locate(&fh, name, &type) < 0)
|
||||
return 0;
|
||||
|
|
|
@ -67,8 +67,8 @@ const struct rk3399_sdram_params *get_sdram_config()
|
|||
if (ramcode >= ARRAY_SIZE(sdram_configs) ||
|
||||
!snprintf(config_file, sizeof(config_file), "%s-%d",
|
||||
sdram_configs[ramcode], get_sdram_target_mhz()) ||
|
||||
(cbfs_boot_load_struct(config_file, ¶ms,
|
||||
sizeof(params)) != sizeof(params)))
|
||||
(cbfs_boot_load_file(config_file, ¶ms, sizeof(params),
|
||||
CBFS_TYPE_STRUCT) != sizeof(params)))
|
||||
die("Cannot load SDRAM parameter file!");
|
||||
|
||||
return ¶ms;
|
||||
|
|
Loading…
Reference in New Issue