cbfs/vboot: remove firmware component support
The Chrome OS verified boot path supported multiple CBFS instances in the boot media as well as stand-alone assets sitting in each vboot RW slot. Remove the support for the stand-alone assets and always use CBFS accesses as the way to retrieve data. This is implemented by adding a cbfs_locator object which is queried for locating the current CBFS. Additionally, it is also signalled prior to when a program is about to be loaded by coreboot for the subsequent stage/payload. This provides the same opportunity as previous for vboot to hook in and perform its logic. BUG=chromium:445938 BRANCH=None TEST=Built and ran on glados. CQ-DEPEND=CL:307121,CL:31691,CL:31690 Change-Id: I6a3a15feb6edd355d6ec252c36b6f7885b383099 Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: https://review.coreboot.org/12689 Tested-by: build bot (Jenkins) Tested-by: Raptor Engineering Automated Test Stand <noreply@raptorengineeringinc.com> Reviewed-by: Patrick Georgi <pgeorgi@google.com> Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
This commit is contained in:
@@ -14,11 +14,11 @@
|
||||
*/
|
||||
|
||||
#include <arch/early_variables.h>
|
||||
#include <assets.h>
|
||||
#include <console/console.h>
|
||||
#include <ec/google/chromeec/ec.h>
|
||||
#include <fsp/car.h>
|
||||
#include <fsp/util.h>
|
||||
#include <program_loading.h>
|
||||
#include <soc/intel/common/util.h>
|
||||
#include <timestamp.h>
|
||||
|
||||
@@ -79,15 +79,17 @@ asmlinkage void *romstage_after_verstage(void)
|
||||
/* Need to locate the current FSP_INFO_HEADER. The cache-as-ram
|
||||
* is still enabled. We can directly access work buffer here. */
|
||||
FSP_INFO_HEADER *fih;
|
||||
struct asset fsp = ASSET_INIT(ASSET_REFCODE, "fsp.bin");
|
||||
struct prog fsp = PROG_INIT(ASSET_REFCODE, "fsp.bin");
|
||||
|
||||
console_init();
|
||||
|
||||
if (asset_locate(&fsp)) {
|
||||
if (prog_locate(&fsp)) {
|
||||
fih = NULL;
|
||||
printk(BIOS_ERR, "Unable to locate %s\n", asset_name(&fsp));
|
||||
printk(BIOS_ERR, "Unable to locate %s\n", prog_name(&fsp));
|
||||
} else
|
||||
fih = find_fsp((uintptr_t)asset_mmap(&fsp));
|
||||
/* This leaks a mapping which this code assumes is benign as
|
||||
* the flash is memory mapped CPU's address space. */
|
||||
fih = find_fsp((uintptr_t)rdev_mmap_full(prog_rdev(&fsp)));
|
||||
|
||||
set_fih_car(fih);
|
||||
|
||||
|
Reference in New Issue
Block a user