]> git.proxmox.com Git - mirror_edk2.git/blobdiff - FmpDevicePkg/FmpDevicePkg.dec
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / FmpDevicePkg / FmpDevicePkg.dec
index 9ea0d73359017cb9de21f07a44e1c14257bcc81e..cab63f5a47a3a42d11168c944cf2773240d3bb47 100644 (file)
@@ -7,26 +7,9 @@
 # customized using libraries and PCDs.\r
 #\r
 # Copyright (c) 2016, Microsoft Corporation. All rights reserved.<BR>\r
-# Copyright (c) 2018, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2018 - 2020, Intel Corporation. All rights reserved.<BR>\r
 #\r
-# Redistribution and use in source and binary forms, with or without\r
-# modification, are permitted provided that the following conditions are met:\r
-# 1. Redistributions of source code must retain the above copyright notice,\r
-# this list of conditions and the following disclaimer.\r
-# 2. Redistributions in binary form must reproduce the above copyright notice,\r
-# this list of conditions and the following disclaimer in the documentation\r
-# and/or other materials provided with the distribution.\r
-#\r
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND\r
-# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\r
-# IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\r
-# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\r
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\r
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\r
-# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE\r
-# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF\r
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
+# SPDX-License-Identifier: BSD-2-Clause-Patent\r
 #\r
 ##\r
 \r
 [Includes]\r
   Include\r
 \r
-[LibraryClasses]\r
-  ##  @libraryclass  Provides services to retrieve values from a capsule's FMP\r
-  #                  Payload Header.  The structure is not included in the\r
-  #                  library class.  Instead, services are provided to retrieve\r
-  #                  information from the FMP Payload Header.  If information is\r
-  #                  added to the FMP Payload Header, then new services may be\r
-  #                  added to this library class to retrieve the new information.\r
-  FmpPayloadHeaderLib|Include/Library/FmpPayloadHeaderLib.h\r
+[Includes.Common.Private]\r
+  PrivateInclude\r
 \r
+[LibraryClasses]\r
   ##  @libraryclass  Provides platform policy services used during a capsule\r
   #                  update.\r
   CapsuleUpdatePolicyLib|Include/Library/CapsuleUpdatePolicyLib.h\r
   #                  updates of a firmware image stored in a firmware device.\r
   FmpDeviceLib|Include/Library/FmpDeviceLib.h\r
 \r
+  ##  @libraryclass  Provides generic services to support capsule dependency\r
+  #                  expression evaluation.\r
+  FmpDependencyLib|Include/Library/FmpDependencyLib.h\r
+\r
+  ##  @libraryclass  Provides platform specific services to support dependency\r
+  #                  check during update of firmware image.\r
+  FmpDependencyCheckLib|Include/Library/FmpDependencyCheckLib.h\r
+\r
+  ##  @libraryclass  Provides firmware device specific services to support\r
+  #                  saving dependency to firmware device and getting dependency\r
+  #                  from firmware device.\r
+  FmpDependencyDeviceLib|Include/Library/FmpDependencyDeviceLib.h\r
+\r
+[LibraryClasses.Common.Private]\r
+  ##  @libraryclass  Provides services to retrieve values from a capsule's FMP\r
+  #                  Payload Header.  The structure is not included in the\r
+  #                  library class.  Instead, services are provided to retrieve\r
+  #                  information from the FMP Payload Header.  If information is\r
+  #                  added to the FMP Payload Header, then new services may be\r
+  #                  added to this library class to retrieve the new information.\r
+  FmpPayloadHeaderLib|PrivateInclude/Library/FmpPayloadHeaderLib.h\r
+\r
 [Guids]\r
   ## Firmware Management Protocol Device Package Token Space GUID\r
   gFmpDevicePkgTokenSpaceGuid = { 0x40b2d964, 0xfe11, 0x40dc, { 0x82, 0x83, 0x2e, 0xfb, 0xda, 0x29, 0x53, 0x56 } }\r
 \r
-[PcdsFixedAtBuild]\r
-  ## Indicates if a full system reset is required before a firmware update to a\r
-  #  firmware devices takes effect.<BR><BR>\r
-  #   TRUE  - System reset is required.<BR>\r
-  #   FALSE - System reset is not required.<BR>\r
-  # @Prompt FMP Device System Reset Required.\r
-  gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceSystemResetRequired|TRUE|BOOLEAN|0x40000008\r
+[Protocols.Common.Private]\r
+  ## Capsule Update Policy Protocol\r
+  gEdkiiCapsuleUpdatePolicyProtocolGuid = { 0x487784c5, 0x6299, 0x4ba6, { 0xb0, 0x96, 0x5c, 0xc5, 0x27, 0x7c, 0xf7, 0x57 } }\r
 \r
+[PcdsFeatureFlag]\r
+  ## Indicates if the Firmware Management Protocol supports access to\r
+  #  to a firmware storage device.  If set to FALSE, then only GetImageInfo()\r
+  #  is supported.  This is used by FMP drivers that require the smallest\r
+  #  possible Firmware Management Protocol implementation that supports\r
+  #  advertising the updatable firmware device in the ESRT.<BR>\r
+  #    TRUE  - All Firmware Management Protocol services supported.<BR>\r
+  #    FALSE - Firmware Management Protocol returns EFI_UNSUPPORTED for\r
+  #            all services except GetImageInfo().<BR>\r
+  # @Prompt Firmware Device Storage Access Enabled.\r
+  gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceStorageAccessEnable|TRUE|BOOLEAN|0x40000011\r
+\r
+[PcdsFixedAtBuild]\r
   ## The SHA-256 hash of a PKCS7 test key that is used to detect if a test key\r
   #  is being used to authenticate capsules.  Test key detection is disabled by\r
   #  setting the value to {0}.\r
   # @Prompt Firmware Device Watchdog Time in Seconds.\r
   gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceProgressWatchdogTimeInSeconds|0x0|UINT8|0x4000000D\r
 \r
+  ## The Image Type ID to use if one is not provided by FmpDeviceLib. If this\r
+  #  PCD is not a valid GUID value, then gEfiCallerIdGuid is used.\r
+  # @Prompt Firmware Device Image Type ID\r
+  gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceImageTypeIdGuid|{0}|VOID*|0x40000010\r
+\r
 [PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]\r
   ## One or more PKCS7 certificates used to verify a firmware device capsule\r
   #  update image.  Encoded using the Variable-Length Opaque Data format of RFC\r