From 09560facd4a599afbc8f2ed47f48a97aabf40579 Mon Sep 17 00:00:00 2001 From: Aaron Durbin Date: Tue, 12 May 2015 16:43:10 -0500 Subject: vboot: handle RELOCATABLE_RAMSTAGE The support for RELOCATABLE_RAMSTAGE was accidentally omitted in the vboot loader. Add said support. Change-Id: I569918823253c33f698acefd6a619133543c7aef Signed-off-by: Aaron Durbin Reviewed-on: http://review.coreboot.org/10184 Reviewed-by: Stefan Reinauer Tested-by: build bot (Jenkins) --- src/vendorcode/google/chromeos/vboot2/vboot_loader.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src/vendorcode/google/chromeos') diff --git a/src/vendorcode/google/chromeos/vboot2/vboot_loader.c b/src/vendorcode/google/chromeos/vboot2/vboot_loader.c index 505c9c0090..9e60472152 100644 --- a/src/vendorcode/google/chromeos/vboot2/vboot_loader.c +++ b/src/vendorcode/google/chromeos/vboot2/vboot_loader.c @@ -18,8 +18,10 @@ */ #include +#include #include #include +#include #include #include #include "misc.h" @@ -231,7 +233,15 @@ static int vboot_prepare(struct prog *prog) if (stage == 0) die("Vboot stage load failed."); - if (cbfs_load_prog_stage_by_offset(CBFS_DEFAULT_MEDIA, + if (ENV_ROMSTAGE && IS_ENABLED(CONFIG_RELOCATABLE_RAMSTAGE)) { + struct rmod_stage_load rmod_ram = { + .cbmem_id = CBMEM_ID_RAMSTAGE, + .prog = prog, + }; + + if (rmodule_stage_load(&rmod_ram, (void *)stage)) + die("Vboot couldn't load stage"); + } else if (cbfs_load_prog_stage_by_offset(CBFS_DEFAULT_MEDIA, prog, stage) < 0) die("Vboot couldn't load stage"); } -- cgit v1.2.3