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:
committed by
Patrick Georgi
parent
6a452eff90
commit
ac12c66cf9
@@ -45,10 +45,7 @@ void __attribute__((weak)) *soc_get_bl31_plat_params(bl31_params_t *params)
|
||||
|
||||
void arm_tf_run_bl31(u64 payload_entry, u64 payload_arg0, u64 payload_spsr)
|
||||
{
|
||||
struct prog bl31 = {
|
||||
.type = PROG_BL31,
|
||||
.name = CONFIG_CBFS_PREFIX"/bl31",
|
||||
};
|
||||
struct prog bl31 = PROG_INIT(ASSET_BL31, CONFIG_CBFS_PREFIX"/bl31");
|
||||
void (*bl31_entry)(bl31_params_t *params, void *plat_params) = NULL;
|
||||
|
||||
if (prog_locate(&bl31))
|
||||
|
@@ -73,7 +73,7 @@ void arch_prog_run(struct prog *prog)
|
||||
void (*doit)(void *);
|
||||
void *arg;
|
||||
|
||||
if (ENV_RAMSTAGE && prog->type == PROG_PAYLOAD) {
|
||||
if (ENV_RAMSTAGE && prog_type(prog) == ASSET_PAYLOAD) {
|
||||
run_payload(prog);
|
||||
return;
|
||||
}
|
||||
|
@@ -125,7 +125,7 @@ static void jmp_payload(void *entry, unsigned long buffer, unsigned long size)
|
||||
|
||||
static void try_payload(struct prog *prog)
|
||||
{
|
||||
if (prog->type == PROG_PAYLOAD) {
|
||||
if (prog_type(prog) == ASSET_PAYLOAD) {
|
||||
if (IS_ENABLED(CONFIG_RELOCATABLE_RAMSTAGE))
|
||||
jmp_payload_no_bounce_buffer(prog_entry(prog));
|
||||
else
|
||||
|
Reference in New Issue
Block a user