prog_loaders: Fix ramstage loading on x86

A regression sneaked in with 18a8ba41cc (arch/x86: Remove RELOCATABLE_
RAMSTAGE). We want to call load_relocatable_ramstage() on x86, and
cbfs_prog_stage_load() on other architectures. But with the current
code the latter is also called on x86 if the former succeeded. Fix
that and also balance the if structure to make it more obvious.

TEST=qemu-system-x86_64 boots to payload again.

Change-Id: I5b1db5aac772b9b3a388a1a8ae490fa627334320
Signed-off-by: Nico Huber <nico.huber@secunet.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/43142
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-by: Mario Scheithauer <mario.scheithauer@siemens.com>
Reviewed-by: Werner Zeh <werner.zeh@siemens.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Nico Huber 2020-07-06 11:02:53 +02:00 committed by Nico Huber
parent 8008c530e7
commit 06b68d1097
1 changed files with 7 additions and 4 deletions

View File

@ -129,10 +129,13 @@ void run_ramstage(void)
timestamp_add_now(TS_START_COPYRAM); timestamp_add_now(TS_START_COPYRAM);
if (ENV_X86 && load_relocatable_ramstage(&ramstage)) if (ENV_X86) {
if (load_relocatable_ramstage(&ramstage))
goto fail; goto fail;
else if (cbfs_prog_stage_load(&ramstage)) } else {
if (cbfs_prog_stage_load(&ramstage))
goto fail; goto fail;
}
stage_cache_add(STAGE_RAMSTAGE, &ramstage); stage_cache_add(STAGE_RAMSTAGE, &ramstage);