diff options
Diffstat (limited to 'src/lib/prog_loaders.c')
-rw-r--r-- | src/lib/prog_loaders.c | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/src/lib/prog_loaders.c b/src/lib/prog_loaders.c index 4722e54501..b31d79341f 100644 --- a/src/lib/prog_loaders.c +++ b/src/lib/prog_loaders.c @@ -45,19 +45,16 @@ void run_romstage(void) vboot_run_logic(); + timestamp_add_now(TS_START_COPYROM); + if (ENV_X86 && CONFIG(BOOTBLOCK_NORMAL)) { - if (legacy_romstage_selector(&romstage)) + if (legacy_romstage_select_and_load(&romstage)) goto fail; } else { - if (prog_locate(&romstage)) + if (cbfs_prog_stage_load(&romstage)) goto fail; } - timestamp_add_now(TS_START_COPYROM); - - if (cbfs_prog_stage_load(&romstage)) - goto fail; - timestamp_add_now(TS_END_COPYROM); console_time_report(); @@ -78,6 +75,7 @@ static void run_ramstage_from_resume(struct prog *ramstage) /* Load the cached ramstage to runtime location. */ stage_cache_load_stage(STAGE_RAMSTAGE, ramstage); + ramstage->cbfs_type = CBFS_TYPE_STAGE; prog_set_arg(ramstage, cbmem_top()); if (prog_entry(ramstage) != NULL) { @@ -120,9 +118,6 @@ void run_ramstage(void) vboot_run_logic(); - if (prog_locate(&ramstage)) - goto fail; - timestamp_add_now(TS_START_COPYRAM); if (ENV_X86) { |