X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=MdeModulePkg%2FMdeModulePkg.dec;h=efd870b61828de45046206d1b1e022de96d80547;hp=6e7247016c47e7629670d842e864e9091f5deb22;hb=4f0f2316ed7699e233b362b83c7fbd63c2adf97e;hpb=1d1122292572cbaf73d8e8d2d39d01a8a28da76a diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec index 6e7247016c..efd870b618 100644 --- a/MdeModulePkg/MdeModulePkg.dec +++ b/MdeModulePkg/MdeModulePkg.dec @@ -3,14 +3,15 @@ # It also provides the definitions(including PPIs/PROTOCOLs/GUIDs and library classes) # and libraries instances, which are used for those modules. # -# 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. +# Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.
+# Copyright (c) 2016, Linaro Ltd. 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 -# 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. +# 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. # ## @@ -43,6 +44,10 @@ # 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 @@ -93,11 +98,11 @@ ## @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 @@ -108,6 +113,45 @@ ## @libraryclass Provides core boot manager functions UefiBootManagerLib|Include/Library/UefiBootManagerLib.h + ## @libraryclass Provides core boot manager functions + PlatformBootManagerLib|Include/Library/PlatformBootManagerLib.h + + ## @libraryclass Provides common interfaces about TPM measurement for other modules. + # + TpmMeasurementLib|Include/Library/TpmMeasurementLib.h + + ## @libraryclass Provides authenticated variable services. + # + AuthVariableLib|Include/Library/AuthVariableLib.h + + ## @libraryclass Provides variable check services and database management. + # + VarCheckLib|Include/Library/VarCheckLib.h + + ## @libraryclass Provides services to get variable error flag and do platform variable cleanup. + # + PlatformVarCleanupLib|Include/Library/PlatformVarCleanupLib.h + + ## @libraryclass Provides services to get do the file explorer. + # + FileExplorerLib|Include/Library/FileExplorerLib.h + + ## @libraryclass Provides image decoding service. + # + ImageDecoderLib|Include/Library/ImageDecoderLib.h + + ## @libraryclass Provides interfaces about logo display. + # + BootLogoLib|Include/Library/BootLogoLib.h + + ## @libraryclass Provides interfaces about Ipmi submit generic commond. + # + IpmiLib|Include/Library/IpmiLib.h + + ## @libraryclass Provides interfaces for platform to return root bridge information to PciHostBridgeDxe driver. + # + PciHostBridgeLib|Include/Library/PciHostBridgeLib.h + [Guids] ## MdeModule package token space guid # Include/Guid/MdeModulePkgTokenSpace.h @@ -165,13 +209,17 @@ # Include/Guid/VariableFormat.h gEfiVariableGuid = { 0xddcf3616, 0x3275, 0x4164, { 0x98, 0xb6, 0xfe, 0x85, 0x70, 0x7f, 0xfe, 0x7d }} + ## Guid acted as the authenticated variable store header's signature, and to specify the variable list entries put in the EFI system table. + # Include/Guid/AuthenticatedVariableFormat.h + gEfiAuthenticatedVariableGuid = { 0xaaf32c78, 0x947b, 0x439a, { 0xa1, 0x80, 0x2e, 0x14, 0x4e, 0xc3, 0x77, 0x92 } } + # 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 } } @@ -183,9 +231,6 @@ # Include/Guid/Crc32GuidedSectionExtraction.h gEfiCrc32GuidedSectionExtractionGuid = { 0xFC1BCDB0, 0x7D31, 0x49aa, {0x93, 0x6A, 0xA4, 0x60, 0x0D, 0x9D, 0xD0, 0x83 } } - ## Include/Guid/NicIp4ConfigNvData.h - gEfiNicIp4ConfigVariableGuid = {0xd8944553, 0xc4dd, 0x41f4, { 0x9b, 0x30, 0xe1, 0x39, 0x7c, 0xfb, 0x26, 0x7b }} - ## Include/Guid/StatusCodeCallbackGuid.h gStatusCodeCallbackGuid = {0xe701458c, 0x4900, 0x4ca5, {0xb7, 0x72, 0x3d, 0x37, 0x94, 0x9f, 0x79, 0x27}} @@ -197,14 +242,14 @@ # Include/Guid/StatusCodeDataTypeDebug.h gEfiStatusCodeDataTypeDebugGuid = { 0x9A4E9246, 0xD553, 0x11D5, { 0x87, 0xE2, 0x00, 0x06, 0x29, 0x45, 0xC3, 0xB9 }} - ## A configuration Table Guid for Load module at fixed address + ## A configuration Table Guid for Load module at fixed address # Include/Guid/LoadModuleAtFixedAddress.h gLoadFixedAddressConfigurationTableGuid = { 0x2CA88B53,0xD296,0x4080, { 0xA4,0xA5,0xCA,0xD9,0xBA,0xE2,0x4B,0x9 } } ## GUID used to store the global debug mask value into an EFI Variable - # Include/Guid/DebugMask.h + # 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 } } @@ -237,7 +282,7 @@ ## 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 }} @@ -249,8 +294,8 @@ ## 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/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 }} @@ -261,7 +306,7 @@ ## 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 }} @@ -278,7 +323,7 @@ ## 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 }} @@ -290,6 +335,18 @@ gLzmaCustomDecompressGuid = { 0xEE4E5898, 0x3914, 0x4259, { 0x9D, 0x6E, 0xDC, 0x7B, 0xD7, 0x94, 0x03, 0xCF }} gLzmaF86CustomDecompressGuid = { 0xD42AE6BD, 0x1352, 0x4bfb, { 0x90, 0x9A, 0xCA, 0x72, 0xA6, 0xEA, 0xE8, 0x89 }} + ## Include/Guid/TtyTerm.h + gEfiTtyTermGuid = { 0x7d916d80, 0x5bb1, 0x458c, {0xa4, 0x8f, 0xe2, 0x5f, 0xdd, 0x51, 0xef, 0x94 }} + + ## Include/Guid/HiiBootMaintenanceFormset.h + gEfiIfrBootMaintenanceGuid = { 0xb2dedc91, 0xd59f, 0x48d2, { 0x89, 0x8a, 0x12, 0x49, 0xc, 0x74, 0xa4, 0xe0 }} + + gEfiIfrFrontPageGuid = { 0xe58809f8, 0xfbc1, 0x48e2, { 0x88, 0x3a, 0xa3, 0x0f, 0xdc, 0x4b, 0x44, 0x1e } } + + ## Include/Guid/RamDiskHii.h + gRamDiskFormSetGuid = { 0x2a46715f, 0x3581, 0x4a55, { 0x8e, 0x73, 0x2b, 0x76, 0x9a, 0xaa, 0x30, 0xc5 }} + + [Ppis] ## Include/Ppi/AtaController.h gPeiAtaControllerPpiGuid = { 0xa45e60d1, 0xc719, 0x44aa, { 0xb0, 0x7a, 0xaa, 0x77, 0x7f, 0x85, 0x90, 0x6d }} @@ -306,9 +363,6 @@ ## 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 }} @@ -330,6 +384,9 @@ ## Include/Ppi/UfsHostController.h gEdkiiPeiUfsHostControllerPpiGuid = { 0xdc54b283, 0x1a77, 0x4cd6, { 0x83, 0xbb, 0xfd, 0xda, 0x46, 0x9a, 0x2e, 0xc6 }} + ## Include/Ppi/IpmiPpi.h + gPeiIpmiPpiGuid = { 0xa9731431, 0xd968, 0x4277, { 0xb7, 0x52, 0xa3, 0xa9, 0xa6, 0xae, 0x18, 0x98 }} + [Protocols] ## Load File protocol provides capability to load and unload EFI image into memory and execute it. # Include/Protocol/LoadPe32Image.h @@ -355,15 +412,15 @@ ## This protocol provides boot-time service to do fault tolerant write capability for block devices in SMM environment. # Include/Protocol/SmmFaultTolerantWrite.h gEfiSmmFaultTolerantWriteProtocolGuid = { 0x3868fc3b, 0x7e45, 0x43a7, { 0x90, 0x6c, 0x4b, 0xa4, 0x7d, 0xe1, 0x75, 0x4d }} - + ## This protocol is used to abstract the swap operation of boot block and backup block of boot FV. # Include/Protocol/SwapAddressRange.h gEfiSwapAddressRangeProtocolGuid = { 0x1259F60D, 0xB754, 0x468E, { 0xA7, 0x89, 0x4D, 0xB8, 0x5D, 0x55, 0xE8, 0x7E }} - + ## This protocol is used to abstract the swap operation of boot block and backup block of boot FV in SMM environment. # Include/Protocol/SmmSwapAddressRange.h gEfiSmmSwapAddressRangeProtocolGuid = { 0x67c4f112, 0x3385, 0x4e55, { 0x9c, 0x5b, 0xc0, 0x5b, 0x71, 0x7c, 0x42, 0x28 }} - + ## This protocol is intended for use as a means to store data in the EFI SMM environment. # Include/Protocol/SmmVariableProtocol.h gEfiSmmVariableProtocolGuid = { 0xed32d533, 0x99e6, 0x4209, { 0x9c, 0xc0, 0x2d, 0x72, 0xcd, 0xd9, 0x98, 0xa7 }} @@ -383,12 +440,12 @@ gEfiSmmFirmwareVolumeBlockProtocolGuid = { 0xd326d041, 0xbd31, 0x4c01, { 0xb5, 0xa8, 0x62, 0x8b, 0xe8, 0x7f, 0x6, 0x53 }} ## This protocol allows the error level mask for DEBUG() macros to be adjusted for DXE Phase modules - # Include/Guid/DebugMask.h + # 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 } } @@ -410,6 +467,28 @@ ## Include/Protocol/UfsHostController.h gEdkiiUfsHostControllerProtocolGuid = { 0xebc01af5, 0x7a9, 0x489e, { 0xb7, 0xce, 0xdc, 0x8, 0x9e, 0x45, 0x9b, 0x2f } } + ## Include/Protocol/EsrtManagement.h + gEsrtManagementProtocolGuid = { 0xa340c064, 0x723c, 0x4a9c, { 0xa4, 0xdd, 0xd5, 0xb4, 0x7a, 0x26, 0xfb, 0xb0 }} + + ## Include/Protocol/SmmExitBootServices.h + gEdkiiSmmExitBootServicesProtocolGuid = { 0x296eb418, 0xc4c8, 0x4e05, { 0xab, 0x59, 0x39, 0xe8, 0xaf, 0x56, 0xf0, 0xa } } + + ## Include/Protocol/SmmLegacyBoot.h + gEdkiiSmmLegacyBootProtocolGuid = { 0x85a8ab57, 0x644, 0x4110, { 0x85, 0xf, 0x98, 0x13, 0x22, 0x4, 0x70, 0x70 } } + + ## Include/Protocol/SmmReadyToBoot.h + gEdkiiSmmReadyToBootProtocolGuid = { 0x6e057ecf, 0xfa99, 0x4f39, { 0x95, 0xbc, 0x59, 0xf9, 0x92, 0x1d, 0x17, 0xe4 } } + + ## Include/Protocol/PlatformLogo.h + gEdkiiPlatformLogoProtocolGuid = { 0x9b517978, 0xeba1, 0x44e7, { 0xba, 0x65, 0x7c, 0x2c, 0xd0, 0x8b, 0xf8, 0xe9 } } + + ## Include/Protocol/FileExplorer.h + gEfiFileExplorerProtocolGuid = { 0x2C03C536, 0x4594, 0x4515, { 0x9E, 0x7A, 0xD3, 0xD2, 0x04, 0xFE, 0x13, 0x63 } } + + ## Include/Protocol/IpmiProtocol.h + gIpmiProtocolGuid = { 0xdbc6381f, 0x5554, 0x4d14, { 0x8f, 0xfd, 0x76, 0xd7, 0x87, 0xb8, 0xac, 0xbf } } + gSmmIpmiProtocolGuid = { 0x5169af60, 0x8c5a, 0x4243, { 0xb3, 0xe9, 0x56, 0xc5, 0x6d, 0x18, 0xee, 0x26 } } + # # [Error.gEfiMdeModulePkgTokenSpaceGuid] # 0x80000001 | Invalid value provided. @@ -497,7 +576,7 @@ # FALSE - Does not turn off usb legacy support.
# @Prompt Turn off USB legacy support. gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|FALSE|BOOLEAN|0x00010047 - + ## Indicates if HiiImageProtocol will be installed. # FALSE is for size reduction.

# TRUE - Installs HiiImageProtocol.
@@ -626,6 +705,20 @@ # @Prompt Enable S3 performance data support. gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwarePerformanceDataTableS3Support|TRUE|BOOLEAN|0x00010064 + ## Indicates if Serial device uses half hand shake.

+ # TRUE - Serial device uses half hand shake.
+ # FALSE - Serial device doesn't use half hand shake.
+ # @Prompt Enable Serial device Half Hand Shake + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseHalfHandshake|FALSE|BOOLEAN|0x00010073 + + ## Indicates if HII data and configuration has been exported.

+ # Add this PCD mainly consider the use case of simulator. This PCD maybe set to FALSE for + # simulator platform because the performance cost for this feature. + # TRUE - Export HII data and configuration data.
+ # FALSE - Does not export HII data and configuration.
+ # @Prompt Enable export HII data and configuration to be used in OS runtime. + gEfiMdeModulePkgTokenSpaceGuid.PcdHiiOsRuntimeSupport|TRUE|BOOLEAN|0x00010074 + [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 @@ -714,6 +807,11 @@ # @Prompt Maximum variable size. gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x400|UINT32|0x30000003 + ## The maximum size of a single authenticated variable. + # The value is 0 as default for compatibility that maximum authenticated variable size is specified by PcdMaxVariableSize. + # @Prompt Maximum authenticated variable size. + gEfiMdeModulePkgTokenSpaceGuid.PcdMaxAuthVariableSize|0x00|UINT32|0x30000009 + ## 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.
@@ -796,7 +894,7 @@ # 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. # @Prompt Base address of serial port registers. gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x03F8|UINT64|0x00020002 @@ -839,7 +937,7 @@ ## 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 - # boundary as close to the top of memory as feasible. If this PCD is set to a + # 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 # 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 @@ -850,28 +948,15 @@ ## 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. + # @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 + ## Indicates if to shadow PEIM and PeiCore after memory is ready.

+ # This PCD is used on other boot path except for S3 boot. + # TRUE - Shadow PEIM and PeiCore after memory is ready.
+ # FALSE - Not shadow PEIM after memory is ready.
+ # @Prompt Shadow Peim and PeiCore on boot + gEfiMdeModulePkgTokenSpaceGuid.PcdShadowPeimOnBoot|TRUE|BOOLEAN|0x30001029 ## The mask is used to control memory profile behavior.

# BIT0 - Enable UEFI memory profile.
@@ -899,6 +984,7 @@ # EfiMemoryMappedIOPortSpace 0x1000
# EfiPalCode 0x2000
# EfiPersistentMemory 0x4000
+ # OEM Reserved 0x4000000000000000
# OS Reserved 0x8000000000000000
# # e.g. Reserved+ACPINvs+ACPIReclaim+RuntimeCode+RuntimeData are needed, 0x661 should be used.
@@ -906,46 +992,92 @@ # @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 - ## 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 + # 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. + ## PCI Serial Parameters. It is an array of VendorID, DeviceID, ClockRate, Offset, + # BarIndex, RegisterStride, ReceiveFifoDepth, TransmitFifoDepth information that + # describes the parameters of special PCI serial devices. + # Each array entry is 24-byte in length. The array is terminated + # by an array entry with a PCI Vendor ID of 0xFFFF. If a platform only contains a + # standard 16550 PCI serial device whose class code is 7/0/2, the value is 0xFFFF. + # The C style structure is defined as below:
+ # typedef struct {
+ # UINT16 VendorId; ///< Vendor ID to match the PCI device. The value 0xFFFF terminates the list of entries.
+ # UINT16 DeviceId; ///< Device ID to match the PCI device.
+ # UINT32 ClockRate; ///< UART clock rate. Set to 0 for default clock rate of 1843200 Hz.
+ # UINT64 Offset; ///< The byte offset into to the BAR.
+ # UINT8 BarIndex; ///< Which BAR to get the UART base address.
+ # UINT8 RegisterStride; ///< UART register stride in bytes. Set to 0 for default register stride of 1 byte.
+ # UINT16 ReceiveFifoDepth; ///< UART receive FIFO depth in bytes. Set to 0 for a default FIFO depth of 16 bytes.
+ # UINT16 TransmitFifoDepth; ///< UART transmit FIFO depth in bytes. Set to 0 for a default FIFO depth of 16 bytes.
+ # UINT8 Reserved[2];
+ # } PCI_SERIAL_PARAMETER;
+ # It contains zero or more instances of the above structure.
+ # For example, if a PCI device contains two UARTs, PcdPciSerialParameters needs + # to contain two instances of the above structure, with the VendorId and DeviceId + # equals to the Device ID and Vendor ID of the device; If the PCI device uses the + # first two BARs to support two UARTs, BarIndex of first instance equals to 0 and + # BarIndex of second one equals to 1; If the PCI device uses the first BAR to + # support both UARTs, BarIndex of both instance equals to 0, Offset of first + # instance equals to 0 and Offset of second one equals to a value bigger than or + # equal to 8.
+ # For certain UART whose register needs to be accessed in DWORD aligned address, + # RegisterStride equals to 4. + # @Prompt Pci Serial Parameters + gEfiMdeModulePkgTokenSpaceGuid.PcdPciSerialParameters|{0xFF, 0xFF}|VOID*|0x00010071 + + ## 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 ## This PCD points to the file name GUID of the BootManagerMenuApp # Platform can customize the PCD to point to different application for Boot Manager Menu + # @Prompt Boot Manager Menu File 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. # 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 ## 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 - + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterStride|1|UINT32|0x0001006d + + ## This PCD to include the driver guid of VFR drivers for VarCheckHiiBin generation.

+ # Default is gZeroGuid that means no VFR driver will be parsed for VarCheckHiiBin generation.
+ # If it is set to an all FFs GUID, it means all modules in all FVs will be parsed for VarCheckHiiBin generation.
+ # @Prompt Driver guid array of VFR drivers for VarCheckHiiBin generation. + gEfiMdeModulePkgTokenSpaceGuid.PcdVarCheckVfrDriverGuidArray|{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }|VOID*|0x3000103A + + ## Indicates which ACPI versions are targeted by the ACPI tables exposed to the OS + # These values are aligned with the definitions in MdePkg/Include/Protocol/AcpiSystemDescriptionTable.h + # BIT 1 - EFI_ACPI_TABLE_VERSION_1_0B.
+ # BIT 2 - EFI_ACPI_TABLE_VERSION_2_0.
+ # BIT 3 - EFI_ACPI_TABLE_VERSION_3_0.
+ # BIT 4 - EFI_ACPI_TABLE_VERSION_4_0.
+ # BIT 5 - EFI_ACPI_TABLE_VERSION_5_0.
+ # @Prompt Exposed ACPI table versions. + gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiExposedTableVersions|0x3E|UINT32|0x0001004c + [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. The default value is 80 according to UEFI spec. + ## This PCD defines the Console output column. 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 @@ -984,6 +1116,15 @@ gEfiMdeModulePkgTokenSpaceGuid.PcdSetupConOutRow|25|UINT32|0x4000000e [PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx] + ## UART clock frequency is for the baud rate configuration. + # @Prompt Serial Port Clock Rate. + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialClockRate|1843200|UINT32|0x00010066 + + ## This PCD points to the front page formset GUID + # Compare the FormsetGuid or ClassGuid with this PCD value can detect whether in front page + # @Prompt Front Page Formset. + gEfiMdeModulePkgTokenSpaceGuid.PcdFrontPageFormSetGuid|{ 0xbc, 0x30, 0x0c, 0x9e,0x06, 0x3f, 0xa6, 0x4b, 0x82, 0x88, 0x9, 0x17, 0x9b, 0x85, 0x5d, 0xbe }|VOID*|0x0001006e + ## Base address of the NV variable range in flash device. # @Prompt Base address of flash NV variable range. gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|0x0|UINT32|0x30000001 @@ -1105,7 +1246,7 @@ # @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)
@@ -1127,7 +1268,7 @@ # @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)
@@ -1149,7 +1290,7 @@ # @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)
@@ -1168,10 +1309,10 @@ # @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. + ## This PCD is used to specify memory size with page number for a pre-allocated ACPI reserved memory + # to hold runtime(after SmmReadyToLock) 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(after SmmReadyToLock) phase. # @Prompt Reserved page number for S3 Boot Script Runtime Table. gEfiMdeModulePkgTokenSpaceGuid.PcdS3BootScriptRuntimeTableReservePageNumber|0x2|UINT16|0x0001005C @@ -1262,6 +1403,88 @@ # @Prompt Mmio base address of pci-based UFS host controller. gEfiMdeModulePkgTokenSpaceGuid.PcdUfsPciHostControllerMmioBase|0xd0000000|UINT32|0x10000061 + ## Specify Max ESRT cache entry number supported for FMP instances + # + # @Prompt Max FMP ESRT entry number to be synced & cached in repository. + gEfiMdeModulePkgTokenSpaceGuid.PcdMaxFmpEsrtCacheNum|32|UINT32|0x0000006b + + ## Specify Max ESRT cache entry number supported for Non FMP instances + # + # @Prompt Max Non-FMP ESRT entry number to be cached in repository. + gEfiMdeModulePkgTokenSpaceGuid.PcdMaxNonFmpEsrtCacheNum|32|UINT32|0x0000006c + + ## Specify of Capsule Flag defined by CapsuleGuid to request system reboot after capsule process + # + # @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 + + ## Default OEM Table ID for ACPI table creation, it is "EDK2 ". + # According to ACPI specification, this field is particularly useful when + # defining a definition block to distinguish definition block functions. + # The OEM assigns each dissimilar table a new OEM Table ID. + # This PCD is ignored for definition block. + # @Prompt Default OEM Table ID for ACPI table creation. + gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemTableId|0x20202020324B4445|UINT64|0x30001035 + + ## Default OEM Revision for ACPI table creation. + # According to ACPI specification, for LoadTable() opcode, the OS can also + # check the OEM Table ID and Revision ID against a database for a newer + # revision Definition Block of the same OEM Table ID and load it instead. + # This PCD is ignored for definition block. + # @Prompt Default OEM Revision for ACPI table creation. + gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemRevision|0x00000002|UINT32|0x30001036 + + ## Default Creator ID for ACPI table creation. + # According to ACPI specification, for tables containing Definition Blocks, + # this is the ID for the ASL Compiler. + # This PCD is ignored for definition block. + # @Prompt Default Creator ID for ACPI table creation. + gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorId|0x20202020|UINT32|0x30001037 + + ## Default Creator Revision for ACPI table creation. + # According to ACPI specification, for tables containing Definition Blocks, + # this is the revision for the ASL Compiler. + # This PCD is ignored for definition block. + # @Prompt Default Creator Revision for ACPI table creation. + gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorRevision|0x01000013|UINT32|0x30001038 + + ## Indicates if to set NX for stack.

+ # For the DxeIpl and the DxeCore are both X64, set NX for stack feature also require PcdDxeIplBuildPageTables be TRUE.
+ # For the DxeIpl and the DxeCore are both IA32 (PcdDxeIplSwitchToLongMode is FALSE), set NX for stack feature also require + # IA32 PAE is supported and Execute Disable Bit is available.
+ # TRUE - to set NX for stack.
+ # FALSE - Not to set NX for stack.
+ # @Prompt Set NX for stack. + gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|FALSE|BOOLEAN|0x0001006f + [PcdsPatchableInModule] ## Specify memory size with page number for PEI code when # Loading Module at Fixed Address feature is enabled. @@ -1269,21 +1492,21 @@ # @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 # 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 # 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 # Loading Module at Fixed Address feature is enabled. # The value will be set by the build tool. @@ -1308,7 +1531,7 @@ # @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 + ## 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