assets: abstract away the firmware assets used for booting

As there can be more than one source of firmware assets this
patch generalizes the notion of locating a particular asset.
struct asset is added along with some helper functions for
working on assets as a first class citizen.

Change-Id: I2ce575d1e5259aed4c34c3dcfd438abe9db1d7b9
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: http://review.coreboot.org/10264
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
Tested-by: build bot (Jenkins)
This commit is contained in:
Aaron Durbin
2015-05-20 12:08:55 -05:00
committed by Patrick Georgi
parent 6a452eff90
commit ac12c66cf9
14 changed files with 272 additions and 155 deletions

View File

@ -264,10 +264,10 @@ int rmodule_stage_load(struct rmod_stage_load *rsl)
void *rmod_loc;
struct region_device *fh;
if (rsl->prog == NULL || rsl->prog->name == NULL)
if (rsl->prog == NULL || prog_name(rsl->prog) == NULL)
return -1;
fh = &rsl->prog->rdev;
fh = prog_rdev(rsl->prog);
if (rdev_readat(fh, &stage, 0, sizeof(stage)) != sizeof(stage))
return -1;
@ -284,7 +284,7 @@ int rmodule_stage_load(struct rmod_stage_load *rsl)
rmod_loc = &stage_region[rmodule_offset];
printk(BIOS_INFO, "Decompressing stage %s @ 0x%p (%d bytes)\n",
rsl->prog->name, rmod_loc, stage.memlen);
prog_name(rsl->prog), rmod_loc, stage.memlen);
if (stage.compression == CBFS_COMPRESS_NONE) {
if (rdev_readat(fh, rmod_loc, sizeof(stage), stage.len) !=