summaryrefslogtreecommitdiffstats
path: root/FmpDevicePkg/FmpDevicePkg.dsc
diff options
context:
space:
mode:
authorEric Jin <eric.jin@intel.com>2019-08-11 13:36:46 +0800
committerLiming Gao <liming.gao@intel.com>2019-08-15 17:22:23 +0800
commitc40f7cc7fd75e5fff9915ceedb1c10584c98e581 (patch)
tree01ce9ad3921e385cccb95796d7e5323c0b2b0756 /FmpDevicePkg/FmpDevicePkg.dsc
parent67c1e5ee6eaf592e0331bc06df41ec4c21b22a07 (diff)
downloadedk2-c40f7cc7fd75e5fff9915ceedb1c10584c98e581.tar.gz
edk2-c40f7cc7fd75e5fff9915ceedb1c10584c98e581.tar.bz2
edk2-c40f7cc7fd75e5fff9915ceedb1c10584c98e581.zip
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>
Diffstat (limited to 'FmpDevicePkg/FmpDevicePkg.dsc')
-rw-r--r--FmpDevicePkg/FmpDevicePkg.dsc21
1 files changed, 20 insertions, 1 deletions
diff --git a/FmpDevicePkg/FmpDevicePkg.dsc b/FmpDevicePkg/FmpDevicePkg.dsc
index c9513135cb..3356571fff 100644
--- a/FmpDevicePkg/FmpDevicePkg.dsc
+++ b/FmpDevicePkg/FmpDevicePkg.dsc
@@ -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]