drivers/intel/fsp1_1/temp_ram_exit.c: Initialize CBMEM
prog_locate() will load FSP, before CBMEM is initialized. The vboot workbuffer is used for loading, but CBMEM_ID_VBOOT_WORKBUF is not available. A NULL pointer is returned as workbuffer resulting in error 'Ramstage was not loaded!' at second boot. Initialize CBMEM before calling prog_locate(). BUG = N/A TEST = Build and boot on Facebook FBG1701 Change-Id: I2f04a326a95840937b71f6ad65a7c011268ec6d6 Signed-off-by: Frans Hendriks <fhendriks@eltan.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/49639 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
This commit is contained in:
parent
be5cc7da5f
commit
162d704b57
|
@ -1,5 +1,6 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
|
||||
#include <cbmem.h>
|
||||
#include <console/console.h>
|
||||
#include <fsp/util.h>
|
||||
|
||||
|
@ -10,6 +11,10 @@ asmlinkage void chipset_teardown_car_main(void)
|
|||
FSP_TEMP_RAM_EXIT temp_ram_exit;
|
||||
struct prog fsp = PROG_INIT(PROG_REFCODE, "fsp.bin");
|
||||
|
||||
/* CBMEM_ID_VBOOT_WORKBUF is used as vboot workbuffer.
|
||||
* Init CBMEM before loading fsp, to have buffer available */
|
||||
cbmem_initialize();
|
||||
|
||||
if (prog_locate(&fsp)) {
|
||||
die("Unable to locate fsp.bin\n");
|
||||
} else {
|
||||
|
|
Loading…
Reference in New Issue