From 95d05e43b1ccfd2bb6f540f30e0af4b930d93390 Mon Sep 17 00:00:00 2001 From: Martin Roth Date: Wed, 24 Jun 2020 19:42:44 -0600 Subject: soc/amd/picasso: Halt if workbuf is absent after psp_verstage Check for the workbuf in bootblock if psp_verstage is being used. BUG=b:158124527 TEST=Build & boot Trembyle with psp_verstage Signed-off-by: Martin Roth Change-Id: I0ec8d2c953bce4c44cde5102d2765e0ab9b5875e Reviewed-on: https://review.coreboot.org/c/coreboot/+/42810 Reviewed-by: Raul Rangel Tested-by: build bot (Jenkins) --- src/soc/amd/picasso/bootblock/bootblock.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/soc') diff --git a/src/soc/amd/picasso/bootblock/bootblock.c b/src/soc/amd/picasso/bootblock/bootblock.c index a3935cc7aa..556fbad5fc 100644 --- a/src/soc/amd/picasso/bootblock/bootblock.c +++ b/src/soc/amd/picasso/bootblock/bootblock.c @@ -13,6 +13,12 @@ #include #include #include +#include + +/* vboot includes directory may not be in include path if vboot is not enabled */ +#if CONFIG(VBOOT_STARTS_BEFORE_BOOTBLOCK) +#include <2struct.h> +#endif asmlinkage void bootblock_resume_entry(void); @@ -123,5 +129,15 @@ void bootblock_soc_init(void) u32 val = cpuid_eax(1); printk(BIOS_DEBUG, "Family_Model: %08x\n", val); +#if CONFIG(VBOOT_STARTS_BEFORE_BOOTBLOCK) + if (*(uint32_t *)_vboot2_work != VB2_SHARED_DATA_MAGIC) { + printk(BIOS_ERR, "ERROR: VBOOT workbuf not valid.\n"); + + printk(BIOS_DEBUG, "Signature: %#08x\n", *(uint32_t *)_vboot2_work); + + die("Halting.\n"); + } +#endif + fch_early_init(); } -- cgit v1.2.3