X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=MdeModulePkg%2FMdeModulePkg.dec;h=1edb49afbd2e5f06d0749e2769b44e1a7fa60aca;hp=4ab6358d498322926e6aac71e5255f9b0fc7a41a;hb=4e5c0d12f951f294937b57f2f3ff9be64748778e;hpb=acaa2726fbaa32a1adfa57caf8679eae316a8750 diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec index 4ab6358d49..1edb49afbd 100644 --- a/MdeModulePkg/MdeModulePkg.dec +++ b/MdeModulePkg/MdeModulePkg.dec @@ -1,10 +1,9 @@ ## @file MdeModulePkg.dec -# # This package provides the modules that conform to UEFI/PI Industry standards. -# It also provides the defintions(including PPIs/PROTOCOLs/GUIDs and library classes) +# It also provides the definitions(including PPIs/PROTOCOLs/GUIDs and library classes) # and libraries instances, which are used for those modules. # -# Copyright (c) 2007 - 2011, Intel Corporation. All rights reserved.
+# Copyright (c) 2007 - 2015, Intel Corporation. All rights reserved.
# 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 @@ -19,8 +18,9 @@ [Defines] DEC_SPECIFICATION = 0x00010005 PACKAGE_NAME = MdeModulePkg + PACKAGE_UNI_FILE = MdeModulePkg.uni PACKAGE_GUID = BA0D78D6-2CAF-414b-BD4D-B6762A894288 - PACKAGE_VERSION = 0.91 + PACKAGE_VERSION = 0.96 [Includes] Include @@ -85,7 +85,26 @@ ## @libraryclass Provide platform specific hooks. # PlatformHookLib|Include/Library/PlatformHookLib.h + + ## @libraryclass Provide platform specific hooks for SMM core. + # + SmmCorePlatformHookLib|Include/Library/SmmCorePlatformHookLib.h + + ## @libraryclass Provide capability to maintain the data integrity cross S3 phase. + # + LockBoxLib|Include/Library/LockBoxLib.h + ## @libraryclass Provide the CPU exception handler. + # + CpuExceptionHandlerLib|Include/Library/CpuExceptionHandlerLib.h + + ## @libraryclass Provides platform specific display interface. + # + CustomizedDisplayLib|Include/Library/CustomizedDisplayLib.h + + ## @libraryclass Provides sorting functions + SortLib|Include/Library/SortLib.h + [Guids] ## MdeModule package token space guid # Include/Guid/MdeModulePkgTokenSpace.h @@ -95,6 +114,10 @@ # Include/Guid/PcdDataBaseHobGuid.h gPcdDataBaseHobGuid = { 0xEA296D92, 0x0B69, 0x423C, { 0x8C, 0x28, 0x33, 0xB4, 0xE0, 0xA9, 0x12, 0x68 }} + ## Guid for PCD DataBase signature. + # Include/Guid/PcdDataBaseSignatureGuid.h + gPcdDataBaseSignatureGuid = { 0x3c7d193c, 0x682c, 0x4c14, { 0xa6, 0x8f, 0x55, 0x2d, 0xea, 0x4f, 0x43, 0x7e }} + ## Guid for EDKII implementation GUIDed opcodes # Include/Guid/MdeModuleHii.h gEfiIfrTianoGuid = { 0xf0b1735, 0x87a0, 0x4193, {0xb2, 0x66, 0x53, 0x8c, 0x38, 0xaf, 0x48, 0xce }} @@ -107,6 +130,14 @@ # Include/Guid/SystemNvDataGuid.h gEfiSystemNvDataFvGuid = { 0xFFF12B8D, 0x7696, 0x4C8B, { 0xA9, 0x85, 0x27, 0x47, 0x07, 0x5B, 0x4F, 0x50 }} + ## GUID used as the signature of FTW working block header. + # Include/Guid/SystemNvDataGuid.h + gEdkiiWorkingBlockSignatureGuid = { 0x9e58292b, 0x7c68, 0x497d, { 0xa0, 0xce, 0x65, 0x0, 0xfd, 0x9f, 0x1b, 0x95 }} + + ## GUID used to build FTW last write data hob and install PPI to inform the check for FTW last write data has been done. + # Include/Guid/FaultTolerantWrite.h + gEdkiiFaultTolerantWriteGuid = { 0x1d3e9cb8, 0x43af, 0x490b, { 0x83, 0xa, 0x35, 0x16, 0xaa, 0x53, 0x20, 0x47 }} + ## Guid specify the device is the console out device. # Include/Guid/ConsoleOutDevice.h gEfiConsoleOutDeviceGuid = { 0xD3B36F2C, 0xD551, 0x11D4, { 0x9A, 0x46, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }} @@ -131,14 +162,19 @@ # Include/Guid/VariableFormat.h gEfiVariableGuid = { 0xddcf3616, 0x3275, 0x4164, { 0x98, 0xb6, 0xfe, 0x85, 0x70, 0x7f, 0xfe, 0x7d }} + # Include/Guid/VariableIndexTable.h + gEfiVariableIndexTableGuid = { 0x8cfdb8c8, 0xd6b2, 0x40f3, { 0x8e, 0x97, 0x02, 0x30, 0x7c, 0xc9, 0x8b, 0x7c }} + ## Guid is defined for SMM variable module to notify SMM variable wrapper module when variable write service was ready. # Include/Guid/SmmVariableCommon.h gSmmVariableWriteGuid = { 0x93ba1826, 0xdffb, 0x45dd, { 0x82, 0xa7, 0xe7, 0xdc, 0xaa, 0x3b, 0xbd, 0xf3 }} ## 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 }} - gSmmPerformanceProtocolGuid = { 0xf866226a, 0xeaa5, 0x4f5a, { 0xa9, 0xa, 0x6c, 0xfb, 0xa5, 0x7c, 0x58, 0x8e } } + gPerformanceProtocolGuid = { 0x76B6BDFA, 0x2ACD, 0x4462, { 0x9E, 0x3F, 0xCB, 0x58, 0xC9, 0x69, 0xD9, 0x37 } } + gSmmPerformanceProtocolGuid = { 0xf866226a, 0xeaa5, 0x4f5a, { 0xa9, 0xa, 0x6c, 0xfb, 0xa5, 0x7c, 0x58, 0x8e } } + gPerformanceExProtocolGuid = { 0x1ea81bec, 0xf01a, 0x4d98, { 0xa2, 0x1, 0x4a, 0x61, 0xce, 0x2f, 0xc0, 0x22 } } + gSmmPerformanceExProtocolGuid = { 0x931fc048, 0xc71d, 0x4455, { 0x89, 0x30, 0x47, 0x6, 0x30, 0xe3, 0xe, 0xe5 } } ## Guid is defined for CRC32 encapsulation scheme. # Include/Guid/Crc32GuidedSectionExtraction.h @@ -166,6 +202,131 @@ # Include/Guid/DebugMask.h gEfiGenericVariableGuid = { 0x59d1c24f, 0x50f1, 0x401a, {0xb1, 0x01, 0xf3, 0x3e, 0x0d, 0xae, 0xd4, 0x43} } + ## Event for the DXE Core to signal idle events + # Include/Guid/EventIdle.h + gIdleLoopEventGuid = { 0x3c8d294c, 0x5fc3, 0x4451, { 0xbb, 0x31, 0xc4, 0xc0, 0x32, 0x29, 0x5e, 0x6c } } + + ## Include/Guid/RecoveryDevice.h + gRecoveryOnFatUsbDiskGuid = { 0x0FFBCE19, 0x324C, 0x4690, { 0xA0, 0x09, 0x98, 0xC6, 0xAE, 0x2E, 0xB1, 0x86 }} + + ## Include/Guid/RecoveryDevice.h + gRecoveryOnFatIdeDiskGuid = { 0xB38573B6, 0x6200, 0x4AC5, { 0xB5, 0x1D, 0x82, 0xE6, 0x59, 0x38, 0xD7, 0x83 }} + + ## Include/Guid/RecoveryDevice.h + gRecoveryOnFatFloppyDiskGuid = { 0x2E3D2E75, 0x9B2E, 0x412D, { 0xB4, 0xB1, 0x70, 0x41, 0x6B, 0x87, 0x00, 0xFF }} + + ## Include/Guid/RecoveryDevice.h + gRecoveryOnDataCdGuid = { 0x5CAC0099, 0x0DC9, 0x48E5, { 0x80, 0x68, 0xBB, 0x95, 0xF5, 0x40, 0x0A, 0x9F }} + + ## Include/Guid/SmmLockBox.h + gEfiSmmLockBoxCommunicationGuid = { 0x2a3cfebd, 0x27e8, 0x4d0a, { 0x8b, 0x79, 0xd6, 0x88, 0xc2, 0xa3, 0xe1, 0xc0 }} + + ## Include/Guid/AcpiS3Context.h + gEfiAcpiVariableGuid = { 0xAF9FFD67, 0xEC10, 0x488A, { 0x9D, 0xFC, 0x6C, 0xBF, 0x5E, 0xE2, 0x2C, 0x2E }} + + ## Include/Guid/AcpiS3Context.h + gEfiAcpiS3ContextGuid = { 0xef98d3a, 0x3e33, 0x497a, { 0xa4, 0x1, 0x77, 0xbe, 0x3e, 0xb7, 0x4f, 0x38 }} + + ## Include/Guid/BootScriptExecutorVariable.h + gEfiBootScriptExecutorVariableGuid = { 0x3079818c, 0x46d4, 0x4a73, { 0xae, 0xf3, 0xe3, 0xe4, 0x6c, 0xf1, 0xee, 0xdb }} + gEfiBootScriptExecutorContextGuid = { 0x79cb58c4, 0xac51, 0x442f, { 0xaf, 0xd7, 0x98, 0xe4, 0x7d, 0x2e, 0x99, 0x8 }} + + ## Include/Guid/UsbKeyBoardLayout.h + gUsbKeyboardLayoutPackageGuid = { 0xc0f3b43, 0x44de, 0x4907, { 0xb4, 0x78, 0x22, 0x5f, 0x6f, 0x62, 0x89, 0xdc }} + gUsbKeyboardLayoutKeyGuid = { 0x3a4d7a7c, 0x18a, 0x4b42, { 0x81, 0xb3, 0xdc, 0x10, 0xe3, 0xb5, 0x91, 0xbd }} + + ## Include/Guid/HiiResourceSampleHii.h + gHiiResourceSamleFormSetGuid = { 0x4f4ef7f0, 0xaa29, 0x4ce9, { 0xba, 0x41, 0x64, 0x3e, 0x1, 0x23, 0xa9, 0x9f }} + + ## Include/Guid/DriverSampleHii.h + gDriverSampleFormSetGuid = { 0xA04A27f4, 0xDF00, 0x4D42, { 0xB5, 0x52, 0x39, 0x51, 0x13, 0x02, 0x11, 0x3D }} + gDriverSampleInventoryGuid = { 0xb3f56470, 0x6141, 0x4621, { 0x8f, 0x19, 0x70, 0x4e, 0x57, 0x7a, 0xa9, 0xe8 }} + gEfiIfrRefreshIdOpGuid = { 0xF5E655D9, 0x02A6, 0x46f2, { 0x9E, 0x76, 0xB8, 0xBE, 0x8E, 0x60, 0xAB, 0x22 }} + + ## Include/Guid/PlatDriOverrideHii.h + gPlatformOverridesManagerGuid = { 0x8614567d, 0x35be, 0x4415, { 0x8d, 0x88, 0xbd, 0x7d, 0xc, 0x9c, 0x70, 0xc0 }} + + ## Include/Guid/Ip4ConfigHii.h + gNicIp4ConfigNvDataGuid = { 0x9d5b53f, 0xf4b0, 0x4f59, { 0xa0, 0xb1, 0x7b, 0x57, 0xd3, 0x5c, 0xe, 0x5 }} + + ## 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}} + + ## Include/Guid/MtcVendor.h + gMtcVendorGuid = { 0xeb704011, 0x1402, 0x11d3, { 0x8e, 0x77, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b }} + + ## Guid for Firmware Performance Data Table (FPDT) implementation. + # Include/Guid/FirmwarePerformance.h + gEfiFirmwarePerformanceGuid = { 0xc095791a, 0x3001, 0x47b2, { 0x80, 0xc9, 0xea, 0xc7, 0x31, 0x9f, 0x2f, 0xa4 }} + gFirmwarePerformanceS3PointerGuid = { 0xdc65adc, 0xa973, 0x4130, { 0x8d, 0xf0, 0x2a, 0xdb, 0xeb, 0x9e, 0x4a, 0x31 }} + + ## Include/Guid/ExitBootServiceFailed.h + gEventExitBootServicesFailedGuid = { 0x4f6c5507, 0x232f, 0x4787, { 0xb9, 0x5e, 0x72, 0xf8, 0x62, 0x49, 0xc, 0xb1 } } + + ## Include/Guid/ConnectConInEvent.h + gConnectConInEventGuid = { 0xdb4e8151, 0x57ed, 0x4bed, { 0x88, 0x33, 0x67, 0x51, 0xb5, 0xd1, 0xa8, 0xd7 }} + + ## Include/Guid/StatusCodeDataTypeVariable.h + gEdkiiStatusCodeDataTypeVariableGuid = { 0xf6ee6dbb, 0xd67f, 0x4ea0, { 0x8b, 0x96, 0x6a, 0x71, 0xb1, 0x9d, 0x84, 0xad }} + + ## Include/Guid/MemoryProfile.h + gEdkiiMemoryProfileGuid = { 0x821c9a09, 0x541a, 0x40f6, { 0x9f, 0x43, 0xa, 0xd1, 0x93, 0xa1, 0x2c, 0xfe }} + + ## Include/Protocol/VarErrorFlag.h + gEdkiiVarErrorFlagGuid = { 0x4b37fe8, 0xf6ae, 0x480b, { 0xbd, 0xd5, 0x37, 0xd9, 0x8c, 0x5e, 0x89, 0xaa } } + + ## GUID indicates the LZMA custom compress/decompress algorithm. + # Include/Guid/LzmaDecompress.h + gLzmaCustomDecompressGuid = { 0xEE4E5898, 0x3914, 0x4259, { 0x9D, 0x6E, 0xDC, 0x7B, 0xD7, 0x94, 0x03, 0xCF }} + gLzmaF86CustomDecompressGuid = { 0xD42AE6BD, 0x1352, 0x4bfb, { 0x90, 0x9A, 0xCA, 0x72, 0xA6, 0xEA, 0xE8, 0x89 }} + +[Ppis] + ## Include/Ppi/AtaController.h + gPeiAtaControllerPpiGuid = { 0xa45e60d1, 0xc719, 0x44aa, { 0xb0, 0x7a, 0xaa, 0x77, 0x7f, 0x85, 0x90, 0x6d }} + + ## Include/Ppi/UsbHostController.h + gPeiUsbHostControllerPpiGuid = { 0x652B38A9, 0x77F4, 0x453F, { 0x89, 0xD5, 0xE7, 0xBD, 0xC3, 0x52, 0xFC, 0x53 }} + + ## Include/Ppi/Usb2HostController.h + gPeiUsb2HostControllerPpiGuid = { 0xfedd6305, 0xe2d7, 0x4ed5, { 0x9f, 0xaa, 0xda, 0x8, 0xe, 0x33, 0x6c, 0x22 }} + + ## Include/Ppi/UsbController.h + gPeiUsbControllerPpiGuid = { 0x3BC1F6DE, 0x693E, 0x4547, { 0xA3, 0x00, 0x21, 0x82, 0x3C, 0xA4, 0x20, 0xB2 }} + + ## Include/Ppi/UsbIo.h + gPeiUsbIoPpiGuid = { 0x7C29785C, 0x66B9, 0x49FC, { 0xB7, 0x97, 0x1C, 0xA5, 0x55, 0x0E, 0xF2, 0x83 }} + + ## Include/Ppi/Capsule.h + gPeiCapsulePpiGuid = { 0x3acf33ee, 0xd892, 0x40f4, { 0xa2, 0xfc, 0x38, 0x54, 0xd2, 0xe1, 0x32, 0x3d }} + + ## Include/Ppi/SecPerformance.h + gPeiSecPerformancePpiGuid = { 0x0ecc666b, 0x4662, 0x47f9, { 0x9d, 0xd5, 0xd0, 0x96, 0xff, 0x7d, 0xa4, 0x9e }} + + ## Include/Ppi/SmmCommunication.h + gEfiPeiSmmCommunicationPpiGuid = { 0xae933e1c, 0xcc47, 0x4e38, { 0x8f, 0xe, 0xe2, 0xf6, 0x1d, 0x26, 0x5, 0xdf }} + + ## Include/Ppi/SmmAccess.h + gPeiSmmAccessPpiGuid = { 0x268f33a9, 0xcccd, 0x48be, { 0x88, 0x17, 0x86, 0x5, 0x3a, 0xc3, 0x2e, 0xd6 }} + + ## Include/Ppi/SmmControl.h + gPeiSmmControlPpiGuid = { 0x61c68702, 0x4d7e, 0x4f43, { 0x8d, 0xef, 0xa7, 0x43, 0x5, 0xce, 0x74, 0xc5 }} + + ## Include/Ppi/PostBootScriptTable.h + gPeiPostScriptTablePpiGuid = { 0x88c9d306, 0x900, 0x4eb5, { 0x82, 0x60, 0x3e, 0x2d, 0xbe, 0xda, 0x1f, 0x89}} + + ## Include/Ppi/SerialPortPei.h + gPeiSerialPortPpiGuid = { 0x490e9d85, 0x8aef, 0x4193, { 0x8e, 0x56, 0xf7, 0x34, 0xa9, 0xff, 0xac, 0x8b}} + + ## Include/Ppi/UfsHostController.h + gEdkiiPeiUfsHostControllerPpiGuid = { 0xdc54b283, 0x1a77, 0x4cd6, { 0x83, 0xbb, 0xfd, 0xda, 0x46, 0x9a, 0x2e, 0xc6 }} + [Protocols] ## Load File protocol provides capability to load and unload EFI image into memory and execute it. # Include/Protocol/LoadPe32Image.h @@ -204,6 +365,16 @@ # Include/Protocol/SmmVariableProtocol.h gEfiSmmVariableProtocolGuid = { 0xed32d533, 0x99e6, 0x4209, { 0x9c, 0xc0, 0x2d, 0x72, 0xcd, 0xd9, 0x98, 0xa7 }} + ## This protocol is intended for use as a means to mark a variable read-only after the event EFI_END_OF_DXE_EVENT_GUID is signaled. + # Include/Protocol/VariableLock.h + gEdkiiVariableLockProtocolGuid = { 0xcd3d0a05, 0x9e24, 0x437c, { 0xa8, 0x91, 0x1e, 0xe0, 0x53, 0xdb, 0x76, 0x38 }} + + ## Include/Protocol/VarCheck.h + gEdkiiVarCheckProtocolGuid = { 0xaf23b340, 0x97b4, 0x4685, { 0x8d, 0x4f, 0xa3, 0xf2, 0x81, 0x69, 0xb2, 0x1d } } + + ## Include/Protocol/SmmVarCheck.h + gEdkiiSmmVarCheckProtocolGuid = { 0xb0d8f3c1, 0xb7de, 0x4c11, { 0xbc, 0x89, 0x2f, 0xb5, 0x62, 0xc8, 0xc4, 0x11 } } + ## This protocol is similar with DXE FVB protocol and used in the UEFI SMM evvironment. # Include/Protocol/SmmFirmwareVolumeBlock.h gEfiSmmFirmwareVolumeBlockProtocolGuid = { 0xd326d041, 0xbd31, 0x4c01, { 0xb5, 0xa8, 0x62, 0x8b, 0xe8, 0x7f, 0x6, 0x53 }} @@ -211,421 +382,925 @@ ## This protocol allows the error level mask for DEBUG() macros to be adjusted for DXE Phase modules # Include/Guid/DebugMask.h gEfiDebugMaskProtocolGuid = { 0x4c8a2451, 0xc207, 0x405b, {0x96, 0x94, 0x99, 0xea, 0x13, 0x25, 0x13, 0x41} } + + ## Include/Protocol/LockBox.h + 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 } } + + ## Include/Protocol/EbcVmTest.h + gEfiEbcVmTestProtocolGuid = { 0xAAEACCFD, 0xF27B, 0x4C17, { 0xB6, 0x10, 0x75, 0xCA, 0x1F, 0x2D, 0xFB, 0x52 } } + + ## Include/Protocol/EbcSimpleDebugger.h + gEfiEbcSimpleDebuggerProtocolGuid = { 0x2a72d11e, 0x7376, 0x40f6, { 0x9c, 0x68, 0x23, 0xfa, 0x2f, 0xe3, 0x63, 0xf1 } } + + ## Include/Protocol/BootLogo.h + gEfiBootLogoProtocolGuid = { 0xcdea2bd3, 0xfc25, 0x4c1c, { 0xb9, 0x7c, 0xb3, 0x11, 0x86, 0x6, 0x49, 0x90 } } + + ## Include/Protocol/DisplayProtocol.h + gEdkiiFormDisplayEngineProtocolGuid = { 0x9bbe29e9, 0xfda1, 0x41ec, { 0xad, 0x52, 0x45, 0x22, 0x13, 0x74, 0x2d, 0x2e } } + + ## Include/Protocol/FormBrowserEx2.h + gEdkiiFormBrowserEx2ProtocolGuid = { 0xa770c357, 0xb693, 0x4e6d, { 0xa6, 0xcf, 0xd2, 0x1c, 0x72, 0x8e, 0x55, 0xb } } + + ## Include/Protocol/UfsHostController.h + gEdkiiUfsHostControllerProtocolGuid = { 0xebc01af5, 0x7a9, 0x489e, { 0xb7, 0xce, 0xdc, 0x8, 0x9e, 0x45, 0x9b, 0x2f } } + +# +# [Error.gEfiMdeModulePkgTokenSpaceGuid] +# 0x80000001 | Invalid value provided. +# 0x80000002 | Reserved bits must be set to zero. +# 0x80000003 | Incorrect progress code provided. +# 0x80000004 | Invalid foreground color specified. +# 0x80000005 | Invalid background color specified. +# 0x80000006 | Incorrect error code provided. +# + [PcdsFeatureFlag] - ## Indicate whether platform can support update capsule across a system reset + ## Indicates if the platform can support update capsule across a system reset.

+ # TRUE - Supports update capsule across a system reset.
+ # FALSE - Does not support update capsule across a system reset.
+ # @Prompt Enable update capsule across a system reset. gEfiMdeModulePkgTokenSpaceGuid.PcdSupportUpdateCapsuleReset|FALSE|BOOLEAN|0x0001001d - ## This feature flag can be used to enable or disable all PCD PEIM services. - # If TRUE, all PCD PPI services will be produced. - # If FALSE, the minimal PCD PEIM services (only GetService) will be produced. + ## Indicates if all PCD PPI services will be enabled.

+ # TRUE - All PCD PPI services will be produced.
+ # FALSE - Minimal PCD PPI services (only GetService) will be produced.
+ # @Prompt Enable full PEI PCD services. gEfiMdeModulePkgTokenSpaceGuid.PcdPeiFullPcdDatabaseEnable|TRUE|BOOLEAN|0x00010020 - ## If TRUE, then the Device Path To Text Protocol should be produced by the platform. - # It can be disabled to save size. + ## Indicates if the Device Path To Text Protocol should be produced by the platform. + # It can be disabled to save size.

+ # TRUE - Device Path To Text Protocol will be produced.
+ # FALSE - Device Path To Text Protocol will not be produced.
+ # @Prompt Enable Device Path to Text support. gEfiMdeModulePkgTokenSpaceGuid.PcdDevicePathSupportDevicePathToText|TRUE|BOOLEAN|0x00010037 - ## If TRUE, then the Device Path From Text Protocol should be produced by the platform. - # It can be disabled to save size. + ## Indicates if the Device Path From Text Protocol should be produced by the platform. + # It can be disabled to save size.

+ # TRUE - Device Path From Text Protocol will be produced.
+ # FALSE - Device Path From Text Protocol will not be produced.
+ # @Prompt Enable Device Path From Text support. gEfiMdeModulePkgTokenSpaceGuid.PcdDevicePathSupportDevicePathFromText|TRUE|BOOLEAN|0x00010038 - ## If TRUE, enable the statistic functionality about variable usage. Such information is + ## Indicates if the statistics about variable usage will be collected. This information is # stored as a vendor configuration table into the EFI system table. - # If user wants to use VariableInfo application in MdeModulePkg\Application directory to get - # variable usage info, this pcd should be set as TRUE. Otherwise VariableInfo application can - # not output useful info. + # Set this PCD to TRUE to use VariableInfo application in MdeModulePkg\Application directory to get + # variable usage info. VariableInfo application will not output information if not set to TRUE.

+ # TRUE - Statistics about variable usage will be collected.
+ # FALSE - Statistics about variable usage will not be collected.
+ # @Prompt Enable variable statistics collection. gEfiMdeModulePkgTokenSpaceGuid.PcdVariableCollectStatistics|FALSE|BOOLEAN|0x0001003f - ## If TRUE, Unicode Collation Protocol will be installed. + ## Indicates if Unicode Collation Protocol will be installed.

+ # TRUE - Installs Unicode Collation Protocol.
+ # FALSE - Does not install Unicode Collation Protocol.
+ # @Prompt Enable Unicode Collation support. gEfiMdeModulePkgTokenSpaceGuid.PcdUnicodeCollationSupport|TRUE|BOOLEAN|0x00010040 - ## If TRUE, Unicode Collation 2 Protocol will be installed. + ## Indicates if Unicode Collation 2 Protocol will be installed.

+ # TRUE - Installs Unicode Collation 2 Protocol.
+ # FALSE - Does not install Unicode Collation 2 Protocol.
+ # @Prompt Enable Unicode Collation 2 support. gEfiMdeModulePkgTokenSpaceGuid.PcdUnicodeCollation2Support|TRUE|BOOLEAN|0x00010041 - ## If TRUE, Graphics Output Protocol will be installed on virtual handle created by ConsplitterDxe. - # It could be set FALSE to save size. + ## Indicates if Graphics Output Protocol will be installed on virtual handle created by ConsplitterDxe. + # It could be set FALSE to save size.

+ # TRUE - Installs Graphics Output Protocol on virtual handle created by ConsplitterDxe.
+ # FALSE - Does not install Graphics Output Protocol on virtual handle created by ConsplitterDxe.
+ # @Prompt Enable ConOut GOP support. gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE|BOOLEAN|0x00010042 - ## If TRUE, UGA Draw Protocol will be installed on virtual handle created by ConsplitterDxe. - # It could be set FALSE to save size. + ## Indicates if UGA Draw Protocol will be installed on virtual handle created by ConsplitterDxe. + # It could be set FALSE to save size.

+ # TRUE - Installs UGA Draw Protocol on virtual handle created by ConsplitterDxe.
+ # FALSE - Does not install UGA Draw Protocol on virtual handle created by ConsplitterDxe.
+ # @Prompt Enable ConOut UGA support. gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|TRUE|BOOLEAN|0x00010043 - ## If TRUE, when PeiCore dispatches a PEI module, PeiCore will first search TE section from this PEIM to load the image. - # If TE section is not found, then PeiCore will search PE section. - # If FALSE, PeiCore will first search PE section from PEIM to load the image. - # This PCD is used to tune Pei phase performance to reduce the search image time. - # It can be set according to the generated image section type. + ## Indicates PeiCore will first search TE section from the PEIM to load the image, or PE32 section, when PeiCore dispatches a PEI module. + # This PCD is used to tune PEI phase performance to reduce the search image time. + # It can be set according to the generated image section type.

+ # TRUE - PeiCore will first search TE section from PEIM to load the image, if TE section is not found, then PeiCore will search PE section.
+ # FALSE - PeiCore will first search PE section from PEIM to load the image.
+ # @Prompt PeiCore search TE section first. gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreImageLoaderSearchTeSectionFirst|TRUE|BOOLEAN|0x00010044 - ## If TRUE, force to switch off the support of legacy usb. So legacy usb device driver can not make use of SMI - # interrupt to access usb device in the case of absence of usb stack. - # DUET platform requires the token to be TRUE. + ## Indicates if to turn off the support of legacy usb. So legacy usb device driver can not make use of SMI + # interrupt to access usb device in the case of absence of usb stack. + # DUET platform requires the token to be TRUE.

+ # TRUE - Turn off usb legacy support.
+ # FALSE - Does not turn off usb legacy support.
+ # @Prompt Turn off USB legacy support. gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|FALSE|BOOLEAN|0x00010047 - ## If TRUE, HiiImageProtocol will be installed. - # FALSE is for size reduction. + ## Indicates if HiiImageProtocol will be installed. + # FALSE is for size reduction.

+ # TRUE - Installs HiiImageProtocol.
+ # FALSE - Does not install HiiImageProtocol.
+ # @Prompt Enable HII image support. gEfiMdeModulePkgTokenSpaceGuid.PcdSupportHiiImageProtocol|TRUE|BOOLEAN|0x00010100 - ## If TRUE, USB KeyBoard Driver disables the default keyboard layout. + ## Indicates if USB KeyBoard Driver disables the default keyboard layout. # The default keyboard layout serves as the backup when no keyboard layout can be retrieved - # from HII database. + # from HII database.

+ # TRUE - USB KeyBoard Driver will disable the default keyboard layout.
+ # FALSE - USB KeyBoard Driver will not disable the default keyboard layout.
+ # @Prompt Disable default keyboard layout in USB KeyBoard Driver. gEfiMdeModulePkgTokenSpaceGuid.PcdDisableDefaultKeyboardLayoutInUsbKbDriver|FALSE|BOOLEAN|0x00010200 - ## If TRUE, Setup Browser supports GUID opcodes generated from Framework HII VFR file by VFR compiler. - # If TRUE, the PeiCore will handle the framework FvHob and install FvInfo PPI for it. - # This is used to provide backward compatibility support to Framework HII and Framework FvHob. + ## 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 - ## If TRUE, HelloWorld Application will print the verbose information. - # This PCD is a sample to explain FeatureFlag PCD usage. + ## 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.
+ # FALSE - HelloWorld Application will not print the verbose information.
+ # @Prompt Enable HelloWorld print. gEfiMdeModulePkgTokenSpaceGuid.PcdHelloWorldPrintEnable|TRUE|BOOLEAN|0x0001200a - ## If TRUE, FULL FTW protocol services (total six APIs) will be produced. - # If FASLE, only FTW Write service is available. + ## Indicates if FULL FTW protocol services (total six APIs) will be produced.

+ # TRUE - Produces FULL FTW protocol services (total six APIs).
+ # FALSE - Only FTW Write service is available.
+ # @Prompt Enable FULL FTW services. gEfiMdeModulePkgTokenSpaceGuid.PcdFullFtwServiceEnable|TRUE|BOOLEAN|0x0001200b - ## If TRUE, DXE IPL must support the UEFI decompression algorithm. - # If FALSE, DXE IPL will not support UEFI decompression to save space. + ## Indicates if DXE IPL supports the UEFI decompression algorithm.

+ # TRUE - DXE IPL will support UEFI decompression.
+ # FALSE - DXE IPL will not support UEFI decompression to save space.
+ # @Prompt Enable UEFI decompression support in DXE IPL. gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportUefiDecompress|TRUE|BOOLEAN|0x0001200c - ## This PCD specifies whether PciBus supports the hot plug device. + ## Indicates if PciBus driver supports the hot plug device.

+ # TRUE - PciBus driver supports the hot plug device.
+ # FALSE - PciBus driver doesn't support the hot plug device.
+ # @Prompt Enable PciBus hot plug device support. gEfiMdeModulePkgTokenSpaceGuid.PcdPciBusHotplugDeviceSupport|TRUE|BOOLEAN|0x0001003d - ## This PCD specifies whether the PCI bus driver probes non-standard, - # such as 2K/1K/512, granularity for PCI to PCI bridge I/O window. + ## Indicates if the PciBus driver probes non-standard, such as 2K/1K/512, granularity for PCI to PCI bridge I/O window.

+ # TRUE - PciBus driver probes non-standard granularity for PCI to PCI bridge I/O window.
+ # FALSE - PciBus driver doesn't probe non-standard granularity for PCI to PCI bridge I/O window.
+ # @Prompt Enable PCI bridge IO alignment probe. gEfiMdeModulePkgTokenSpaceGuid.PcdPciBridgeIoAlignmentProbe|FALSE|BOOLEAN|0x0001004e - ## This PCD specifies whether StatusCode is reported via Serial port. + + ## 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 - ## This PCD specifies whether StatusCode is stored in memory. - # The memory is boot time memory in PEI Phase and is runtime memory in DXE Phase. + ## 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 - ## This PCD specifies whether Peiphase StatusCode is replayed in DxePhase. + ## 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.
+ # @Prompt Enable PEI StatusCode replay in DXE phase gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeReplayIn|FALSE|BOOLEAN|0x0001002d - ## This PCD specified whether ACPI SDT protocol is installed. + ## Indicates if ACPI SDT protocol will be installed.

+ # TRUE - Installs ACPI SDT protocol.
+ # FALSE - Does not install ACPI SDT protocol.
+ # @Prompt Enable ACPI SDT support. gEfiMdeModulePkgTokenSpaceGuid.PcdInstallAcpiSdtProtocol|FALSE|BOOLEAN|0x0001004d - ## If TRUE, then unaligned I/O, MMIO, and PCI Configuration cycles through the PCI I/O Protocol are enabled. - # If FALSE, then unaligned I/O, MMIO, and PCI Configuration cycles through the PCI I/O Protocol are disabled. - # The default value for this PCD is to disable support for unaligned PCI I/O Protocol requests. + ## Indicates if the unaligned I/O, MMIO, and PCI Configuration cycles through the PCI I/O Protocol are enabled. + # The default value for this PCD is false to disable support for unaligned PCI I/O Protocol requests.

+ # TRUE - Enables the unaligned I/O, MMIO, and PCI Configuration cycles through the PCI I/O Protocol.
+ # FALSE - Disables the unaligned I/O, MMIO, and PCI Configuration cycles through the PCI I/O Protocol.
+ # @Prompt Enable unaligned PCI I/O support. gEfiMdeModulePkgTokenSpaceGuid.PcdUnalignedPciIoEnable|FALSE|BOOLEAN|0x0001003e - ## This PCD specifies whether TEXT statement is always set to GrayOut statement in HII Form Browser. - # If TRUE, TEXT statement will always be set to GrayOut. - # If FALSE, TEXT statement will be set to GrayOut only when GrayOut condition is TRUE. + ## Indicates if TEXT statement is always set to GrayOut statement in HII Form Browser.

+ # TRUE - TEXT statement will always be set to GrayOut.
+ # FALSE - TEXT statement will be set to GrayOut only when GrayOut condition is TRUE.
+ # @Prompt Always GrayOut TEXT statement. gEfiMdeModulePkgTokenSpaceGuid.PcdBrowserGrayOutTextStatement|FALSE|BOOLEAN|0x0001004f - + + ## Indicates if unselectable menu should be gray out in HII Form Browser.

+ # TRUE - The unselectable menu will be set to GrayOut.
+ # FALSE - The menu will be show as normal menu entry even if it is not selectable.
+ # @Prompt GrayOut read only menu. + gEfiMdeModulePkgTokenSpaceGuid.PcdBrowerGrayOutReadOnlyMenu|FALSE|BOOLEAN|0x00010070 + + ## Indicates if recovery from IDE disk will be supported.

+ # TRUE - Supports recovery from IDE disk.
+ # FALSE - Does not support recovery from IDE disk.
+ # @Prompt Enable recovery on IDE disk. + gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryOnIdeDisk|TRUE|BOOLEAN|0x00010060 + + ## Indicates if recovery from FAT floppy disk will be supported.

+ # TRUE - Supports recovery from FAT floppy disk.
+ # FALSE - Does not support recovery from FAT floppy disk.
+ # @Prompt Enable recovery on FAT floppy disk. + gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryOnFatFloppyDisk|TRUE|BOOLEAN|0x00010061 + + ## Indicates if recovery from data CD will be supported.

+ # TRUE - Supports recovery from data CD.
+ # FALSE - Does not support recovery from data CD.
+ # @Prompt Enable recovery on data CD. + gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryOnDataCD|TRUE|BOOLEAN|0x00010062 + + ## Indicates if recovery from FAT USB disk will be supported.

+ # TRUE - Supports recovery from USB disk.
+ # FALSE - Does not support recovery from USB disk.
+ # @Prompt Enable recovery on FAT USB disk. + gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryOnFatUsbDisk|TRUE|BOOLEAN|0x00010063 + + ## Indicates if S3 performance data will be supported in ACPI FPDT table.

+ # TRUE - S3 performance data will be supported in ACPI FPDT table.
+ # FALSE - S3 performance data will not be supported in ACPI FPDT table.
+ # @Prompt Enable S3 performance data support. + gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwarePerformanceDataTableS3Support|TRUE|BOOLEAN|0x00010064 + [PcdsFeatureFlag.IA32, PcdsFeatureFlag.X64] - ## - # This feature flag specifies whether DxeIpl switches to long mode to enter DXE phase. - # If it is TRUE, DxeIpl will load a 64-bit DxeCore and switch to long mode to hand over to DxeCore; - # otherwise, DxeIpl will load a 32-bit DxeCore and perform stack switch to hand over to DxeCore. - # It is assumed that 64-bit DxeCore is built in firmware if it is true; otherwise 32-bit DxeCore - # is built in firmware. - # + ## 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.
+ # @Prompt DxeIpl switch to long mode. gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode|TRUE|BOOLEAN|0x0001003b + ## Indicates if DxeIpl should rebuild page tables. This flag only + # makes sense in the case where the DxeIpl and the DxeCore are both X64.

+ # TRUE - DxeIpl will rebuild page tables.
+ # FALSE - DxeIpl will not rebuild page tables.
+ # @Prompt DxeIpl rebuild page tables. + gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplBuildPageTables|TRUE|BOOLEAN|0x0001003c + [PcdsFixedAtBuild] + ## Flag of enabling/disabling the feature of Loading Module at Fixed Address.

+ # 0xFFFFFFFFFFFFFFFF: Enable the feature as fixed offset to TOLM.
+ # 0: Disable the feature.
+ # Other Value: Enable the feature as fixed absolute address, and the value is the top memory address.
+ # @Prompt Enable LMFA feature. + # @Expression 0x80000001 | (gEfiMdeModulePkgTokenSpaceGuid.PcdLoadModuleAtFixAddressEnable == 0xFFFFFFFFFFFFFFFF || gEfiMdeModulePkgTokenSpaceGuid.PcdLoadModuleAtFixAddressEnable <= 0x0FFFFFFFFFFFFFFF) + gEfiMdeModulePkgTokenSpaceGuid.PcdLoadModuleAtFixAddressEnable|0|UINT64|0x30001015 + + ## Progress Code for OS Loader LoadImage start.

+ # PROGRESS_CODE_OS_LOADER_LOAD = (EFI_SOFTWARE_DXE_BS_DRIVER | (EFI_OEM_SPECIFIC | 0x00000000)) = 0x03058000
+ # @Prompt Progress Code for OS Loader LoadImage start. + # @ValidList 0x80000003 | 0x03058000 + gEfiMdeModulePkgTokenSpaceGuid.PcdProgressCodeOsLoaderLoad|0x03058000|UINT32|0x30001030 + + ## Progress Code for OS Loader StartImage start.

+ # PROGRESS_CODE_OS_LOADER_START = (EFI_SOFTWARE_DXE_BS_DRIVER | (EFI_OEM_SPECIFIC | 0x00000001)) = 0x03058001
+ # @Prompt Progress Code for OS Loader StartImage start. + # @ValidList 0x80000003 | 0x03058001 + gEfiMdeModulePkgTokenSpaceGuid.PcdProgressCodeOsLoaderStart|0x03058001|UINT32|0x30001031 + + ## Progress Code for S3 Suspend start.

+ # PROGRESS_CODE_S3_SUSPEND_START = (EFI_SOFTWARE_SMM_DRIVER | (EFI_OEM_SPECIFIC | 0x00000000)) = 0x03078000
+ # @Prompt Progress Code for S3 Suspend start. + # @ValidList 0x80000003 | 0x03078000 + gEfiMdeModulePkgTokenSpaceGuid.PcdProgressCodeS3SuspendStart|0x03078000|UINT32|0x30001032 + + ## Progress Code for S3 Suspend end.

+ # PROGRESS_CODE_S3_SUSPEND_END = (EFI_SOFTWARE_SMM_DRIVER | (EFI_OEM_SPECIFIC | 0x00000001)) = 0x03078001
+ # @Prompt Progress Code for S3 Suspend end. + # @ValidList 0x80000003 | 0x03078001 + gEfiMdeModulePkgTokenSpaceGuid.PcdProgressCodeS3SuspendEnd|0x03078001|UINT32|0x30001033 + + ## Error Code for SetVariable failure.

+ # EDKII_ERROR_CODE_SET_VARIABLE = (EFI_SOFTWARE_DXE_BS_DRIVER | (EFI_OEM_SPECIFIC | 0x00000002)) = 0x03058002
+ # @Prompt Error Code for SetVariable failure. + # @ValidList 0x80000006 | 0x03058002 + gEfiMdeModulePkgTokenSpaceGuid.PcdErrorCodeSetVariable|0x03058002|UINT32|0x30001040 + +[PcdsFixedAtBuild, PcdsPatchableInModule] ## Dynamic type PCD can be registered callback function for Pcd setting action. - # PcdMaxPeiPcdCallBackNumberPerPcdEntry indicate maximum number of callback function + # PcdMaxPeiPcdCallBackNumberPerPcdEntry indicates the maximum number of callback function # for a dynamic PCD used in PEI phase. + # @Prompt Max PEI PCD callback number per PCD entry. gEfiMdeModulePkgTokenSpaceGuid.PcdMaxPeiPcdCallBackNumberPerPcdEntry|0x08|UINT32|0x0001000f - ## VPD type PCD allow developer point an absoluted physical address PcdVpdBaseAddress + ## VPD type PCD allows a developer to point to an absolute physical address PcdVpdBaseAddress # to store PCD value. - # + # @Prompt VPD base address. gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress|0x0|UINT32|0x00010010 ## Maximum number of FV is supported by PeiCore's dispatching. + # @Prompt Maximum number of FV supported by PeiCore. gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxFvSupported|6|UINT32|0x00010030 - ## Maximum PEIM count in every FV is supported by PeiCore's dispatching. + ## Maximum File count in every FV is supported by PeiCore's dispatching. + # PeiCore supported File type includes PEIM, Combined PEIM and FV. + # @Prompt Maximum File count per FV supported by PeiCore. gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxPeimPerFv|32|UINT32|0x00010031 ## Maximum stack size for PeiCore. + # @Prompt Maximum stack size for PeiCore. gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxPeiStackSize|0x20000|UINT32|0x00010032 ## Maximum PPI count is supported by PeiCore's PPI database. + # @Prompt Maximum PPI count supported by PeiCore. gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxPpiSupported|64|UINT32|0x00010033 - ## Size of the NV variable range. Note that this value should less than or equal to PcdFlashNvStorageFtwSpareSize - # The root cause is that variable driver will use FTW protocol to reclaim variable region. - # If the length of variable region is larger than FTW spare size, it means the whole variable region can not - # be reflushed through the manner of fault tolerant write. - gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize|0x0|UINT32|0x30000002 - - ## The maximum size of single common variable, that is non-HwErr type varible. + ## The maximum size of a single non-HwErr type variable. + # @Prompt Maximum variable size. gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x400|UINT32|0x30000003 - ## The maximum size of single hardware error record variable. - # In IA32/X64 platforms, this value should be larger than 1KB. - # In IA64 platforms, this value should be larger than 128KB. + ## The maximum size of single hardware error record variable.

+ # In IA32/X64 platforms, this value should be larger than 1KB.
+ # In IA64 platforms, this value should be larger than 128KB.
+ # @Prompt Maximum HwErr variable size. gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize|0x8000|UINT32|0x30000004 - ## The size of reserved HwErr variable space. Note that this value must be less than or equal to PcdFlashNvStorageVariableSize + ## The size of reserved HwErr variable space. Note that this value must be less than (PcdFlashNvStorageVariableSize - EFI_FIRMWARE_VOLUME_HEADER.HeaderLength - sizeof (VARIABLE_STORE_HEADER)). # In EdkII implementation, HwErr type variable is stored with common non-volatile variables in the same NV region. - # so the platform integrator should ensure this value is less than or equal to PcdFlashNvStorageVariableSize. + # so the platform integrator should ensure this value is less than (PcdFlashNvStorageVariableSize - EFI_FIRMWARE_VOLUME_HEADER.HeaderLength - sizeof (VARIABLE_STORE_HEADER)). # this value is used to guarantee the space of HwErr type variable and not populated by common variable. + # @Prompt HwErr variable storage size. gEfiMdeModulePkgTokenSpaceGuid.PcdHwErrStorageSize|0x0000|UINT32|0x30000006 - ## The size of volatile buffer. This buffer is used to store VOLATILE attribute variable. + ## The size of maximum user NV variable space.

+ # Note that this value must be less than (PcdFlashNvStorageVariableSize - EFI_FIRMWARE_VOLUME_HEADER.HeaderLength - sizeof (VARIABLE_STORE_HEADER) - PcdHwErrStorageSize).
+ # If the value is 0, it means user variable share the same NV storage with system variable, + # this is designed to keep the compatibility for the platform that does not allocate special region for user variable.
+ # If the value is non-0, the below 4 types of variables will be regarded as System Variable after EndOfDxe, their property could be got by VarCheck protocol, + # otherwise the variable will be regarded as user variable.
+ # 1) UEFI defined variables (gEfiGlobalVariableGuid and gEfiImageSecurityDatabaseGuid(auth variable) variables at least).
+ # 2) Variables managed by Variable driver internally.
+ # 3) Variables need to be locked, they MUST be set by VariableLock protocol.
+ # 4) Important variables during platform boot, their property SHOULD be set by VarCheck protocol.
+ # The PCD is used to guarantee the space of system variable and not populated by user variable.
+ # @Prompt Maximum user NV variable space size. + gEfiMdeModulePkgTokenSpaceGuid.PcdMaxUserNvVariableSpaceSize|0x00|UINT32|0x00000009 + + ## The size of NV variable space reserved at UEFI boottime.

+ # Note that this value must be less than (PcdFlashNvStorageVariableSize - EFI_FIRMWARE_VOLUME_HEADER.HeaderLength - sizeof (VARIABLE_STORE_HEADER) - PcdHwErrStorageSize).
+ # In EdkII implementation, variable driver can reserved some NV storage region for boottime settings. + # So at UEFI runtime, the variable service consumer can not exhaust full NV storage region.
+ # Then the common NV variable space size at boottime will be + # (PcdFlashNvStorageVariableSize - EFI_FIRMWARE_VOLUME_HEADER.HeaderLength - sizeof (VARIABLE_STORE_HEADER) - PcdHwErrStorageSize),
+ # and the common NV variable space size at runtime will be + # (PcdFlashNvStorageVariableSize - EFI_FIRMWARE_VOLUME_HEADER.HeaderLength - sizeof (VARIABLE_STORE_HEADER) - PcdHwErrStorageSize) - PcdBoottimeReservedNvVariableSpaceSize.
+ # @Prompt Boottime reserved NV variable space size. + gEfiMdeModulePkgTokenSpaceGuid.PcdBoottimeReservedNvVariableSpaceSize|0x00|UINT32|0x30000007 + + ## Reclaim variable space at EndOfDxe.

+ # The value is FALSE as default for compatibility that variable driver tries to reclaim variable space at ReadyToBoot event.
+ # If the value is set to TRUE, variable driver tries to reclaim variable space at EndOfDxe event.
+ # @Prompt Reclaim variable space at EndOfDxe. + gEfiMdeModulePkgTokenSpaceGuid.PcdReclaimVariableSpaceAtEndOfDxe|FALSE|BOOLEAN|0x30000008 + + ## The size of volatile buffer. This buffer is used to store VOLATILE attribute variables. + # @Prompt Variable storage size. gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0x10000|UINT32|0x30000005 - ## Size of the FTW spare block range. Note that this value should larger than PcdFlashNvStorageVariableSize - # The root cause is that variable driver will use FTW protocol to reclaim variable region. - # If the length of variable region is larger than FTW spare size, it means the whole variable region can not - # be reflushed through the manner of fault tolerant write. - gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize|0x0|UINT32|0x30000014 - - ## Size of the FTW working block range. - gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize|0x0|UINT32|0x30000011 - - ## FFS filename to find the ACPI tables + ## 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 - ## Single root I/O virtualization virtual function memory BAR alignment - # BITN set indicates 2 of n+12 power - # BIT0 set indicates 4KB alignment - # BIT1 set indicates 8KB alignment - gEfiMdeModulePkgTokenSpaceGuid.PcdSrIovSystemPageSize|0x1|UINT32|0x10000047 - - ## Flag of enabling/disabling the feature of Loading Module at Fixed Address - # -1: Enable the feature as fixed offset to TOLM - # 0: Disable the feature. - # Positive Value: Enable the feature as fixed absolute address, and the value is the top memory address - gEfiMdeModulePkgTokenSpaceGuid.PcdLoadModuleAtFixAddressEnable|0|UINT64|0x30001015 - - ## Smbios version - gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0206|UINT16|0x00010055 - - ## TFTP BlockSize. Initial value 0 means using default block size which is (MTU-IP_HEADER-UDP_HEADER-TFTP_HEADER) - # to handle all link layers. If the value is non zero, the PCD value will be used as block size. - # - gEfiMdeModulePkgTokenSpaceGuid.PcdTftpBlockSize|0x0|UINT64|0x30001026 + ## FFS filename to find the capsule coalesce image. + # @Prompt FFS name of capsule coalesce image. + gEfiMdeModulePkgTokenSpaceGuid.PcdCapsuleCoalesceFile|{ 0xA6, 0xE4, 0xFD, 0xF7, 0x4C, 0x29, 0x3c, 0x49, 0xB5, 0x0F, 0x97, 0x34, 0x55, 0x3B, 0xB7, 0x57 }|VOID*|0x30000017 -[PcdsFixedAtBuild,PcdsPatchableInModule] - ## Maximun number of performance log entries during PEI phase. + ## Maximum number of performance log entries during PEI phase. + # @Prompt Maximum number of PEI performance log entries. gEfiMdeModulePkgTokenSpaceGuid.PcdMaxPeiPerformanceLogEntries|40|UINT8|0x0001002f - ## RTC Update Timeout Value + ## RTC Update Timeout Value(microsecond). + # @Prompt RTC Update Timeout Value. gEfiMdeModulePkgTokenSpaceGuid.PcdRealTimeClockUpdateTimeout|100000|UINT32|0x00010034 - ## If TRUE, then 16550 serial port registers are in MMIO space. - # If FALSE, then 16550 serial port registers are in I/O space. Default value. + ## 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 - - ## If TRUE, then the 16550 serial port hardware flow control is enabled. - # If FALSE, then the 16550 serial port hardware flow control is disabled. Default value. + + ## 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.
+ # @Prompt Enable serial port hardware flow control. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseHardwareFlowControl|FALSE|BOOLEAN|0x00020001 - ## If TRUE, then 16550 serial Tx operations will block if DSR is not asserted (no cable). - # If FALSE, then the 16550 serial Tx operations will not be blocked if DSR is not asserted. Default value. - # This PCD is ignored if PcdSerialUseHardwareFlowControl is FALSE. + ## Indicates if the 16550 serial Tx operations will be blocked if DSR is not asserted (no cable). Default is FALSE. + # This PCD is ignored if PcdSerialUseHardwareFlowControl is FALSE.

+ # TRUE - 16550 serial Tx operations will be blocked if DSR is not asserted.
+ # FALSE - 16550 serial Tx operations will not be blocked if DSR is not asserted.
+ # @Prompt Enable serial port cable detetion. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialDetectCable|FALSE|BOOLEAN|0x00020006 - ## Base address of 16550 serial port registers in MMIO or I/O space. Default is 0x3F8. + ## Base address of 16550 serial port registers in MMIO or I/O space. Default is 0x3F8. + # @Prompt Base address of serial port registers. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x03F8|UINT64|0x00020002 ## Baud rate for the 16550 serial port. Default is 115200 baud. + # @Prompt Baud rate for serial port. + # @ValidList 0x80000001 | 921600, 460800, 230400, 115200, 57600, 38400, 19200, 9600, 7200, 4800, 3600, 2400, 2000, 1800, 1200, 600, 300, 150, 134, 110, 75, 50 gEfiMdeModulePkgTokenSpaceGuid.PcdSerialBaudRate|115200|UINT32|0x00020003 - ## Line Control Register (LCR) for the 16550 serial port. This encodes data bits, parity, and stop bits. - # BIT1..BIT0 - Data bits. 00b = 5 bits, 01b = 6 bits, 10b = 7 bits, 11b = 8 bits - # BIT2 - Stop Bits. 0 = 1 stop bit. 1 = 1.5 stop bits if 5 data bits selected, otherwise 2 stop bits. - # BIT5..BIT2 - Parity. xx0b = No Parity, 001b = Odd Parity, 011b = Even Parity, 101b = Mark Parity, 111b=Stick Parity - # BIT7..BIT6 - Reserved. Must be 0. - # - # Default is No Parity, 8 Data Bits, 1 Stop Bit. + ## Line Control Register (LCR) for the 16550 serial port. This encodes data bits, parity, and stop bits.

+ # BIT1..BIT0 - Data bits. 00b = 5 bits, 01b = 6 bits, 10b = 7 bits, 11b = 8 bits
+ # BIT2 - Stop Bits. 0 = 1 stop bit. 1 = 1.5 stop bits if 5 data bits selected, otherwise 2 stop bits.
+ # BIT5..BIT3 - Parity. xx0b = No Parity, 001b = Odd Parity, 011b = Even Parity, 101b = Mark Parity, 111b=Stick Parity
+ # BIT7..BIT6 - Reserved. Must be 0.
# + # Default is No Parity, 8 Data Bits, 1 Stop Bit.
+ # @Prompt Serial port Line Control settings. + # @Expression 0x80000002 | (gEfiMdeModulePkgTokenSpaceGuid.PcdSerialLineControl & 0xC0) == 0 gEfiMdeModulePkgTokenSpaceGuid.PcdSerialLineControl|0x03|UINT8|0x00020004 - ## FIFO Control Register (FCR) for the 16550 serial port. - # BIT0 - FIFO Enable. 0 = Disable FIFOs. 1 = Enable FIFOs. - # BIT1 - Clear receive FIFO. 1 = Clear FIFO. - # BIT2 - Clear transmit FIFO. 1 = Clear FIFO. - # BIT4..BIT3 - Reserved. Must be 0. - # BIT5 - Enable 64-byte FIFO. 0 = Disable 64-byte FIFO. 1 = Enable 64-byte FIFO - # BIT7..BIT6 - Reserved. Must be 0. - # - # Default is to enable and clear all FIFOs. + ## FIFO Control Register (FCR) for the 16550 serial port.

+ # BIT0 - FIFO Enable. 0 = Disable FIFOs. 1 = Enable FIFOs.
+ # BIT1 - Clear receive FIFO. 1 = Clear FIFO.
+ # BIT2 - Clear transmit FIFO. 1 = Clear FIFO.
+ # BIT4..BIT3 - Reserved. Must be 0.
+ # BIT5 - Enable 64-byte FIFO. 0 = Disable 64-byte FIFO. 1 = Enable 64-byte FIFO
+ # BIT7..BIT6 - Reserved. Must be 0.
# + # Default is to enable and clear all FIFOs.
+ # @Prompt Serial port FIFO Control settings. + # @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 + # 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 # boundary as close to the top of memory as feasible. If this PCD is set to a - # value other than 0, then the DXE Core will first attempt to allocate the + # value other than 0, then the DXE Core will first attempt to allocate the # EFI_SYSTEM_TABLE_POINTER structure on a 4MB boundary below the address specified # by this PCD, and if that allocation fails, retry the allocation on a 4MB # boundary as close to the top of memory as feasible. - # + # @Prompt Maximum Efi System Table Pointer address. gEfiMdeModulePkgTokenSpaceGuid.PcdMaxEfiSystemTablePointerAddress|0x0|UINT64|0x30001027 + + ## Indicates if to shadow PEIM on S3 boot path after memory is ready.

+ # TRUE - Shadow PEIM on S3 boot path after memory is ready.
+ # FALSE - Not shadow PEIM on S3 boot path after memory is ready.
+ # @Prompt Shadow Peim On S3 Boot. + gEfiMdeModulePkgTokenSpaceGuid.PcdShadowPeimOnS3Boot|FALSE|BOOLEAN|0x30001028 + + ## 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 + + ## Default OEM Table ID for ACPI table creation, it is "EDK2 ". + # @Prompt Default OEM Table ID for ACPI table creation. + gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemTableId|0x20202020324B4445|UINT64|0x30001035 + + ## Default OEM Revision for ACPI table creation. + # @Prompt Default OEM Revision for ACPI table creation. + gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemRevision|0x00000002|UINT32|0x30001036 + + ## Default Creator ID for ACPI table creation. + # @Prompt Default Creator ID for ACPI table creation. + gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorId|0x20202020|UINT32|0x30001037 + + ## Default Creator Revision for ACPI table creation. + # @Prompt Default Creator Revision for ACPI table creation. + gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorRevision|0x01000013|UINT32|0x30001038 + + ## The mask is used to control memory profile behavior.

+ # BIT0 - Enable UEFI memory profile.
+ # BIT1 - Enable SMRAM profile.
+ # @Prompt Memory Profile Property. + # @Expression 0x80000002 | (gEfiMdeModulePkgTokenSpaceGuid.PcdMemoryProfilePropertyMask & 0xFC) == 0 + gEfiMdeModulePkgTokenSpaceGuid.PcdMemoryProfilePropertyMask|0x0|UINT8|0x30001041 + + ## This flag is to control which memory types of alloc info will be recorded by DxeCore & SmmCore.

+ # For SmmCore, only EfiRuntimeServicesCode and EfiRuntimeServicesData are valid.
+ # + # Below is bit mask for this PCD: (Order is same as UEFI spec)
+ # EfiReservedMemoryType 0x0001
+ # EfiLoaderCode 0x0002
+ # EfiLoaderData 0x0004
+ # EfiBootServicesCode 0x0008
+ # EfiBootServicesData 0x0010
+ # EfiRuntimeServicesCode 0x0020
+ # EfiRuntimeServicesData 0x0040
+ # EfiConventionalMemory 0x0080
+ # EfiUnusableMemory 0x0100
+ # EfiACPIReclaimMemory 0x0200
+ # EfiACPIMemoryNVS 0x0400
+ # EfiMemoryMappedIO 0x0800
+ # EfiMemoryMappedIOPortSpace 0x1000
+ # EfiPalCode 0x2000
+ # EfiPersistentMemory 0x4000
+ # OS Reserved 0x8000000000000000
+ # + # e.g. Reserved+ACPINvs+ACPIReclaim+RuntimeCode+RuntimeData are needed, 0x661 should be used.
+ # + # @Prompt Memory profile memory type. + gEfiMdeModulePkgTokenSpaceGuid.PcdMemoryProfileMemoryType|0x0|UINT64|0x30001042 + + ## UART clock frequency is for the baud rate configuration. + # @Prompt Serial Port Clock Rate. + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialClockRate|1843200|UINT32|0x00010066 -[PcdsPatchableInModule,PcdsDynamic] - ## This PCD defines the Console output column and the default value is 25 according to UEFI spec + ## 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 + # 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 + # register used to manage the D0-D3 states. If a PCI power management capabilities + # register is not present, then the last two bytes in the offset is set to 0. The + # array is terminated by an array entry with a PCI Device Number of 0xFF. For a + # non-PCI fixed address serial device, such as an ISA serial device, the value is 0xFF. + # @Prompt Pci Serial Device Info + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialPciDeviceInfo|{0xFF}|VOID*|0x00010067 + + ## Serial Port Extended Transmit FIFO Size. The default is 64 bytes. + # @Prompt Serial Port Extended Transmit FIFO Size in Bytes + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialExtendedTxFifoSize|64|UINT32|0x00010068 + + ## The number of bytes between registers in serial device. The default is 1 byte. + # @Prompt Serial Port Register Stride in Bytes + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterStride|1|UINT32|0x0001006B + +[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. + # @Prompt Console output row. gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow|25|UINT32|0x40000006 - ## This PCD defines the Console output row and the default value is 80 according to UEFI spec + ## This PCD defines the Console output row. The default value is 80 according to UEFI spec. + # This PCD could be set to 0 then console output would be at max column and max row. + # @Prompt Console output column. gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn|80|UINT32|0x40000007 -[PcdsFixedAtBuild,PcdsDynamic] - ## Base address of the NV variable range in flash device + ## This PCD defines the video horizontal resolution. + # If this PCD is set to 0 then video resolution would be at highest resolution. + # @Prompt Video horizontal resolution. + gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|800|UINT32|0x40000009 + + ## This PCD defines the video vertical resolution. + # If this PCD is set to 0 then video resolution would be at highest resolution. + # @Prompt Video vertical resolution. + gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|600|UINT32|0x4000000a + + # The 4 PCDs below are used to specify the video resolution and text mode of text setup. + # To make text setup work in this resolution, PcdVideoHorizontalResolution, PcdVideoVerticalResolution, + # PcdConOutColumn and PcdConOutRow should be created as PcdsDynamic or PcdsDynamicEx in platform DSC file. + # Then BDS setup will update these PCDs defined in MdeModulePkg.dec and reconnect console drivers + # (GraphicsConsole, Terminal, Consplitter) to make the video resolution and text mode work + # for text setup. + + ## Specify the video horizontal resolution of text setup. + # @Prompt Video Horizontal Resolution of Text Setup + gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution|800|UINT32|0x4000000b + + ## Specify the video vertical resolution of text setup. + # @Prompt Video Vertical Resolution of Text Setup + gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution|600|UINT32|0x4000000c + + ## Specify the console output column of text setup. + # @Prompt Console Output Column of Text Setup + gEfiMdeModulePkgTokenSpaceGuid.PcdSetupConOutColumn|80|UINT32|0x4000000d + + ## Specify the console output row of text setup. + # @Prompt Console Output Row of Text Setup + gEfiMdeModulePkgTokenSpaceGuid.PcdSetupConOutRow|25|UINT32|0x4000000e + +[PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx] + ## Base address of the NV variable range in flash device. + # @Prompt Base address of flash NV variable range. gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|0x0|UINT32|0x30000001 - ## Base address of the FTW spare block range in flash device. + ## Size of the NV variable range. Note that this value should less than or equal to PcdFlashNvStorageFtwSpareSize. + # The root cause is that variable driver will use FTW protocol to reclaim variable region. + # If the length of variable region is larger than FTW spare size, it means the whole variable region can not + # be reflushed through the manner of fault tolerant write. + # @Prompt Size of flash NV variable range. + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize|0x0|UINT32|0x30000002 + + ## Base address of the FTW spare block range in flash device. Note that this value should be block size aligned. + # @Prompt Base address of flash FTW spare block range. gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0x0|UINT32|0x30000013 + ## Size of the FTW spare block range. Note that this value should larger than PcdFlashNvStorageVariableSize and block size aligned. + # The root cause is that variable driver will use FTW protocol to reclaim variable region. + # If the length of variable region is larger than FTW spare size, it means the whole variable region can not + # be reflushed through the manner of fault tolerant write. + # @Prompt Size of flash FTW spare block range. + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize|0x0|UINT32|0x30000014 + ## Base address of the FTW working block range in flash device. + # If PcdFlashNvStorageFtwWorkingSize is larger than one block size, this value should be block size aligned. + # @Prompt Base address of flash FTW working block range. gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0x0|UINT32|0x30000010 - ## 64-bit Base address of the NV variable range in flash device + ## Size of the FTW working block range. + # If the value is less than one block size, the work space range should not span blocks. + # If the value is larger than one block size, it should be block size aligned. + # @Prompt Size of flash FTW working block range. + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize|0x0|UINT32|0x30000011 + + ## 64-bit Base address of the NV variable range in flash device. + # @Prompt 64-bit Base address of flash NV variable range. gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0x0|UINT64|0x80000001 - ## 64-bit Base address of the FTW spare block range in flash device. + ## 64-bit Base address of the FTW spare block range in flash device. Note that this value should be block size aligned. + # @Prompt 64-bit Base address of flash FTW spare block range. gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64|0x0|UINT64|0x80000013 ## 64-bit Base address of the FTW working block range in flash device. + # If PcdFlashNvStorageFtwWorkingSize is larger than one block size, this value should be block size aligned. + # @Prompt 64-bit Base address of flash FTW working block range. gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0x0|UINT64|0x80000010 - ## This PCD defines the print string. - # This PCD is a sample to explain String typed PCD usage. - gEfiMdeModulePkgTokenSpaceGuid.PcdHelloWorldPrintString|L"UEFI Hello World!\n"|VOID*|0x40000004 - - ## This PCD defines a reserved memory range for the EMU Variable driver's NV Variable Store - # The range is valid if non-zero. The memory range size must be PcdVariableStoreSize. + ## This PCD defines a reserved memory range for the EMU Variable driver's NV Variable Store. + # The range is valid if non-zero. The memory range size must be PcdVariableStoreSize. + # @Prompt Reserved memory range for EMU variable NV storage. gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0|UINT64|0x40000008 - ## This PCD specifies whether the Single Root I/O virtualization support. - gEfiMdeModulePkgTokenSpaceGuid.PcdSrIovSupport|TRUE|BOOLEAN|0x10000044 - - ## This PCD specifies whether the Alternative Routing-ID support. - gEfiMdeModulePkgTokenSpaceGuid.PcdAriSupport|TRUE|BOOLEAN|0x10000045 - - ## This PCD specifies whether the Multi Root I/O virtualization support. - gEfiMdeModulePkgTokenSpaceGuid.PcdMrIovSupport|FALSE|BOOLEAN|0x10000046 - -[PcdsFixedAtBuild,PcdsPatchableInModule,PcdsDynamic] ## This PCD defines the times to print hello world string. - # This PCD is a sample to explain FixedAtBuild UINT32 PCD usage. + # This PCD is a sample to explain UINT32 PCD usage. + # @Prompt HellowWorld print times. gEfiMdeModulePkgTokenSpaceGuid.PcdHelloWorldPrintTimes|1|UINT32|0x40000005 - ## Indicate the max size of the capsule image with reset flag that the platform can support. + ## This PCD defines the HelloWorld print string. + # This PCD is a sample to explain String typed PCD usage. + # @Prompt HelloWorld print string. + gEfiMdeModulePkgTokenSpaceGuid.PcdHelloWorldPrintString|L"UEFI Hello World!\n"|VOID*|0x40000004 + + ## Indicates the maximum size of the capsule image with a reset flag that the platform can support. # The default max size is 100MB (0x6400000) for more than one large capsule images. + # @Prompt Max size of populated capsule. gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizePopulateCapsule|0x6400000|UINT32|0x0001001e - ## Indicate the max size of the capsule image without reset flag that the platform can support. + ## Indicates the maximum size of the capsule image without a reset flag that the platform can support. # The default max size is 10MB (0xa00000) for the casule image without reset flag setting. + # @Prompt Max size of non-populated capsule. gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizeNonPopulateCapsule|0xa00000|UINT32|0x0001001f - ## Null-terminated Unicode string of the firmware vendor name that is default name filled into the EFI System Table + ## Null-terminated Unicode string of the firmware vendor name that is the default name filled into the EFI System Table. + # @Prompt Firmware vendor. gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVendor|L"EDK II"|VOID*|0x00010050 - ## Firmware revision that is default value filled into the EFI System Table + ## Firmware revision that is the default revision filled into the EFI System Table. + # @Prompt Firmware revision. gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareRevision|0x00010000|UINT32|0x00010051 - ## Null-terminated Unicode string that described the firmware version + ## Null-terminated Unicode string that describes the firmware version. + # @Prompt Firmware version string. gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString|L""|VOID*|0x00010052 - ## Null-terminated Unicode string that contains the date the formware was released + ## Null-terminated Unicode string that contains the date the firmware was released + # @Prompt Firmware release data string. gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareReleaseDateString|L""|VOID*|0x00010053 - ## PcdStatusCodeMemorySize is used when PcdStatusCodeUseMemory is set to true - # (PcdStatusCodeMemorySize * KBytes) is the total taken memory size. - # The default value in PeiPhase is 1 KBytes. - # The default value in DxePhase is 128 KBytes. + ## PcdStatusCodeMemorySize is used when PcdStatusCodeUseMemory is set to true. + # (PcdStatusCodeMemorySize * KBytes) is the total taken memory size.

+ # The default value in PeiPhase is 1 KBytes.
+ # The default value in DxePhase is 128 KBytes.
+ # @Prompt StatusCode memory size. gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeMemorySize|1|UINT16|0x00010054 - ## This PCD specifies whether to reset system when memory type information changes. + ## Indicates if to reset system when memory type information changes.

+ # TRUE - Resets system when memory type information changes.
+ # FALSE - Does not reset system when memory type information changes.
+ # @Prompt Reset on memory type information change. gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|TRUE|BOOLEAN|0x00010056 ## 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) - # 0x01 (EFI_BLUE) - # 0x02 (EFI_GREEN) - # 0x03 (EFI_CYAN) - # 0x04 (EFI_RED) - # 0x05 (EFI_MAGENTA) - # 0x06 (EFI_BROWN) - # 0x07 (EFI_LIGHTGRAY) - # 0x08 (EFI_DARKGRAY) - # 0x09 (EFI_LIGHTBLUE) - # 0x0A (EFI_LIGHTGREEN) - # 0x0B (EFI_LIGHTCYAN) - # 0x0C (EFI_LIGHTRED) - # 0x0D (EFI_LIGHTMAGENTA) - # 0x0E (EFI_YELLOW) - # 0x0F (EFI_WHITE) + # Only following values defined in UEFI specification are valid:

+ # 0x00 (EFI_BLACK)
+ # 0x01 (EFI_BLUE)
+ # 0x02 (EFI_GREEN)
+ # 0x03 (EFI_CYAN)
+ # 0x04 (EFI_RED)
+ # 0x05 (EFI_MAGENTA)
+ # 0x06 (EFI_BROWN)
+ # 0x07 (EFI_LIGHTGRAY)
+ # 0x08 (EFI_DARKGRAY)
+ # 0x09 (EFI_LIGHTBLUE)
+ # 0x0A (EFI_LIGHTGREEN)
+ # 0x0B (EFI_LIGHTCYAN)
+ # 0x0C (EFI_LIGHTRED)
+ # 0x0D (EFI_LIGHTMAGENTA)
+ # 0x0E (EFI_YELLOW)
+ # 0x0F (EFI_WHITE)
+ # @Prompt Foreground color for browser subtile. + # @ValidRange 0x80000004 | 0x00 - 0x0F gEfiMdeModulePkgTokenSpaceGuid.PcdBrowserSubtitleTextColor|0x01|UINT8|0x00010057 ## Specify the foreground color for prompt and Question value text in HII Form Browser. The default value is EFI_BLACK. - # Only following values defined in UEFI specification are valid: - # 0x00 (EFI_BLACK) - # 0x01 (EFI_BLUE) - # 0x02 (EFI_GREEN) - # 0x03 (EFI_CYAN) - # 0x04 (EFI_RED) - # 0x05 (EFI_MAGENTA) - # 0x06 (EFI_BROWN) - # 0x07 (EFI_LIGHTGRAY) - # 0x08 (EFI_DARKGRAY) - # 0x09 (EFI_LIGHTBLUE) - # 0x0A (EFI_LIGHTGREEN) - # 0x0B (EFI_LIGHTCYAN) - # 0x0C (EFI_LIGHTRED) - # 0x0D (EFI_LIGHTMAGENTA) - # 0x0E (EFI_YELLOW) - # 0x0F (EFI_WHITE) + # Only following values defined in UEFI specification are valid:

+ # 0x00 (EFI_BLACK)
+ # 0x01 (EFI_BLUE)
+ # 0x02 (EFI_GREEN)
+ # 0x03 (EFI_CYAN)
+ # 0x04 (EFI_RED)
+ # 0x05 (EFI_MAGENTA)
+ # 0x06 (EFI_BROWN)
+ # 0x07 (EFI_LIGHTGRAY)
+ # 0x08 (EFI_DARKGRAY)
+ # 0x09 (EFI_LIGHTBLUE)
+ # 0x0A (EFI_LIGHTGREEN)
+ # 0x0B (EFI_LIGHTCYAN)
+ # 0x0C (EFI_LIGHTRED)
+ # 0x0D (EFI_LIGHTMAGENTA)
+ # 0x0E (EFI_YELLOW)
+ # 0x0F (EFI_WHITE)
+ # @Prompt Foreground color for browser field. + # @ValidRange 0x80000004 | 0x00 - 0x0F gEfiMdeModulePkgTokenSpaceGuid.PcdBrowserFieldTextColor|0x00|UINT8|0x00010058 ## Specify the foreground color for highlighted prompt and Question value text in HII Form Browser. - # The default value is EFI_LIGHTGRAY. Only following values defined in UEFI specification are valid: - # 0x00 (EFI_BLACK) - # 0x01 (EFI_BLUE) - # 0x02 (EFI_GREEN) - # 0x03 (EFI_CYAN) - # 0x04 (EFI_RED) - # 0x05 (EFI_MAGENTA) - # 0x06 (EFI_BROWN) - # 0x07 (EFI_LIGHTGRAY) - # 0x08 (EFI_DARKGRAY) - # 0x09 (EFI_LIGHTBLUE) - # 0x0A (EFI_LIGHTGREEN) - # 0x0B (EFI_LIGHTCYAN) - # 0x0C (EFI_LIGHTRED) - # 0x0D (EFI_LIGHTMAGENTA) - # 0x0E (EFI_YELLOW) - # 0x0F (EFI_WHITE) + # The default value is EFI_LIGHTGRAY. Only following values defined in UEFI specification are valid:

+ # 0x00 (EFI_BLACK)
+ # 0x01 (EFI_BLUE)
+ # 0x02 (EFI_GREEN)
+ # 0x03 (EFI_CYAN)
+ # 0x04 (EFI_RED)
+ # 0x05 (EFI_MAGENTA)
+ # 0x06 (EFI_BROWN)
+ # 0x07 (EFI_LIGHTGRAY)
+ # 0x08 (EFI_DARKGRAY)
+ # 0x09 (EFI_LIGHTBLUE)
+ # 0x0A (EFI_LIGHTGREEN)
+ # 0x0B (EFI_LIGHTCYAN)
+ # 0x0C (EFI_LIGHTRED)
+ # 0x0D (EFI_LIGHTMAGENTA)
+ # 0x0E (EFI_YELLOW)
+ # 0x0F (EFI_WHITE)
+ # @Prompt Foreground color for highlighted browser field. + # @ValidRange 0x80000004 | 0x00 - 0x0F gEfiMdeModulePkgTokenSpaceGuid.PcdBrowserFieldTextHighlightColor|0x07|UINT8|0x00010059 ## Specify the background color for highlighted prompt and Question value text in HII Form Browser. - # The default value is EFI_BACKGROUND_BLACK. Only following values defined in UEFI specification are valid: - # 0x00 (EFI_BACKGROUND_BLACK) - # 0x10 (EFI_BACKGROUND_BLUE) - # 0x20 (EFI_BACKGROUND_GREEN) - # 0x30 (EFI_BACKGROUND_CYAN) - # 0x40 (EFI_BACKGROUND_RED) - # 0x50 (EFI_BACKGROUND_MAGENTA) - # 0x60 (EFI_BACKGROUND_BROWN) - # 0x70 (EFI_BACKGROUND_LIGHTGRAY) + # The default value is EFI_BACKGROUND_BLACK. Only following values defined in UEFI specification are valid:

+ # 0x00 (EFI_BACKGROUND_BLACK)
+ # 0x10 (EFI_BACKGROUND_BLUE)
+ # 0x20 (EFI_BACKGROUND_GREEN)
+ # 0x30 (EFI_BACKGROUND_CYAN)
+ # 0x40 (EFI_BACKGROUND_RED)
+ # 0x50 (EFI_BACKGROUND_MAGENTA)
+ # 0x60 (EFI_BACKGROUND_BROWN)
+ # 0x70 (EFI_BACKGROUND_LIGHTGRAY)
+ # @Prompt Background color for highlighted browser field. + # @ValidList 0x80000005 | 0x00, 0x10, 0x20, 0x30, 0x40, 0x50, 0x60, 0x70 gEfiMdeModulePkgTokenSpaceGuid.PcdBrowserFieldBackgroundHighlightColor|0x00|UINT8|0x0001005A + ## Time in second to delay for SATA devices to spin-up for recovery. + # @Prompt SATA spin-up delay time in second for recovery path. + gEfiMdeModulePkgTokenSpaceGuid.PcdSataSpinUpDelayInSecForRecoveryPath|15|UINT16|0x0001005B + + ## This PCD is used to specify memory size with page number for a pre-allocated ACPI NVS memory to hold + # runtime created S3 boot script entries. The default page number is 2. When changing the value of this + # PCD, the platform developer should make sure the memory size is large enough to hold the S3 boot + # script node created in runtime phase. + # @Prompt Reserved page number for S3 Boot Script Runtime Table. + gEfiMdeModulePkgTokenSpaceGuid.PcdS3BootScriptRuntimeTableReservePageNumber|0x2|UINT16|0x0001005C + + ## The PCD is used to specify the stack size when capsule IA32 PEI transfers to long mode in PEI phase. + # The default size is 32K. When changing the value of this PCD, the platform developer should + # make sure the memory size is large enough to meet capsule PEI requirement in capsule update path. + # @Prompt Stack size for CapsulePei transfer to long mode. + gEfiMdeModulePkgTokenSpaceGuid.PcdCapsulePeiLongModeStackSize|0x8000|UINT32|0x0001005D + + ## Indicates if 1G page table will be enabled.

+ # TRUE - 1G page table will be enabled.
+ # FALSE - 1G page table will not be enabled.
+ # @Prompt Enable 1G page table support. + gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable|FALSE|BOOLEAN|0x0001005E + + ## Indicates if the Single Root I/O virtualization is supported.

+ # TRUE - Single Root I/O virtualization is supported.
+ # FALSE - Single Root I/O virtualization is not supported.
+ # @Prompt Enable SRIOV support. + gEfiMdeModulePkgTokenSpaceGuid.PcdSrIovSupport|TRUE|BOOLEAN|0x10000044 + + ## Indicates if the Alternative Routing-ID is supported.

+ # TRUE - Alternative Routing-ID is supported.
+ # FALSE - Alternative Routing-ID is not supported.
+ # @Prompt Enable ARI support. + gEfiMdeModulePkgTokenSpaceGuid.PcdAriSupport|TRUE|BOOLEAN|0x10000045 + + ## Indicates if the Multi Root I/O virtualization is supported.

+ # TRUE - Multi Root I/O virtualization is supported.
+ # FALSE - Multi Root I/O virtualization is not supported.
+ # @Prompt Enable MRIOV support. + gEfiMdeModulePkgTokenSpaceGuid.PcdMrIovSupport|FALSE|BOOLEAN|0x10000046 + + ## Single root I/O virtualization virtual function memory BAR alignment.

+ # BITN set indicates 2 of n+12 power
+ # BIT0 set indicates 4KB alignment
+ # BIT1 set indicates 8KB alignment
+ # @Prompt SRIOV system page size. + gEfiMdeModulePkgTokenSpaceGuid.PcdSrIovSystemPageSize|0x1|UINT32|0x10000047 + + ## SMBIOS version. + # @Prompt SMBIOS version. + gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0300|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. + gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev|0x0|UINT8|0x0001006A + + ## SMBIOS produce method. + # BIT0 set indicates 32-bit entry point and table are produced.
+ # BIT1 set indicates 64-bit entry point and table are produced.
+ # @Prompt The policy to produce SMBIOS entry point and table. + 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. + # @Prompt Pad size for extension FPDT boot records. + gEfiMdeModulePkgTokenSpaceGuid.PcdExtFpdtBootRecordPadSize|0x0|UINT32|0x0001005F + + ## Indicates if ConIn device are connected on demand.

+ # TRUE - ConIn device are not connected during BDS and ReadKeyStroke/ReadKeyStrokeEx produced + # by Consplitter should be called before any real key read operation.
+ # FALSE - ConIn device may be connected normally during BDS.
+ # @Prompt ConIn connect on demand. + gEfiMdeModulePkgTokenSpaceGuid.PcdConInConnectOnDemand|FALSE|BOOLEAN|0x10000060 + + ## Indicates if the S.M.A.R.T feature of attached ATA hard disks will be enabled.

+ # TRUE - S.M.A.R.T feature of attached ATA hard disks will be enabled.
+ # FALSE - S.M.A.R.T feature of attached ATA hard disks will be default status.
+ # @Prompt Enable ATA S.M.A.R.T feature. + gEfiMdeModulePkgTokenSpaceGuid.PcdAtaSmartEnable|TRUE|BOOLEAN|0x00010065 + + ## Indicates if full PCI enumeration is disabled.

+ # TRUE - Full PCI enumeration is disabled.
+ # FALSE - Full PCI enumeration is not disabled.
+ # @Prompt Disable full PCI enumeration. + gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|FALSE|BOOLEAN|0x10000048 + + ## Disk I/O - Number of Data Buffer block. + # Define the size in block of the pre-allocated buffer. It provide better + # performance for large Disk I/O requests. + # @Prompt Disk I/O - Number of Data Buffer block. + gEfiMdeModulePkgTokenSpaceGuid.PcdDiskIoDataBufferBlockNum|64|UINT32|0x30001039 + + ## This PCD specifies the PCI-based UFS host controller mmio base address. + # Define the mmio base address of the pci-based UFS host controller. If there are multiple UFS + # host controllers, their mmio base addresses are calculated one by one from this base address. + # @Prompt Mmio base address of pci-based UFS host controller. + gEfiMdeModulePkgTokenSpaceGuid.PcdUfsPciHostControllerMmioBase|0xd0000000|UINT32|0x10000061 + [PcdsPatchableInModule] - ## Specify memory size with page number for PEI code when - # the feature of Loading Module at Fixed Address is enabled + ## Specify memory size with page number for PEI code when + # Loading Module at Fixed Address feature is enabled. + # The value will be set by the build tool. + # @Prompt LMFA PEI code page number. + # @ValidList 0x80000001 | 0 gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressPeiCodePageNumber|0|UINT32|0x00000029 - ## Specify memory size with page number for DXE boot time code when - # the feature of Loading Module at Fixed Address is enabled + ## Specify memory size with page number for DXE boot time code when + # Loading Module at Fixed Address feature is enabled. + # The value will be set by the build tool. + # @Prompt LMFA DXE boot code page number. + # @ValidList 0x80000001 | 0 gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressBootTimeCodePageNumber|0|UINT32|0x0000002a - ## Specify memory size with page number for DXE runtime code when - # the feature of Loading Module at Fixed Address is enabled + ## Specify memory size with page number for DXE runtime code when + # Loading Module at Fixed Address feature is enabled. + # The value will be set by the build tool. + # @Prompt LMFA DXE runtime code page number. + # @ValidList 0x80000001 | 0 gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressRuntimeCodePageNumber|0|UINT32|0x0000002b - ## Specify memory size with page number for SMM code when - # the feature of Loading Module at Fixed Address is enabled + ## Specify memory size with page number for SMM code when + # Loading Module at Fixed Address feature is enabled. + # The value will be set by the build tool. + # @Prompt LMFA SMM code page number. + # @ValidList 0x80000001 | 0 gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressSmmCodePageNumber|0|UINT32|0x0000002c +[PcdsDynamic, PcdsDynamicEx] + ## This dynamic PCD hold an address to point to private data structure used in DxeS3BootScriptLib library + # instance which records the S3 boot script table start address, length, etc. To introduce this PCD is + # only for DxeS3BootScriptLib instance implementation purpose. The platform developer should make sure the + # default value is set to Zero. And the PCD is assumed ONLY to be accessed in DxeS3BootScriptLib Library. + # @Prompt S3 Boot Script Table Private Data pointer. + # @ValidList 0x80000001 | 0x0 + gEfiMdeModulePkgTokenSpaceGuid.PcdS3BootScriptTablePrivateDataPtr|0x0|UINT64|0x00030000 + + ## This dynamic PCD hold an address to point to private data structure SMM copy used in DxeS3BootScriptLib library + # instance which records the S3 boot script table start address, length, etc. To introduce this PCD is + # only for DxeS3BootScriptLib instance implementation purpose. The platform developer should make sure the + # default value is set to Zero. And the PCD is assumed ONLY to be accessed in DxeS3BootScriptLib Library. + # @Prompt S3 Boot Script Table Private Smm Data pointer. + # @ValidList 0x80000001 | 0x0 + gEfiMdeModulePkgTokenSpaceGuid.PcdS3BootScriptTablePrivateSmmDataPtr|0x0|UINT64|0x00030001 + + ## This dynamic PCD hold an address to point to the memory of page table. The page table establishes a 1:1 + # Virtual to Physical mapping according to the processor physical address bits. + # @Prompt Identify Mapping Page Table pointer. + # @ValidList 0x80000001 | 0x0 + gEfiMdeModulePkgTokenSpaceGuid.PcdIdentifyMappingPageTablePtr|0x0|UINT64|0x00030002 + +[UserExtensions.TianoCore."ExtraFiles"] + MdeModulePkgExtra.uni