From c40f7cc7fd75e5fff9915ceedb1c10584c98e581 Mon Sep 17 00:00:00 2001 From: Eric Jin Date: Sun, 11 Aug 2019 13:36:46 +0800 Subject: 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 Cc: Bret Barkelew Cc: Liming Gao Signed-off-by: Michael D Kinney Signed-off-by: Wang Fan Reviewed-by: Eric Jin Reviewed-by: Liming Gao --- FmpDevicePkg/FmpDevicePkg.dec | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) (limited to 'FmpDevicePkg/FmpDevicePkg.dec') diff --git a/FmpDevicePkg/FmpDevicePkg.dec b/FmpDevicePkg/FmpDevicePkg.dec index fb183cddff..c68dbb7153 100644 --- a/FmpDevicePkg/FmpDevicePkg.dec +++ b/FmpDevicePkg/FmpDevicePkg.dec @@ -7,7 +7,7 @@ # customized using libraries and PCDs. # # Copyright (c) 2016, Microsoft Corporation. All rights reserved.
-# Copyright (c) 2018, Intel Corporation. All rights reserved.
+# Copyright (c) 2018 - 2019, Intel Corporation. All rights reserved.
# # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -23,15 +23,10 @@ [Includes] Include -[LibraryClasses] - ## @libraryclass Provides services to retrieve values from a capsule's FMP - # Payload Header. The structure is not included in the - # library class. Instead, services are provided to retrieve - # information from the FMP Payload Header. If information is - # added to the FMP Payload Header, then new services may be - # added to this library class to retrieve the new information. - FmpPayloadHeaderLib|Include/Library/FmpPayloadHeaderLib.h +[Includes.Common.Private] + PrivateInclude +[LibraryClasses] ## @libraryclass Provides platform policy services used during a capsule # update. CapsuleUpdatePolicyLib|Include/Library/CapsuleUpdatePolicyLib.h @@ -40,10 +35,23 @@ # updates of a firmware image stored in a firmware device. FmpDeviceLib|Include/Library/FmpDeviceLib.h +[LibraryClasses.Common.Private] + ## @libraryclass Provides services to retrieve values from a capsule's FMP + # Payload Header. The structure is not included in the + # library class. Instead, services are provided to retrieve + # information from the FMP Payload Header. If information is + # added to the FMP Payload Header, then new services may be + # added to this library class to retrieve the new information. + FmpPayloadHeaderLib|PrivateInclude/Library/FmpPayloadHeaderLib.h + [Guids] ## Firmware Management Protocol Device Package Token Space GUID gFmpDevicePkgTokenSpaceGuid = { 0x40b2d964, 0xfe11, 0x40dc, { 0x82, 0x83, 0x2e, 0xfb, 0xda, 0x29, 0x53, 0x56 } } +[Protocols.Common.Private] + ## Capsule Update Policy Protocol + gEdkiiCapuleUpdatePolicyProtocolGuid = { 0x487784c5, 0x6299, 0x4ba6, { 0xb0, 0x96, 0x5c, 0xc5, 0x27, 0x7c, 0xf7, 0x57 } } + [PcdsFixedAtBuild] ## The SHA-256 hash of a PKCS7 test key that is used to detect if a test key # is being used to authenticate capsules. Test key detection is disabled by -- cgit v1.2.3