]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/MdeModulePkg.dec
MdeModulePkg: Define the VariablePolicyHelperLib
[mirror_edk2.git] / MdeModulePkg / MdeModulePkg.dec
index d7572eedd18c7da9247758e226f0c3cf46d3d1d0..51f7f9d7246ad585a012dc9c952cc81155cf8f99 100644 (file)
@@ -8,7 +8,7 @@
 # Copyright (c) 2016, Linaro Ltd. All rights reserved.<BR>\r
 # (C) Copyright 2016 - 2019 Hewlett Packard Enterprise Development LP<BR>\r
 # Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR>\r
-# Copyright (c) 2016, Microsoft Corporation<BR>\r
+# Copyright (c) Microsoft Corporation.<BR>\r
 # SPDX-License-Identifier: BSD-2-Clause-Patent\r
 #\r
 ##\r
@@ -31,6 +31,9 @@
   ##  @libraryclass  Defines a set of methods to reset whole system.\r
   ResetSystemLib|Include/Library/ResetSystemLib.h\r
 \r
+  ##  @libraryclass  Business logic for storing and testing variable policies\r
+  VariablePolicyLib|Include/Library/VariablePolicyLib.h\r
+\r
   ##  @libraryclass  Defines a set of helper functions for resetting the system.\r
   ResetUtilityLib|Include/Library/ResetUtilityLib.h\r
 \r
   #\r
   DisplayUpdateProgressLib|Include/Library/DisplayUpdateProgressLib.h\r
 \r
+  ##  @libraryclass  This library contains helper functions for marshalling and\r
+  #   registering new policies with the VariablePolicy infrastructure.\r
+  #\r
+  VariablePolicyHelperLib|Include/Library/VariablePolicyHelperLib.h\r
+\r
 [Guids]\r
   ## MdeModule package token space guid\r
   # Include/Guid/MdeModulePkgTokenSpace.h\r
 #   0x80000006 | Incorrect error code provided.\r
 #\r
 \r
+  ## Include/Protocol/VariablePolicy.h\r
+  gEdkiiVariablePolicyProtocolGuid = { 0x81D1675C, 0x86F6, 0x48DF, { 0xBD, 0x95, 0x9A, 0x6E, 0x4F, 0x09, 0x25, 0xC3 } }\r
+\r
 [PcdsFeatureFlag]\r
   ## Indicates if the platform can support update capsule across a system reset.<BR><BR>\r
   #   TRUE  - Supports update capsule across a system reset.<BR>\r
   # @Prompt Variable storage size.\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0x10000|UINT32|0x30000005\r
 \r
+  ## Toggle for whether the VariablePolicy engine should allow disabling.\r
+  # The engine is enabled at power-on, but the interface allows the platform to\r
+  # disable enforcement for servicing flexibility. If this PCD is disabled, it will block the ability to\r
+  # disable the enforcement and VariablePolicy enforcement will always be ON.\r
+  #   TRUE - VariablePolicy can be disabled by request through the interface (until interface is locked)\r
+  #   FALSE - VariablePolicy interface will not accept requests to disable and is ALWAYS ON\r
+  # @Prompt Allow VariablePolicy enforcement to be disabled.\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdAllowVariablePolicyEnforcementDisable|FALSE|BOOLEAN|0x30000020\r
+\r
   ## FFS filename to find the ACPI tables.\r
   # @Prompt FFS name of ACPI tables storage.\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiTableStorageFile|{ 0x25, 0x4e, 0x37, 0x7e, 0x01, 0x8e, 0xee, 0x4f, 0x87, 0xf2, 0x39, 0xc, 0x23, 0xc6, 0x6, 0xcd }|VOID*|0x30000016\r
   # @Prompt If there is any test key used by the platform.\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdTestKeyUsed|FALSE|BOOLEAN|0x00030003\r
 \r
+  ## This dynamic PCD holds the base address of the Guest-Hypervisor Communication Block (GHCB) pool allocation.\r
+  # @Prompt GHCB Pool Base Address\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdGhcbBase|0|UINT64|0x00030007\r
+\r
+  ## This dynamic PCD holds the total size of the Guest-Hypervisor Communication Block (GHCB) pool allocation.\r
+  #  The amount of memory allocated for GHCBs is dependent on the number of APs.\r
+  # @Prompt GHCB Pool Size\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdGhcbSize|0|UINT64|0x00030008\r
+\r
 [PcdsDynamicEx]\r
   ## This dynamic PCD enables the default variable setting.\r
   #  Its value is the default store ID value. The default value is zero as Standard default.\r