soc/intel/common: use prog_locate() for finding fsp.bin
The current method was only taking the cbfs path. Because
of this fsp.bin was never being utilized from the RW slots.
Using prog_locate() now provides both the cbfs and vboot
locate methods for free.
BUG=chrome-os-partner:44827
BRANCH=None
TEST=Built and booted glados.
Change-Id: I2b3e088326d5a965ad90806a7950b9f401ed57de
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: http://review.coreboot.org/11831
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
diff --git a/src/soc/intel/common/fsp_ramstage.c b/src/soc/intel/common/fsp_ramstage.c
index c8dfad1..a1b677a 100644
--- a/src/soc/intel/common/fsp_ramstage.c
+++ b/src/soc/intel/common/fsp_ramstage.c
@@ -164,15 +164,12 @@
static int fsp_find_and_relocate(struct prog *fsp)
{
- struct cbfsf fsp_file;
- uint32_t type = CBFS_TYPE_FSP;
-
- if (cbfs_boot_locate(&fsp_file, prog_name(fsp), &type)) {
- printk(BIOS_ERR, "ERROR: Couldn't find fsp.bin in CBFS.\n");
+ if (prog_locate(fsp)) {
+ printk(BIOS_ERR, "ERROR: Couldn't find %s\n", prog_name(fsp));
return -1;
}
- if (fsp_relocate(fsp, &fsp_file.data)) {
+ if (fsp_relocate(fsp, prog_rdev(fsp))) {
printk(BIOS_ERR, "ERROR: FSP relocation failed.\n");
return -1;
}