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:
Michael Kubacki
2020-10-20 07:59:38 +08:00
committed by mergify[bot]
parent 004ce0ab04
commit 207414cba4
7 changed files with 189 additions and 47 deletions

View File

@@ -2,6 +2,7 @@
Unit tests of EvaluateDependency API in FmpDependencyLib.
Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
Copyright (c) Microsoft Corporation.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
@@ -162,6 +163,7 @@ EvaluateDependencyTest (
{
BASIC_TEST_CONTEXT *TestContext;
BOOLEAN EvaluationResult;
UINT32 LastAttemptStatus;
TestContext = (BASIC_TEST_CONTEXT *)Context;
@@ -169,8 +171,9 @@ EvaluateDependencyTest (
(EFI_FIRMWARE_IMAGE_DEP *)TestContext->Dependencies,
TestContext->DependenciesSize,
mFmpVersions,
sizeof(mFmpVersions)/sizeof(FMP_DEPEX_CHECK_VERSION_DATA)
);
sizeof(mFmpVersions)/sizeof(FMP_DEPEX_CHECK_VERSION_DATA),
&LastAttemptStatus
);
UT_ASSERT_EQUAL (EvaluationResult, TestContext->ExpectedResult);