X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=MdeModulePkg%2FMdeModulePkg.dec;h=4f44af694862c95e542fea44568ce562e633de93;hp=8efb19e62695b9e7d0ed30776eaeeaf2e1056bff;hb=HEAD;hpb=caa7cbbfcf8285f5be68f2c12b66e56fc59950fb diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec index 8efb19e626..e8058c8bfa 100644 --- a/MdeModulePkg/MdeModulePkg.dec +++ b/MdeModulePkg/MdeModulePkg.dec @@ -3,18 +3,14 @@ # It also provides the definitions(including PPIs/PROTOCOLs/GUIDs and library classes) # and libraries instances, which are used for those modules. # -# Copyright (c) 2007 - 2019, Intel Corporation. All rights reserved.
+# Copyright (c) 2019, NVIDIA CORPORATION. All rights reserved. +# Copyright (c) 2007 - 2021, Intel Corporation. All rights reserved.
# Copyright (c) 2016, Linaro Ltd. All rights reserved.
-# (C) Copyright 2016 Hewlett Packard Enterprise Development LP
+# (C) Copyright 2016 - 2019 Hewlett Packard Enterprise Development LP
# Copyright (c) 2017, AMD Incorporated. All rights reserved.
-# Copyright (c) 2016, Microsoft Corporation
-# This program and the accompanying materials are licensed and made available under -# the terms and conditions of the BSD License that accompanies this distribution. -# The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php. -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# Copyright (c) Microsoft Corporation.
+# Copyright (C) 2023 Advanced Micro Devices, Inc. All rights reserved.
+# SPDX-License-Identifier: BSD-2-Clause-Patent # ## @@ -29,53 +25,25 @@ [Includes] Include +[Includes.Common.Private] + Library/BrotliCustomDecompressLib/brotli/c/include [LibraryClasses] - ## @libraryclass IpIo layer upon EFI IP4 Protocol. - # This library is only intended to be used by UEFI network stack modules. - IpIoLib|Include/Library/IpIoLib.h - - ## @libraryclass Basic function for UEFI network stack. - # This library is only intended to be used by UEFI network stack modules. - NetLib|Include/Library/NetLib.h - - ## @libraryclass The helper routines to access UDP service. - # This library is only intended to be used by UEFI network stack modules. - UdpIoLib|Include/Library/UdpIoLib.h - - ## @libraryclass The helper routines to access TCP service. - # This library is only intended to be used by UEFI network stack modules. - TcpIoLib|Include/Library/TcpIoLib.h - - ## @libraryclass The helper routines to access HTTP service. - # This library is only intended to be used by UEFI network stack modules. - HttpLib|Include/Library/HttpLib.h - ## @libraryclass Defines a set of methods to reset whole system. ResetSystemLib|Include/Library/ResetSystemLib.h + ## @libraryclass Business logic for storing and testing variable policies + VariablePolicyLib|Include/Library/VariablePolicyLib.h + ## @libraryclass Defines a set of helper functions for resetting the system. ResetUtilityLib|Include/Library/ResetUtilityLib.h - ## @libraryclass Defines a set of methods related do S3 mode. - # This library class is no longer used and modules using this library should - # directly locate EFI_PEI_S3_RESUME_PPI defined in PI 1.2 specification. - S3Lib|Include/Library/S3Lib.h - - ## @libraryclass Defines a set of methods related recovery mode. - # This library class is no longer used and modules using this library should - # directly locate EFI_PEI_RECOVERY_MODULE_PPI defined in PI 1.2 specification. - RecoveryLib|Include/Library/RecoveryLib.h - ## @libraryclass Provides HII related functions. HiiLib|Include/Library/HiiLib.h ## @libraryclass Defines a set of interfaces on how to process capusle image update. CapsuleLib|Include/Library/CapsuleLib.h - ## @libraryclass Library for Deferred Procedure Calls. - DpcLib|Include/Library/DpcLib.h - ## @libraryclass Provides global variables that are pointers # to the UEFI HII related protocols. # @@ -150,6 +118,10 @@ # IpmiLib|Include/Library/IpmiLib.h + ## @libraryclass Provides interfaces to send/receive IPMI command. + # + IpmiCommandLib|Include/Library/IpmiCommandLib.h + ## @libraryclass Provides interfaces for platform to return root bridge information to PciHostBridgeDxe driver. # PciHostBridgeLib|Include/Library/PciHostBridgeLib.h @@ -182,6 +154,15 @@ # DisplayUpdateProgressLib|Include/Library/DisplayUpdateProgressLib.h + ## @libraryclass This library contains helper functions for marshalling and + # registering new policies with the VariablePolicy infrastructure. + # + VariablePolicyHelperLib|Include/Library/VariablePolicyHelperLib.h + + ## @libraryclass Provides services to access UEFI variable flash information. + # + VariableFlashInfoLib|Include/Library/VariableFlashInfoLib.h + [Guids] ## MdeModule package token space guid # Include/Guid/MdeModulePkgTokenSpace.h @@ -254,6 +235,10 @@ # Include/Guid/SmmVariableCommon.h gSmmVariableWriteGuid = { 0x93ba1826, 0xdffb, 0x45dd, { 0x82, 0xa7, 0xe7, 0xdc, 0xaa, 0x3b, 0xbd, 0xf3 }} + ## Guid of the variable flash information HOB. + # Include/Guid/VariableFlashInfo.h + gVariableFlashInfoHobGuid = { 0x5d11c653, 0x8154, 0x4ac3, { 0xa8, 0xc2, 0xfb, 0xa2, 0x89, 0x20, 0xfc, 0x90 }} + ## Performance protocol guid that also acts as the performance HOB guid and performance variable GUID # Include/Guid/Performance.h gPerformanceProtocolGuid = { 0x76B6BDFA, 0x2ACD, 0x4462, { 0x9E, 0x3F, 0xCB, 0x58, 0xC9, 0x69, 0xD9, 0x37 } } @@ -334,16 +319,6 @@ ## Include/Guid/PlatDriOverrideHii.h gPlatformOverridesManagerGuid = { 0x8614567d, 0x35be, 0x4415, { 0x8d, 0x88, 0xbd, 0x7d, 0xc, 0x9c, 0x70, 0xc0 }} - ## Include/Guid/Ip4Config2Hii.h - gIp4Config2NvDataGuid = { 0x9b942747, 0x154e, 0x4d29, { 0xa4, 0x36, 0xbf, 0x71, 0x0, 0xc8, 0xb5, 0x3b }} - - ## Include/Guid/VlanConfigHii.h - gVlanConfigFormSetGuid = { 0xd79df6b0, 0xef44, 0x43bd, { 0x97, 0x97, 0x43, 0xe9, 0x3b, 0xcf, 0x5f, 0xa8 }} - - ## Include/Guid/Ip4IScsiConfigHii.h - gIp4IScsiConfigGuid = { 0x6456ed61, 0x3579, 0x41c9, { 0x8a, 0x26, 0x0a, 0x0b, 0xd6, 0x2b, 0x78, 0xfc }} - gIScsiCHAPAuthInfoGuid = { 0x786ec0ac, 0x65ae, 0x4d1b, { 0xb1, 0x37, 0xd, 0x11, 0xa, 0x48, 0x37, 0x97 }} - ## Include/Guid/ZeroGuid.h gZeroGuid = { 0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}} @@ -381,6 +356,10 @@ ## Include/Guid/TtyTerm.h gEfiTtyTermGuid = { 0x7d916d80, 0x5bb1, 0x458c, {0xa4, 0x8f, 0xe2, 0x5f, 0xdd, 0x51, 0xef, 0x94 }} + gEdkiiLinuxTermGuid = { 0xe4364a7f, 0xf825, 0x430e, {0x9d, 0x3a, 0x9c, 0x9b, 0xe6, 0x81, 0x7c, 0xa5 }} + gEdkiiXtermR6Guid = { 0xfbfca56b, 0xbb36, 0x4b78, {0xaa, 0xab, 0xbe, 0x1b, 0x97, 0xec, 0x7c, 0xcb }} + gEdkiiVT400Guid = { 0x8e46dddd, 0x3d49, 0x4a9d, {0xb8, 0x75, 0x3c, 0x08, 0x6f, 0x6a, 0xa2, 0xbd }} + gEdkiiSCOTermGuid = { 0xfc7dd6e0, 0x813c, 0x434d, {0xb4, 0xda, 0x3b, 0xd6, 0x49, 0xe9, 0xe1, 0x5a }} ## Include/Guid/HiiBootMaintenanceFormset.h gEfiIfrBootMaintenanceGuid = { 0xb2dedc91, 0xd59f, 0x48d2, { 0x89, 0x8a, 0x12, 0x49, 0xc, 0x74, 0xa4, 0xe0 }} @@ -419,9 +398,49 @@ ## Include/Guid/EndofS3Resume.h gEdkiiEndOfS3ResumeGuid = { 0x96f5296d, 0x05f7, 0x4f3c, {0x84, 0x67, 0xe4, 0x56, 0x89, 0x0e, 0x0c, 0xb5 } } + ## Used (similar to Variable Services) to communicate policies to the enforcement engine. + # {DA1B0D11-D1A7-46C4-9DC9-F3714875C6EB} + gVarCheckPolicyLibMmiHandlerGuid = { 0xda1b0d11, 0xd1a7, 0x46c4, { 0x9d, 0xc9, 0xf3, 0x71, 0x48, 0x75, 0xc6, 0xeb }} + ## Include/Guid/S3SmmInitDone.h gEdkiiS3SmmInitDoneGuid = { 0x8f9d4825, 0x797d, 0x48fc, { 0x84, 0x71, 0x84, 0x50, 0x25, 0x79, 0x2e, 0xf6 } } + ## Include/Guid/S3StorageDeviceInitList.h + gS3StorageDeviceInitListGuid = { 0x310e9b8c, 0xcf90, 0x421e, { 0x8e, 0x9b, 0x9e, 0xef, 0xb6, 0x17, 0xc8, 0xef } } + + ## Include/Guid/SerialPortLibVendor.h + gEdkiiSerialPortLibVendorGuid = { 0xD3987D4B, 0x971A, 0x435F, { 0x8C, 0xAF, 0x49, 0x67, 0xEB, 0x62, 0x72, 0x41 } } + + ## GUID indicates the capsule is to store Capsule On Disk file names. + gEdkiiCapsuleOnDiskNameGuid = { 0x98c80a4f, 0xe16b, 0x4d11, { 0x93, 0x9a, 0xab, 0xe5, 0x61, 0x26, 0x3, 0x30 } } + + ## Include/Guid/MigratedFvInfo.h + gEdkiiMigratedFvInfoGuid = { 0xc1ab12f7, 0x74aa, 0x408d, { 0xa2, 0xf4, 0xc6, 0xce, 0xfd, 0x17, 0x98, 0x71 } } + + # + # GUID defined in UniversalPayload + # + ## Include/UniversalPayload/PciRootBridges.h + gUniversalPayloadPciRootBridgeInfoGuid = { 0xec4ebacb, 0x2638, 0x416e, { 0xbe, 0x80, 0xe5, 0xfa, 0x4b, 0x51, 0x19, 0x01 }} + + ## Include/UniversalPayload/SmbiosTable.h + gUniversalPayloadSmbios3TableGuid = { 0x92b7896c, 0x3362, 0x46ce, { 0x99, 0xb3, 0x4f, 0x5e, 0x3c, 0x34, 0xeb, 0x42 } } + + ## Include/UniversalPayload/SmbiosTable.h + gUniversalPayloadSmbiosTableGuid = { 0x590a0d26, 0x06e5, 0x4d20, { 0x8a, 0x82, 0x59, 0xea, 0x1b, 0x34, 0x98, 0x2d } } + + ## Include/UniversalPayload/AcpiTable.h + gUniversalPayloadAcpiTableGuid = { 0x9f9a9506, 0x5597, 0x4515, { 0xba, 0xb6, 0x8b, 0xcd, 0xe7, 0x84, 0xba, 0x87 } } + + ## Include/UniversalPayload/ExtraData.h + gUniversalPayloadExtraDataGuid = {0x15a5baf6, 0x1c91, 0x467d, {0x9d, 0xfb, 0x31, 0x9d, 0x17, 0x8d, 0x4b, 0xb4}} + + ## Include/UniversalPayload/SerialPortInfo.h + gUniversalPayloadSerialPortInfoGuid = { 0xaa7e190d, 0xbe21, 0x4409, { 0x8e, 0x67, 0xa2, 0xcd, 0xf, 0x61, 0xe1, 0x70 } } + + ## GUID used for Boot Discovery Policy FormSet guid and related variables. + gBootDiscoveryPolicyMgrFormsetGuid = { 0x5b6f7107, 0xbb3c, 0x4660, { 0x92, 0xcd, 0x54, 0x26, 0x90, 0x28, 0x0b, 0xbd } } + [Ppis] ## Include/Ppi/AtaController.h gPeiAtaControllerPpiGuid = { 0xa45e60d1, 0xc719, 0x44aa, { 0xb0, 0x7a, 0xaa, 0x77, 0x7f, 0x85, 0x90, 0x6d }} @@ -483,9 +502,25 @@ ## Include/Ppi/AtaAhciController.h gEdkiiPeiAtaAhciHostControllerPpiGuid = { 0x61dd33ea, 0x421f, 0x4cc0, { 0x89, 0x29, 0xff, 0xee, 0xa9, 0xa1, 0xa2, 0x61 } } + ## Include/Ppi/StorageSecurityCommand.h + gEdkiiPeiStorageSecurityCommandPpiGuid = { 0x35de0b4e, 0x30fb, 0x46c3, { 0xbd, 0x84, 0x1f, 0xdb, 0xa1, 0x58, 0xbb, 0x56 } } + ## Include/Ppi/AtaPassThru.h gEdkiiPeiAtaPassThruPpiGuid = { 0xa16473fd, 0xd474, 0x4c89, { 0xae, 0xc7, 0x90, 0xb8, 0x3c, 0x73, 0x86, 0x9 } } + ## Include/Ppi/Debug.h + gEdkiiDebugPpiGuid = { 0x999e699c, 0xb013, 0x475e, { 0xb1, 0x7b, 0xf3, 0xa8, 0xae, 0x5c, 0x48, 0x75 } } + + ## Include/Ppi/NvmExpressPassThru.h + gEdkiiPeiNvmExpressPassThruPpiGuid = { 0x6af31b2c, 0x3be, 0x46c1, { 0xb1, 0x2d, 0xea, 0x4a, 0x36, 0xdf, 0xa7, 0x4c } } + + ## Include/Ppi/PciDevice.h + gEdkiiPeiPciDevicePpiGuid = { 0x1597ab4f, 0xd542, 0x4efe, { 0x9a, 0xf7, 0xb2, 0x44, 0xec, 0x54, 0x4c, 0x0b } } + + ## Include/Ppi/CapsuleOnDisk.h + gEdkiiPeiCapsuleOnDiskPpiGuid = { 0x71a9ea61, 0x5a35, 0x4a5d, { 0xac, 0xef, 0x9c, 0xf8, 0x6d, 0x6d, 0x67, 0xe0 } } + gEdkiiPeiBootInCapsuleOnDiskModePpiGuid = { 0xb08a11e4, 0xe2b7, 0x4b75, { 0xb5, 0x15, 0xaf, 0x61, 0x6, 0x68, 0xbf, 0xd1 } } + [Protocols] ## Load File protocol provides capability to load and unload EFI image into memory and execute it. # Include/Protocol/LoadPe32Image.h @@ -506,9 +541,6 @@ # Include/Protocol/DebuggerConfiguration.h gEfiDebuggerConfigurationProtocolGuid = { 0x577d959c, 0xe967, 0x4546, { 0x86, 0x20, 0xc7, 0x78, 0xfa, 0xe5, 0xda, 0x05 }} - ## Include/Protocol/Dpc.h - gEfiDpcProtocolGuid = {0x480f8ae9, 0xc46, 0x4aa9, { 0xbc, 0x89, 0xdb, 0x9f, 0xba, 0x61, 0x98, 0x6 }} - ## Fault Tolerant Write protocol provides boot-time service to do fault tolerant write capability for block devices. # Include/Protocol/FaultTolerantWrite.h gEfiFaultTolerantWriteProtocolGuid = { 0x3EBD9E82, 0x2C78, 0x4DE6, { 0x97, 0x86, 0x8D, 0x4B, 0xFC, 0xB7, 0xC8, 0x81 }} @@ -551,7 +583,6 @@ gEfiLockBoxProtocolGuid = { 0xbd445d79, 0xb7ad, 0x4f04, { 0x9a, 0xd8, 0x29, 0xbd, 0x20, 0x40, 0xeb, 0x3c }} ## Include/Protocol/FormBrowserEx.h - gEfiFormBrowserExProtocolGuid = { 0x1f73b18d, 0x4630, 0x43c1, { 0xa1, 0xde, 0x6f, 0x80, 0x85, 0x5d, 0x7d, 0xa4 } } gEdkiiFormBrowserExProtocolGuid = { 0x1f73b18d, 0x4630, 0x43c1, { 0xa1, 0xde, 0x6f, 0x80, 0x85, 0x5d, 0x7d, 0xa4 } } ## Include/Protocol/EbcVmTest.h @@ -575,6 +606,9 @@ ## Include/Protocol/UfsHostController.h gEdkiiUfsHostControllerProtocolGuid = { 0xebc01af5, 0x7a9, 0x489e, { 0xb7, 0xce, 0xdc, 0x8, 0x9e, 0x45, 0x9b, 0x2f } } + ## Include/Protocol/UfsHostControllerPlatform.h + gEdkiiUfsHcPlatformProtocolGuid = { 0x3d18ba13, 0xd9b1, 0x4dd4, {0xb9, 0x16, 0xd3, 0x07, 0x96, 0x53, 0x9e, 0xd8}} + ## Include/Protocol/EsrtManagement.h gEsrtManagementProtocolGuid = { 0xa340c064, 0x723c, 0x4a9c, { 0xa4, 0xdd, 0xd5, 0xb4, 0x7a, 0x26, 0xfb, 0xb0 }} @@ -607,6 +641,11 @@ ## Include/Protocol/IoMmu.h gEdkiiIoMmuProtocolGuid = { 0x4e939de9, 0xd948, 0x4b0f, { 0x88, 0xed, 0xe6, 0xe1, 0xce, 0x51, 0x7c, 0x1e } } + ## Include/Protocol/DeviceSecurity.h + gEdkiiDeviceSecurityProtocolGuid = { 0x5d6b38c8, 0x5510, 0x4458, { 0xb4, 0x8d, 0x95, 0x81, 0xcf, 0xa7, 0xb0, 0xd } } + gEdkiiDeviceIdentifierTypePciGuid = { 0x2509b2f1, 0xa022, 0x4cca, { 0xaf, 0x70, 0xf9, 0xd3, 0x21, 0xfb, 0x66, 0x49 } } + gEdkiiDeviceIdentifierTypeUsbGuid = { 0x7394f350, 0x394d, 0x488c, { 0xbb, 0x75, 0xc, 0xab, 0x7b, 0x12, 0xa, 0xc5 } } + ## Include/Protocol/SmmMemoryAttribute.h gEdkiiSmmMemoryAttributeProtocolGuid = { 0x69b792ea, 0x39ce, 0x402d, { 0xa2, 0xa6, 0xf7, 0x21, 0xde, 0x35, 0x1d, 0xfe } } @@ -623,6 +662,13 @@ ## Include/Protocol/AtaAtapiPolicy.h gEdkiiAtaAtapiPolicyProtocolGuid = { 0xe59cd769, 0x5083, 0x4f26,{ 0x90, 0x94, 0x6c, 0x91, 0x9f, 0x91, 0x6c, 0x4e } } + + ## Include/Protocol/PeCoffImageEmulator.h + gEdkiiPeCoffImageEmulatorProtocolGuid = { 0x96f46153, 0x97a7, 0x4793, { 0xac, 0xc1, 0xfa, 0x19, 0xbf, 0x78, 0xea, 0x97 } } + + ## Include/Protocol/PlatformBootManager.h + gEdkiiPlatformBootManagerProtocolGuid = { 0xaa17add4, 0x756c, 0x460d, { 0x94, 0xb8, 0x43, 0x88, 0xd7, 0xfb, 0x3e, 0x59 } } + # # [Error.gEfiMdeModulePkgTokenSpaceGuid] # 0x80000001 | Invalid value provided. @@ -633,6 +679,9 @@ # 0x80000006 | Incorrect error code provided. # + ## Include/Protocol/VariablePolicy.h + gEdkiiVariablePolicyProtocolGuid = { 0x81D1675C, 0x86F6, 0x48DF, { 0xBD, 0x95, 0x9A, 0x6E, 0x4F, 0x09, 0x25, 0xC3 } } + [PcdsFeatureFlag] ## Indicates if the platform can support update capsule across a system reset.

# TRUE - Supports update capsule across a system reset.
@@ -660,6 +709,18 @@ # @Prompt Enable Device Path From Text support. gEfiMdeModulePkgTokenSpaceGuid.PcdDevicePathSupportDevicePathFromText|TRUE|BOOLEAN|0x00010038 + ## Indicates if the UEFI variable runtime cache should be enabled. + # This setting only applies if SMM variables are enabled. When enabled, all variable + # data for Runtime Service GetVariable () and GetNextVariableName () calls is retrieved + # from a runtime data buffer referred to as the "runtime cache". An SMI is not triggered + # at all for these requests. Variables writes still trigger an SMI. This can greatly + # reduce overall system SMM usage as most boots tend to issue far more variable reads + # than writes.

+ # TRUE - The UEFI variable runtime cache is enabled.
+ # FALSE - The UEFI variable runtime cache is disabled.
+ # @Prompt Enable the UEFI variable runtime cache. + gEfiMdeModulePkgTokenSpaceGuid.PcdEnableVariableRuntimeCache|TRUE|BOOLEAN|0x00010039 + ## Indicates if the statistics about variable usage will be collected. This information is # stored as a vendor configuration table into the EFI system table. # Set this PCD to TRUE to use VariableInfo application in MdeModulePkg\Application directory to get @@ -726,14 +787,6 @@ # @Prompt Disable default keyboard layout in USB KeyBoard Driver. gEfiMdeModulePkgTokenSpaceGuid.PcdDisableDefaultKeyboardLayoutInUsbKbDriver|FALSE|BOOLEAN|0x00010200 - ## Indicates if backward compatibility to Framework HII and Framework FvHob is supported.

- # TRUE - Setup Browser supports GUID opcodes generated from Framework HII VFR file by VFR compiler. - # the PeiCore will handle the framework FvHob and install FvInfo PPI for it.
- # FALSE - Setup Browser doesn't support GUID opcodes generated from Framework HII VFR file by VFR compiler. - # the PeiCore will not handle the framework FvHob and install FvInfo PPI for it.
- # @Prompt Enable framework backward compatibility support. - gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport|FALSE|BOOLEAN|0x00012009 - ## Indicates if HelloWorld Application will print the verbose information. # This PCD is a sample to explain FeatureFlag PCD usage.

# TRUE - HelloWorld Application will print the verbose information.
@@ -765,19 +818,6 @@ # @Prompt Enable PCI bridge IO alignment probe. gEfiMdeModulePkgTokenSpaceGuid.PcdPciBridgeIoAlignmentProbe|FALSE|BOOLEAN|0x0001004e - ## Indicates if StatusCode is reported via Serial port.

- # TRUE - Reports StatusCode via Serial port.
- # FALSE - Does not report StatusCode via Serial port.
- # @Prompt Enable StatusCode via Serial port. - gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|TRUE|BOOLEAN|0x00010022 - - ## Indicates if StatusCode is stored in memory. - # The memory is boot time memory in PEI Phase and is runtime memory in DXE Phase.

- # TRUE - Stores StatusCode in memory.
- # FALSE - Does not store StatusCode in memory.
- # @Prompt Enable StatusCode via memory. - gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory|FALSE|BOOLEAN|0x00010023 - ## Indicates if PEI phase StatusCode will be replayed in DXE phase.

# TRUE - Replays PEI phase StatusCode in DXE phased.
# FALSE - Does not replay PEI phase StatusCode in DXE phase.
@@ -876,15 +916,19 @@ # @Prompt Degrade 64-bit PCI MMIO BARs for legacy BIOS option ROMs gEfiMdeModulePkgTokenSpaceGuid.PcdPciDegradeResourceForOptionRom|TRUE|BOOLEAN|0x0001003a -[PcdsFeatureFlag.IA32, PcdsFeatureFlag.ARM, PcdsFeatureFlag.AARCH64] + ## Indicates if the platform can support process non-reset capsule image at runtime.

+ # TRUE - Supports process non-reset capsule image at runtime.
+ # FALSE - Does not support process non-reset capsule image at runtime.
+ # @Prompt Enable process non-reset capsule image at runtime. + gEfiMdeModulePkgTokenSpaceGuid.PcdSupportProcessCapsuleAtRuntime|FALSE|BOOLEAN|0x00010079 + +[PcdsFeatureFlag.IA32, PcdsFeatureFlag.ARM, PcdsFeatureFlag.AARCH64, PcdsFeatureFlag.LOONGARCH64] gEfiMdeModulePkgTokenSpaceGuid.PcdPciDegradeResourceForOptionRom|FALSE|BOOLEAN|0x0001003a [PcdsFeatureFlag.IA32, PcdsFeatureFlag.X64] ## Indicates if DxeIpl should switch to long mode to enter DXE phase. - # It is assumed that 64-bit DxeCore is built in firmware if it is true; otherwise 32-bit DxeCore - # is built in firmware.

# TRUE - DxeIpl will load a 64-bit DxeCore and switch to long mode to hand over to DxeCore.
- # FALSE - DxeIpl will load a 32-bit DxeCore and perform stack switch to hand over to DxeCore.
+ # FALSE - DxeIpl will load a 32-bit or 64-bit DxeCore and perform stack switch to hand over to DxeCore.
# @Prompt DxeIpl switch to long mode. gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode|TRUE|BOOLEAN|0x0001003b @@ -1128,6 +1172,15 @@ # @Prompt Variable storage size. gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0x10000|UINT32|0x30000005 + ## Toggle for whether the VariablePolicy engine should allow disabling. + # The engine is enabled at power-on, but the interface allows the platform to + # disable enforcement for servicing flexibility. If this PCD is disabled, it will block the ability to + # disable the enforcement and VariablePolicy enforcement will always be ON. + # TRUE - VariablePolicy can be disabled by request through the interface (until interface is locked) + # FALSE - VariablePolicy interface will not accept requests to disable and is ALWAYS ON + # @Prompt Allow VariablePolicy enforcement to be disabled. + gEfiMdeModulePkgTokenSpaceGuid.PcdAllowVariablePolicyEnforcementDisable|FALSE|BOOLEAN|0x30000020 + ## FFS filename to find the ACPI tables. # @Prompt FFS name of ACPI tables storage. gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiTableStorageFile|{ 0x25, 0x4e, 0x37, 0x7e, 0x01, 0x8e, 0xee, 0x4f, 0x87, 0xf2, 0x39, 0xc, 0x23, 0xc6, 0x6, 0xcd }|VOID*|0x30000016 @@ -1149,16 +1202,19 @@ # @Prompt Maximum number of PEI performance log entries. gEfiMdeModulePkgTokenSpaceGuid.PcdMaxPeiPerformanceLogEntries16|0|UINT16|0x00010035 - ## RTC Update Timeout Value(microsecond). - # @Prompt RTC Update Timeout Value. - gEfiMdeModulePkgTokenSpaceGuid.PcdRealTimeClockUpdateTimeout|100000|UINT32|0x00010034 - ## Indicates the 16550 serial port registers are in MMIO space, or in I/O space. Default is I/O space.

# TRUE - 16550 serial port registers are in MMIO space.
# FALSE - 16550 serial port registers are in I/O space.
# @Prompt Serial port registers use MMIO. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseMmio|FALSE|BOOLEAN|0x00020000 + ## Indicates the access width for 16550 serial port registers. + # Default is 8-bit access mode.

+ # 8 - 16550 serial port registers are accessed in 8-bit width.
+ # 32 - 16550 serial port registers are accessed in 32-bit width.
+ # @Prompt Serial port register access width. + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterAccessWidth|8|UINT8|0x00020007 + ## Indicates if the 16550 serial port hardware flow control will be enabled. Default is FALSE.

# TRUE - 16550 serial port hardware flow control will be enabled.
# FALSE - 16550 serial port hardware flow control will be disabled.
@@ -1205,12 +1261,6 @@ # @Expression 0x80000002 | (gEfiMdeModulePkgTokenSpaceGuid.PcdSerialFifoControl & 0xD8) == 0 gEfiMdeModulePkgTokenSpaceGuid.PcdSerialFifoControl|0x07|UINT8|0x00020005 - ## This setting can override the default TFTP block size. A value of 0 computes - # the default from MTU information. A non-zero value will be used as block size - # in bytes. - # @Prompt TFTP block size. - gEfiMdeModulePkgTokenSpaceGuid.PcdTftpBlockSize|0x0|UINT64|0x30001026 - ## Maximum address that the DXE Core will allocate the EFI_SYSTEM_TABLE_POINTER # structure. The default value for this PCD is 0, which means that the DXE Core # will allocate the buffer from the EFI_SYSTEM_TABLE_POINTER structure on a 4MB @@ -1235,6 +1285,15 @@ # @Prompt Shadow Peim and PeiCore on boot gEfiMdeModulePkgTokenSpaceGuid.PcdShadowPeimOnBoot|TRUE|BOOLEAN|0x30001029 + ## Enable the feature that evacuate temporary memory to permanent memory or not

+ # Set FALSE as default, if the developer need this feature to avoid this vulnerability, please + # enable it to shadow all PEIMs no matter the behavior controled by PcdShadowPeimOnBoot or + # PcdShadowPeimOnS3Boot
+ # TRUE - Evacuate temporary memory, the actions include copy memory, convert PPI pointers and so on.
+ # FALSE - Do nothing, for example, no copy memory, no convert PPI pointers and so on.
+ # @Prompt Evacuate temporary memory to permanent memory + gEfiMdeModulePkgTokenSpaceGuid.PcdMigrateTemporaryRamFirmwareVolumes|FALSE|BOOLEAN|0x3000102A + ## The mask is used to control memory profile behavior.

# BIT0 - Enable UEFI memory profile.
# BIT1 - Enable SMRAM profile.
@@ -1339,7 +1398,7 @@ gEfiMdeModulePkgTokenSpaceGuid.PcdDxeNxMemoryProtectionPolicy|0x0000000|UINT64|0x00001048 ## PCI Serial Device Info. It is an array of Device, Function, and Power Management - # information that describes the path that contains zero or more PCI to PCI briges + # information that describes the path that contains zero or more PCI to PCI bridges # followed by a PCI serial device. Each array entry is 4-bytes in length. The # first byte is the PCI Device Number, then second byte is the PCI Function Number, # and the last two bytes are the offset to the PCI power management capabilities @@ -1392,7 +1451,7 @@ gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0xdc, 0x5b, 0xc2, 0xee, 0xf2, 0x67, 0x95, 0x4d, 0xb1, 0xd5, 0xf8, 0x1b, 0x20, 0x39, 0xd1, 0x1d }|VOID*|0x0001006b ## This PCD points to the formset GUID of the driver health management form - # The form will be popped up by BDS core when there are Configuration Required driver health intances. + # The form will be popped up by BDS core when there are Configuration Required driver health instances. # Platform can customize the PCD to point to different formset. # @Prompt Driver Health Management Form gEfiMdeModulePkgTokenSpaceGuid.PcdDriverHealthConfigureForm|{ 0xf4, 0xd9, 0x96, 0x42, 0xfc, 0xf6, 0xde, 0x4d, 0x86, 0x85, 0x8c, 0xe2, 0xd7, 0x9d, 0x90, 0xf0 }|VOID*|0x0001006c @@ -1492,6 +1551,36 @@ # @Prompt Maximum Number of PEI Reset Filters, Reset Notifications or Reset Handlers. gEfiMdeModulePkgTokenSpaceGuid.PcdMaximumPeiResetNotifies|0x10|UINT32|0x0000010A + ## Capsule On Disk is to deliver capsules via files on Mass Storage device.

+ # This PCD indicates if the Capsule On Disk is supported.
+ # TRUE - Capsule On Disk is supported.
+ # FALSE - Capsule On Disk is not supported.
+ # If platform does not use this feature, this PCD should be set to FALSE.

+ # Two sulotions to deliver Capsule On Disk:
+ # a) If PcdCapsuleInRamSupport = TRUE, Load Capsule On Disk image out of TCB, and reuse + # Capsule In Ram to deliver capsule.
+ # b) If PcdCapsuleInRamSupport = FALSE, Relocate Capsule On Disk image to RootDir out + # of TCB, and reuse FatPei to load capsules from external storage.
+ # Note:
+ # If Both Capsule In Ram and Capsule On Disk are provisioned at the same time, the Capsule + # On Disk will be bypassed. + # @Prompt Enable Capsule On Disk support. + gEfiMdeModulePkgTokenSpaceGuid.PcdCapsuleOnDiskSupport|FALSE|BOOLEAN|0x0000002d + + ## Maximum permitted encapsulation levels of sections in a firmware volume, + # in the DXE phase. Minimum value is 1. Sections nested more deeply are + # rejected. + # @Prompt Maximum permitted FwVol section nesting depth (exclusive). + gEfiMdeModulePkgTokenSpaceGuid.PcdFwVolDxeMaxEncapsulationDepth|0x10|UINT32|0x00000030 + + ## Indicates the default timeout value for SD/MMC Host Controller operations in microseconds. + # @Prompt SD/MMC Host Controller Operations Timeout (us). + gEfiMdeModulePkgTokenSpaceGuid.PcdSdMmcGenericTimeoutValue|1000000|UINT32|0x00000031 + + ## The Retry Count of AHCI command if there is a failure + # @Prompt The value of Retry Count, Default value is 5. + gEfiMdeModulePkgTokenSpaceGuid.PcdAhciCommandRetryCount|5|UINT32|0x00000032 + [PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx] ## This PCD defines the Console output row. The default value is 25 according to UEFI spec. # This PCD could be set to 0 then console output would be at max column and max row. @@ -1536,6 +1625,15 @@ # @Prompt Console Output Row of Text Setup gEfiMdeModulePkgTokenSpaceGuid.PcdSetupConOutRow|25|UINT32|0x4000000e + ## Specify the Boot Discovery Policy settings + # To support configuring from setup page, this PCD should be overridden in DynamicHii type in its platform .dsc: + # gEfiMdeModulePkgTokenSpaceGuid.PcdBootDiscoveryPolicy|L"BootDiscoveryPolicy"|gBootDiscoveryPolicyMgrFormsetGuid|0 + # @Prompt Boot Discovery Policy + gEfiMdeModulePkgTokenSpaceGuid.PcdBootDiscoveryPolicy|2|UINT32|0x4000000f + +[PcdsFixedAtBuild.AARCH64, PcdsPatchableInModule.AARCH64] + gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiExposedTableVersions|0x20|UINT32|0x0001004c + [PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx] ## UART clock frequency is for the baud rate configuration. # @Prompt Serial Port Clock Rate. @@ -1654,6 +1752,12 @@ # @Prompt Reset on memory type information change. gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|TRUE|BOOLEAN|0x00010056 + ## Indicates if the BDS supports Platform Recovery.

+ # TRUE - BDS supports Platform Recovery.
+ # FALSE - BDS does not support Platform Recovery.
+ # @Prompt Support Platform Recovery. + gEfiMdeModulePkgTokenSpaceGuid.PcdPlatformRecoverySupport|TRUE|BOOLEAN|0x00010078 + ## Specify the foreground color for Subtile text in HII Form Browser. The default value is EFI_BLUE. # Only following values defined in UEFI specification are valid:

# 0x00 (EFI_BLACK)
@@ -1784,7 +1888,7 @@ ## SMBIOS version. # @Prompt SMBIOS version. - gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0302|UINT16|0x00010055 + gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0303|UINT16|0x00010055 ## SMBIOS Docrev field in SMBIOS 3.0 (64-bit) Entry Point Structure. # @Prompt SMBIOS Docrev field in SMBIOS 3.0 (64-bit) Entry Point Structure. @@ -1797,9 +1901,9 @@ gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosEntryPointProvideMethod|0x3|UINT32|0x00010069 ## This PCD specifies the additional pad size in FPDT Basic Boot Performance Table for - # the extension FPDT boot records received after ReadyToBoot and before ExitBootService. + # the extension FPDT boot records received after EndOfDxe and before ExitBootService. # @Prompt Pad size for extension FPDT boot records. - gEfiMdeModulePkgTokenSpaceGuid.PcdExtFpdtBootRecordPadSize|0x20000|UINT32|0x0001005F + gEfiMdeModulePkgTokenSpaceGuid.PcdExtFpdtBootRecordPadSize|0x30000|UINT32|0x0001005F ## Indicates if ConIn device are connected on demand.

# TRUE - ConIn device are not connected during BDS and ReadKeyStroke/ReadKeyStrokeEx produced @@ -1847,30 +1951,6 @@ # @Prompt Flag to request system reboot after processing capsule. gEfiMdeModulePkgTokenSpaceGuid.PcdSystemRebootAfterCapsuleProcessFlag|0x0001|UINT16|0x0000006d - ## Publish PropertiesTable or not. - # - # If this PCD is TRUE, DxeCore publishs PropertiesTable. - # DxeCore evaluates if all runtime drivers has 4K aligned PE sections. If all - # PE sections in runtime drivers are 4K aligned, DxeCore sets BIT0 in - # PropertiesTable. Or DxeCore clears BIT0 in PropertiesTable. - # If this PCD is FALSE, DxeCore does not publish PropertiesTable. - # - # If PropertiesTable has BIT0 set, DxeCore uses below policy in UEFI memory map: - # 1) Use EfiRuntimeServicesCode for runtime driver PE image code section and - # use EfiRuntimeServicesData for runtime driver PE image header and other section. - # 2) Set EfiRuntimeServicesCode to be EFI_MEMORY_RO. - # 3) Set EfiRuntimeServicesData to be EFI_MEMORY_XP. - # 4) Set EfiMemoryMappedIO and EfiMemoryMappedIOPortSpace to be EFI_MEMORY_XP. - # - # NOTE: Platform need gurantee this PCD is set correctly. Platform should set - # this PCD to be TURE if and only if all runtime driver has seperated Code/Data - # section. If PE code/data sections are merged, the result is unpredictable. - # - # UEFI 2.6 specification does not recommend to use this BIT0 attribute. - # - # @Prompt Publish UEFI PropertiesTable. - gEfiMdeModulePkgTokenSpaceGuid.PcdPropertiesTableEnable|FALSE|BOOLEAN|0x0000006e - ## Default OEM ID for ACPI table creation, its length must be 0x6 bytes to follow ACPI specification. # @Prompt Default OEM ID for ACPI table creation. gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemId|"INTEL "|VOID*|0x30001034 @@ -1951,6 +2031,17 @@ # @Prompt Recover file name in PEI phase gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryFileName|L"FVMAIN.FV"|VOID*|0x30001045 + ## This is Capsule Temp Relocation file name in PEI phase. + # The file must be in the root directory. + # The file name must be the 8.3 format. + # The PCD data must be in UNICODE format. + # CapsuleOnDiskLoadPei PEI module will set value of this PCD to PcdRecoveryFileName, then + # leverage recovery to get Capsule On Disk Temp Relocation file. + # Note: The file name must be shorter than PcdRecoveryFileName, otherwise CapsuleOnDiskLoadPei + # PEI module will fail to get Capsule On Disk Temp Relocation file. + # @Prompt Capsule On Disk Temp Relocation file name in PEI phase + gEfiMdeModulePkgTokenSpaceGuid.PcdCoDRelocationFileName|L"Cod.tmp"|VOID*|0x30001048 + ## This PCD hold a list GUIDs for the ImageTypeId to indicate the # FMP capsule is a system FMP. # @Prompt A list of system FMP ImageTypeId GUIDs @@ -1962,6 +2053,58 @@ # @Prompt The address mask when memory encryption is enabled. gEfiMdeModulePkgTokenSpaceGuid.PcdPteMemoryEncryptionAddressOrMask|0x0|UINT64|0x30001047 + ## Indicates if 5-Level Paging will be enabled in long mode. 5-Level Paging will not be enabled + # when the PCD is TRUE but CPU doesn't support 5-Level Paging. + # TRUE - 5-Level Paging will be enabled.
+ # FALSE - 5-Level Paging will not be enabled.
+ # @Prompt Enable 5-Level Paging support in long mode. + gEfiMdeModulePkgTokenSpaceGuid.PcdUse5LevelPageTable|FALSE|BOOLEAN|0x0001105F + + ## Capsule In Ram is to use memory to deliver the capsules that will be processed after system + # reset.

+ # This PCD indicates if the Capsule In Ram is supported.
+ # TRUE - Capsule In Ram is supported.
+ # FALSE - Capsule In Ram is not supported. + # @Prompt Enable Capsule In Ram support. + gEfiMdeModulePkgTokenSpaceGuid.PcdCapsuleInRamSupport|TRUE|BOOLEAN|0x0000002e + + ## Full device path of platform specific device to store Capsule On Disk temp relocation file.
+ # If this PCD is set, Capsule On Disk temp relocation file will be stored in the device specified + # by this PCD, instead of the EFI System Partition that stores capsule image file. + # @Prompt Capsule On Disk relocation device path. + gEfiMdeModulePkgTokenSpaceGuid.PcdCodRelocationDevPath|{0xFF}|VOID*|0x0000002f + + ## Indicates which TCG Platform Firmware Profile revision the EDKII firmware follows. + # The revision number is defined in MdePkg/Include/IndustryStandard/UefiTcgPlatform.h + # 0: This is for compatiblity support. + # 105: This is the first revision to support 800-155 is related event, such as + # EV_EFI_PLATFORM_FIRMWARE_BLOB2 and EV_EFI_HANDOFF_TABLES2. + # @Prompt TCG Platform Firmware Profile revision. + gEfiMdeModulePkgTokenSpaceGuid.PcdTcgPfpMeasurementRevision|0|UINT32|0x00010077 + + ## Indicates if StatusCode is reported via Serial port.

+ # TRUE - Reports StatusCode via Serial port.
+ # FALSE - Does not report StatusCode via Serial port.
+ # @Prompt Enable StatusCode via Serial port. + gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|TRUE|BOOLEAN|0x00010022 + + ## Indicates if StatusCode is stored in memory. + # The memory is boot time memory in PEI Phase and is runtime memory in DXE Phase.

+ # TRUE - Stores StatusCode in memory.
+ # FALSE - Does not store StatusCode in memory.
+ # @Prompt Enable StatusCode via memory. + gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory|FALSE|BOOLEAN|0x00010023 + + ## Indicates if the PCIe Resizable BAR Capability Supported.

+ # TRUE - PCIe Resizable BAR Capability is supported.
+ # FALSE - PCIe Resizable BAR Capability is not supported.
+ # @Prompt Enable PCIe Resizable BAR Capability support. + gEfiMdeModulePkgTokenSpaceGuid.PcdPcieResizableBarSupport|FALSE|BOOLEAN|0x10000024 + + ## This PCD holds the shared bit mask for page table entries when Tdx is enabled. + # @Prompt The shared bit mask when Intel Tdx is enabled. + gEfiMdeModulePkgTokenSpaceGuid.PcdTdxSharedBitMask|0x0|UINT64|0x10000025 + [PcdsPatchableInModule] ## Specify memory size with page number for PEI code when # Loading Module at Fixed Address feature is enabled. @@ -2012,6 +2155,15 @@ # @Prompt If there is any test key used by the platform. gEfiMdeModulePkgTokenSpaceGuid.PcdTestKeyUsed|FALSE|BOOLEAN|0x00030003 + ## This dynamic PCD holds the base address of the Guest-Hypervisor Communication Block (GHCB) pool allocation. + # @Prompt GHCB Pool Base Address + gEfiMdeModulePkgTokenSpaceGuid.PcdGhcbBase|0|UINT64|0x00030007 + + ## This dynamic PCD holds the total size of the Guest-Hypervisor Communication Block (GHCB) pool allocation. + # The amount of memory allocated for GHCBs is dependent on the number of APs. + # @Prompt GHCB Pool Size + gEfiMdeModulePkgTokenSpaceGuid.PcdGhcbSize|0|UINT64|0x00030008 + [PcdsDynamicEx] ## This dynamic PCD enables the default variable setting. # Its value is the default store ID value. The default value is zero as Standard default.