FmpDevicePkg: Add Last Attempt Status support to dependency libs
The FMP dependency libraries are leveraged during firmware update to check for dependencies required to update the image. This change adds granular Last Attempt Status code support to these services so failures can be more easily observed during the firmware update process via Last Attempt Status codes. Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Guomin Jiang <guomin.jiang@intel.com> Cc: Wei6 Xu <wei6.xu@intel.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Acked-by: Liming Gao <gaoliming@byosoft.com.cn> Reviewed-by: Wei6 Xu <wei6.xu@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
This commit is contained in:
committed by
mergify[bot]
parent
004ce0ab04
commit
207414cba4
@@ -2,11 +2,13 @@
|
||||
Null instance of FmpDependencyCheckLib.
|
||||
|
||||
Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) Microsoft Corporation.<BR>
|
||||
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
#include <PiDxe.h>
|
||||
#include <Guid/SystemResourceTable.h>
|
||||
#include <Library/FmpDependencyCheckLib.h>
|
||||
|
||||
/**
|
||||
@@ -16,7 +18,10 @@
|
||||
@param[in] Version New version.
|
||||
@param[in] Dependencies Fmp dependency.
|
||||
@param[in] DependenciesSize Size, in bytes, of the Fmp dependency.
|
||||
|
||||
@param[out] LastAttemptStatus An optional pointer to a UINT32 that holds the
|
||||
last attempt status to report back to the caller.
|
||||
This function will set the value to LAST_ATTEMPT_STATUS_SUCCESS
|
||||
if an error code is not set.
|
||||
@retval TRUE Dependencies are satisfied.
|
||||
@retval FALSE Dependencies are unsatisfied or dependency check fails.
|
||||
|
||||
@@ -27,8 +32,13 @@ CheckFmpDependency (
|
||||
IN EFI_GUID ImageTypeId,
|
||||
IN UINT32 Version,
|
||||
IN EFI_FIRMWARE_IMAGE_DEP *Dependencies, OPTIONAL
|
||||
IN UINT32 DependenciesSize
|
||||
IN UINT32 DependenciesSize,
|
||||
OUT UINT32 *LastAttemptStatus OPTIONAL
|
||||
)
|
||||
{
|
||||
if (LastAttemptStatus != NULL) {
|
||||
*LastAttemptStatus = LAST_ATTEMPT_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
Reference in New Issue
Block a user