x86: Notify the FSP of the 'end firmware' event
Send this notification when U-Boot is about to boot into Linux, as requested by the FSP. Currently this causes a crash with the APL FSP, so leave it disabled for now. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
f31b02c84e
commit
7c73cea442
@ -189,6 +189,14 @@ __weak void board_final_init(void)
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Implement a weak default function for boards that need to do some final
|
||||||
|
* processing before booting the OS.
|
||||||
|
*/
|
||||||
|
__weak void board_final_cleanup(void)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
int last_stage_init(void)
|
int last_stage_init(void)
|
||||||
{
|
{
|
||||||
struct acpi_fadt __maybe_unused *fadt;
|
struct acpi_fadt __maybe_unused *fadt;
|
||||||
@ -218,6 +226,13 @@ int last_stage_init(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* TODO(sjg@chromium.org): Move this to bootm_announce_and_cleanup()
|
||||||
|
* once APL FSP-S at 0x200000 does not overlap with the bzimage at
|
||||||
|
* 0x100000.
|
||||||
|
*/
|
||||||
|
board_final_cleanup();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -60,6 +60,22 @@ void board_final_init(void)
|
|||||||
debug("OK\n");
|
debug("OK\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void board_final_cleanup(void)
|
||||||
|
{
|
||||||
|
u32 status;
|
||||||
|
|
||||||
|
/* TODO(sjg@chromium.org): This causes Linux to crash */
|
||||||
|
return;
|
||||||
|
|
||||||
|
/* call into FspNotify */
|
||||||
|
debug("Calling into FSP (notify phase INIT_PHASE_END_FIRMWARE): ");
|
||||||
|
status = fsp_notify(NULL, INIT_PHASE_END_FIRMWARE);
|
||||||
|
if (status)
|
||||||
|
debug("fail, error code %x\n", status);
|
||||||
|
else
|
||||||
|
debug("OK\n");
|
||||||
|
}
|
||||||
|
|
||||||
int fsp_save_s3_stack(void)
|
int fsp_save_s3_stack(void)
|
||||||
{
|
{
|
||||||
struct udevice *dev;
|
struct udevice *dev;
|
||||||
|
Loading…
Reference in New Issue
Block a user