FmpDevicePkg: Add FmpDependencyCheck library class and instances
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2696 * This library class provides platform specific services to support dependency check during updating firmware image. Platform can perform dependency check in platform specific manner by implementing its own FmpDependencyCheckLib. * Add FmpDependencyCheck instance to provide a sample of dependency check. The sample instance only checks the dependency from capsule image. The dependency from other FMP instances isn't checked here. * Add NULL instance as an option to skip the dependency check. Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <liming.gao@intel.com> Cc: Sean Brogan <sean.brogan@microsoft.com> Signed-off-by: Wei6 Xu <wei6.xu@intel.com> Reviewed-by: Sean Brogan <sean.brogan@microsoft.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
38
FmpDevicePkg/Include/Library/FmpDependencyCheckLib.h
Normal file
38
FmpDevicePkg/Include/Library/FmpDependencyCheckLib.h
Normal file
@@ -0,0 +1,38 @@
|
||||
/** @file
|
||||
Fmp Capsule Dependency check functions for Firmware Management Protocol based
|
||||
firmware updates.
|
||||
|
||||
Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __FMP_DEPENDENCY_CHECK_LIB__
|
||||
#define __FMP_DEPENDENCY_CHECK_LIB__
|
||||
|
||||
#include <PiDxe.h>
|
||||
#include <Protocol/FirmwareManagement.h>
|
||||
|
||||
/**
|
||||
Check dependency for firmware update.
|
||||
|
||||
@param[in] ImageTypeId Image Type Id.
|
||||
@param[in] Version New version.
|
||||
@param[in] Dependencies Fmp dependency.
|
||||
@param[in] DependenciesSize Size, in bytes, of the Fmp dependency.
|
||||
|
||||
@retval TRUE Dependencies are satisfied.
|
||||
@retval FALSE Dependencies are unsatisfied or dependency check fails.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
EFIAPI
|
||||
CheckFmpDependency (
|
||||
IN EFI_GUID ImageTypeId,
|
||||
IN UINT32 Version,
|
||||
IN EFI_FIRMWARE_IMAGE_DEP *Dependencies, OPTIONAL
|
||||
IN UINT32 DependenciesSize
|
||||
);
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user