FmpDevicePkg: Add Capsule Update Policy Protocol
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1525 * Add Capsule Update Policy Protocol to FmpDevicePkg * Add CapsuleUpdatePolicyLib instance that uses the services of the Capsule Update Policy Protocol * Add module that produces the Capsule Update Policy Protocol using the services of the CapsuleUpdatePolicyLib class. * Update FmpDevicePkg DSC to build the new library instance and the new module and update builds of FmpDxe modules to demonstrate the use of the different CapsuleUpdatePolicyLib instances. Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Bret Barkelew <Bret.Barkelew@microsoft.com> Cc: Liming Gao <liming.gao@intel.com> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Wang Fan <fan.wang@intel.com> Reviewed-by: Eric Jin <eric.jin@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
# customized using libraries and PCDs.
|
||||
#
|
||||
# Copyright (c) 2016, Microsoft Corporation. All rights reserved.<BR>
|
||||
# Copyright (c) 2018, Intel Corporation. All rights reserved.<BR>
|
||||
# Copyright (c) 2018 - 2019, Intel Corporation. All rights reserved.<BR>
|
||||
#
|
||||
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
#
|
||||
@@ -71,6 +71,7 @@
|
||||
# Libraries
|
||||
#
|
||||
FmpDevicePkg/Library/CapsuleUpdatePolicyLibNull/CapsuleUpdatePolicyLibNull.inf
|
||||
FmpDevicePkg/Library/CapsuleUpdatePolicyLibOnProtocol/CapsuleUpdatePolicyLibOnProtocol.inf
|
||||
FmpDevicePkg/Library/FmpPayloadHeaderLibV1/FmpPayloadHeaderLibV1.inf
|
||||
FmpDevicePkg/Library/FmpDeviceLibNull/FmpDeviceLibNull.inf
|
||||
FmpDevicePkg/FmpDxe/FmpDxeLib.inf
|
||||
@@ -78,12 +79,23 @@
|
||||
#
|
||||
# Modules
|
||||
#
|
||||
FmpDevicePkg/CapsuleUpdatePolicyDxe/CapsuleUpdatePolicyDxe.inf {
|
||||
<LibraryClasses>
|
||||
CapsuleUpdatePolicyLib|FmpDevicePkg/Library/CapsuleUpdatePolicyLibNull/CapsuleUpdatePolicyLibNull.inf
|
||||
}
|
||||
FmpDevicePkg/FmpDxe/FmpDxe.inf {
|
||||
<Defines>
|
||||
#
|
||||
# FILE_GUID is used as ESRT GUID
|
||||
#
|
||||
FILE_GUID = $(SYSTEM_FMP_ESRT_GUID)
|
||||
<LibraryClasses>
|
||||
#
|
||||
# Use CapsuleUpdatePolicyLib that calls the Capsule Update Policy Protocol.
|
||||
# Depends on the CapsuleUpdatePolicyDxe module to produce the protocol.
|
||||
# Required for FmpDxe modules that are intended to be platform independent.
|
||||
#
|
||||
CapsuleUpdatePolicyLib|FmpDevicePkg/Library/CapsuleUpdatePolicyLibOnProtocol/CapsuleUpdatePolicyLibOnProtocol.inf
|
||||
}
|
||||
|
||||
FmpDevicePkg/FmpDxe/FmpDxe.inf {
|
||||
@@ -92,6 +104,13 @@
|
||||
# FILE_GUID is used as ESRT GUID
|
||||
#
|
||||
FILE_GUID = $(DEVICE_FMP_ESRT_GUID)
|
||||
<LibraryClasses>
|
||||
#
|
||||
# Directly use a platform specific CapsuleUpdatePolicyLib instance.
|
||||
# Only works for FmpDxe modules that are build from sources and included
|
||||
# in a system firmware image.
|
||||
#
|
||||
CapsuleUpdatePolicyLib|FmpDevicePkg/Library/CapsuleUpdatePolicyLibNull/CapsuleUpdatePolicyLibNull.inf
|
||||
}
|
||||
|
||||
[BuildOptions]
|
||||
|
Reference in New Issue
Block a user