Files
slimbootloader/BootloaderCorePkg/Include/Library/FirmwareResiliencyLib.h
Sean McGinn 38a3c2e799 Consider Simultaneous SG02 Corruptions in BP0 and BP1 for Resiliency
Before this change, whenever SG02 is corrupted
in both BP0 and BP1, SBL will continuously loop
trying to recover BP0 via BP1 and vice versa

This change makes it so that, if a failure is
detected on a recovery flow, the CPU halts

Signed-off-by: Sean McGinn <sean.mcginn@intel.com>
2022-10-18 14:49:32 -07:00

44 lines
766 B
C

/** @file
The header file for firmware resiliency definitions.
Copyright (c) 2022, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef _FIRMWARE_RESILIENCY_LIB_H_
#define _FIRMWARE_RESILIENCY_LIB_H_
/**
Retrieve FW update state from the reserved region
@retval StateMachine The current FWU state machine
**/
UINT8
EFIAPI
GetFwuStateMachine (
VOID
);
/**
Check if ACM detected corruption in IBB
**/
VOID
EFIAPI
CheckForAcmFailures (
VOID
);
/**
Check if TCO timer detected corruption in OBB or a dead loop/crash in IBB/OBB
@param[in] BootFailureThreshold The number of boots to attempt before recovery
**/
VOID
EFIAPI
CheckForTcoTimerFailures (
IN UINT8 BootFailureThreshold
);
#endif