]>
Commit | Line | Data |
---|---|---|
e3e134eb | 1 | ## @file MdeModulePkg.dec\r |
4f57ff18 | 2 | #\r |
a9141950 | 3 | # This package provides the modules that conform to UEFI/PI Industry standards.\r |
73850864 | 4 | # It also provides the defintions(including PPIs/PROTOCOLs/GUIDs and library classes)\r |
bf314e67 | 5 | # and libraries instances, which are used for those modules.\r |
b7d286b6 | 6 | #\r |
cd5ebaa0 | 7 | # Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>\r |
64a80549 | 8 | # This program and the accompanying materials are licensed and made available under \r |
9 | # the terms and conditions of the BSD License that accompanies this distribution. \r | |
4f57ff18 | 10 | # The full text of the license may be found at\r |
64a80549 | 11 | # http://opensource.org/licenses/bsd-license.php. \r |
12 | # \r | |
13 | # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r | |
14 | # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r | |
b7d286b6 | 15 | #\r |
4f57ff18 | 16 | ##\r |
b7d286b6 | 17 | \r |
18 | \r | |
b7d286b6 | 19 | [Defines]\r |
20 | DEC_SPECIFICATION = 0x00010005\r | |
84e20859 | 21 | PACKAGE_NAME = MdeModulePkg\r |
b7d286b6 | 22 | PACKAGE_GUID = BA0D78D6-2CAF-414b-BD4D-B6762A894288\r |
a9141950 | 23 | PACKAGE_VERSION = 0.91\r |
b7d286b6 | 24 | \r |
6bfbb5f0 | 25 | [Includes]\r |
ed838d0c | 26 | Include\r |
b7d286b6 | 27 | \r |
30143b15 | 28 | \r |
6bfbb5f0 | 29 | [LibraryClasses]\r |
4f57ff18 | 30 | ## @libraryclass IpIo layer upon EFI IP4 Protocol.\r |
93367605 | 31 | # This library is only intended to be used by UEFI network stack modules.\r |
30143b15 | 32 | IpIoLib|Include/Library/IpIoLib.h\r |
73850864 | 33 | \r |
4f57ff18 | 34 | ## @libraryclass Basic function for UEFI network stack.\r |
93367605 | 35 | # This library is only intended to be used by UEFI network stack modules.\r |
518d395c | 36 | NetLib|Include/Library/NetLib.h\r |
73850864 | 37 | \r |
4f57ff18 | 38 | ## @libraryclass The helper routines to access UDP service.\r |
93367605 | 39 | # This library is only intended to be used by UEFI network stack modules.\r |
30143b15 | 40 | UdpIoLib|Include/Library/UdpIoLib.h\r |
73850864 | 41 | \r |
97b2c9b5 LG |
42 | ## @libraryclass Defines a set of methods to reset whole system.\r |
43 | ResetSystemLib|Include/Library/ResetSystemLib.h\r | |
44 | \r | |
4f57ff18 | 45 | ## @libraryclass Defines a set of methods related do S3 mode.\r |
05d71050 | 46 | # This library class is no longer used and modules using this library should\r |
47 | # directly locate EFI_PEI_S3_RESUME_PPI defined in PI 1.2 specification.\r | |
4fb31c2c | 48 | S3Lib|Include/Library/S3Lib.h\r |
73850864 | 49 | \r |
4f57ff18 | 50 | ## @libraryclass Defines a set of methods related recovery mode.\r |
05d71050 | 51 | # This library class is no longer used and modules using this library should\r |
52 | # directly locate EFI_PEI_RECOVERY_MODULE_PPI defined in PI 1.2 specification.\r | |
4fb31c2c | 53 | RecoveryLib|Include/Library/RecoveryLib.h\r |
73850864 | 54 | \r |
804dbc37 | 55 | ## @libraryclass Provides HII related functions.\r |
56 | HiiLib|Include/Library/HiiLib.h\r | |
73850864 | 57 | \r |
4f57ff18 | 58 | ## @libraryclass Defines a set of interfaces on how to process capusle image update.\r |
30d3be34 | 59 | CapsuleLib|Include/Library/CapsuleLib.h\r |
73850864 | 60 | \r |
4f57ff18 | 61 | ## @libraryclass Library for Deferred Procedure Calls.\r |
f02d0c0f LG |
62 | DpcLib|Include/Library/DpcLib.h\r |
63 | \r | |
73850864 | 64 | ## @libraryclass Provides global variables that are pointers\r |
a90ccab8 LG |
65 | # to the UEFI HII related protocols.\r |
66 | #\r | |
da801a6e | 67 | UefiHiiServicesLib|Include/Library/UefiHiiServicesLib.h\r |
9a6dcbf3 | 68 | \r |
cd98f305 LG |
69 | ## @libraryclass Provides a set of interfaces to abstract the policy of security measurement.\r |
70 | #\r | |
71 | SecurityManagementLib|MdeModulePkg/Include/Library/SecurityManagementLib.h\r | |
72 | \r | |
75dea6bd | 73 | ## @libraryclass OEM status code libary is used to report status code to OEM device.\r |
74 | #\r | |
75 | OemHookStatusCodeLib|Include/Library/OemHookStatusCodeLib.h\r | |
76 | \r | |
fe92ab29 | 77 | ## @libraryclass Debug Agent is used to provide soft debug capability.\r |
78 | #\r | |
79 | DebugAgentLib|Include/Library/DebugAgentLib.h\r | |
6eea8eae | 80 | \r |
6bfbb5f0 | 81 | [Guids]\r |
f02d0c0f | 82 | ## MdeModule package token space guid\r |
a90ccab8 | 83 | # Include/Guid/MdeModulePkgTokenSpace.h\r |
f02d0c0f | 84 | gEfiMdeModulePkgTokenSpaceGuid = { 0xA1AFF049, 0xFDEB, 0x442a, { 0xB3, 0x20, 0x13, 0xAB, 0x4C, 0xB7, 0x2B, 0xBC }}\r |
351986ae | 85 | \r |
f02d0c0f | 86 | ## Hob guid for Pcd DataBase\r |
a90ccab8 | 87 | # Include/Guid/PcdDataBaseHobGuid.h\r |
351986ae | 88 | gPcdDataBaseHobGuid = { 0xEA296D92, 0x0B69, 0x423C, { 0x8C, 0x28, 0x33, 0xB4, 0xE0, 0xA9, 0x12, 0x68 }}\r |
73850864 | 89 | \r |
5c526736 | 90 | ## Guid for EDKII implementation GUIDed opcodes\r |
97b2c9b5 | 91 | # Include/Guid/MdeModuleHii.h\r |
5c526736 | 92 | gEfiIfrTianoGuid = { 0xf0b1735, 0x87a0, 0x4193, {0xb2, 0x66, 0x53, 0x8c, 0x38, 0xaf, 0x48, 0xce }}\r |
73850864 | 93 | \r |
5c526736 | 94 | ## Guid for Framework vfr GUIDed opcodes.\r |
97b2c9b5 | 95 | # Include/Guid/MdeModuleHii.h\r |
5c526736 | 96 | gEfiIfrFrameworkGuid = { 0x31ca5d1a, 0xd511, 0x4931, { 0xb7, 0x82, 0xae, 0x6b, 0x2b, 0x17, 0x8c, 0xd7 }}\r |
73850864 | 97 | \r |
f02d0c0f | 98 | ## Guid to specify the System Non Volatile FV\r |
a90ccab8 | 99 | # Include/Guid/SystemNvDataGuid.h\r |
351986ae | 100 | gEfiSystemNvDataFvGuid = { 0xFFF12B8D, 0x7696, 0x4C8B, { 0xA9, 0x85, 0x27, 0x47, 0x07, 0x5B, 0x4F, 0x50 }}\r |
73850864 | 101 | \r |
f02d0c0f | 102 | ## Guid specify the device is the console out device.\r |
a90ccab8 | 103 | # Include/Guid/ConsoleOutDevice.h\r |
351986ae | 104 | gEfiConsoleOutDeviceGuid = { 0xD3B36F2C, 0xD551, 0x11D4, { 0x9A, 0x46, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}\r |
f02d0c0f LG |
105 | \r |
106 | ## Guid specify the device is the console in device.\r | |
a90ccab8 | 107 | # Include/Guid/ConsoleInDevice.h\r |
351986ae | 108 | gEfiConsoleInDeviceGuid = { 0xD3B36F2B, 0xD551, 0x11D4, { 0x9A, 0x46, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}\r |
73850864 | 109 | \r |
f02d0c0f | 110 | ## Hob and Variable guid specify the platform memory type information.\r |
a90ccab8 | 111 | # Include/Guid/MemoryTypeInformation.h\r |
351986ae | 112 | gEfiMemoryTypeInformationGuid = { 0x4C19049F, 0x4137, 0x4DD3, { 0x9C, 0x10, 0x8B, 0x97, 0xA8, 0x3F, 0xFD, 0xFA }}\r |
73850864 | 113 | \r |
f02d0c0f | 114 | ## Capsule update hob and variable guid\r |
a90ccab8 | 115 | # Include/Guid/CapsuleVendor.h\r |
351986ae | 116 | gEfiCapsuleVendorGuid = { 0x711C703F, 0xC285, 0x4B10, { 0xA3, 0xB0, 0x36, 0xEC, 0xBD, 0x3C, 0x8B, 0xE2 }}\r |
73850864 | 117 | \r |
f02d0c0f | 118 | ## Guid specifiy the device is the StdErr device.\r |
a90ccab8 | 119 | # Include/Guid/StandardErrorDevice.h\r |
88f20127 | 120 | gEfiStandardErrorDeviceGuid = { 0xD3B36F2D, 0xD551, 0x11D4, { 0x9A, 0x46, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}\r |
73850864 | 121 | \r |
3709c4cd | 122 | ## Guid acted as variable store header's signature and to specify the variable list entries put in the EFI system table.\r |
a90ccab8 | 123 | # Include/Guid/VariableFormat.h\r |
3709c4cd | 124 | gEfiVariableGuid = { 0xddcf3616, 0x3275, 0x4164, { 0x98, 0xb6, 0xfe, 0x85, 0x70, 0x7f, 0xfe, 0x7d }}\r |
73850864 | 125 | \r |
2db4a77e | 126 | ## Performance protocol guid that also acts as the performance HOB guid and performance variable GUID\r |
a90ccab8 | 127 | # Include/Guid/Performance.h\r |
2db4a77e | 128 | gPerformanceProtocolGuid = { 0x76B6BDFA, 0x2ACD, 0x4462, { 0x9E, 0x3F, 0xCB, 0x58, 0xC9, 0x69, 0xD9, 0x37 }}\r |
1df7a023 | 129 | \r |
76f1dde2 | 130 | ## Guid is defined for CRC32 encapsulation scheme.\r |
a90ccab8 | 131 | # Include/Guid/Crc32GuidedSectionExtraction.h\r |
76f1dde2 LG |
132 | gEfiCrc32GuidedSectionExtractionGuid = { 0xFC1BCDB0, 0x7D31, 0x49aa, {0x93, 0x6A, 0xA4, 0x60, 0x0D, 0x9D, 0xD0, 0x83 } }\r |
133 | \r | |
63886849 | 134 | ## Include/Guid/NicIp4ConfigNvData.h\r |
135 | gEfiNicIp4ConfigVariableGuid = {0xd8944553, 0xc4dd, 0x41f4, { 0x9b, 0x30, 0xe1, 0x39, 0x7c, 0xfb, 0x26, 0x7b }}\r | |
25126a05 | 136 | \r |
137 | ## Include/Guid/StatusCodeCallbackGuid.h\r | |
138 | gStatusCodeCallbackGuid = {0xe701458c, 0x4900, 0x4ca5, {0xb7, 0x72, 0x3d, 0x37, 0x94, 0x9f, 0x79, 0x27}}\r | |
63886849 | 139 | \r |
10c5d87e | 140 | ## GUID identifies status code records HOB that originate from the PEI status code\r |
141 | # Include/Guid/MemoryStatusCodeRecord.h\r | |
142 | gMemoryStatusCodeRecordGuid = { 0x060CC026, 0x4C0D, 0x4DDA, { 0x8F, 0x41, 0x59, 0x5F, 0xEF, 0x00, 0xA5, 0x02 }}\r | |
143 | \r | |
144 | ## GUID used to pass DEBUG() macro information through the Status Code Protocol and Status Code PPI\r | |
145 | # Include/Guid/StatusCodeDataTypeDebug.h\r | |
146 | gEfiStatusCodeDataTypeDebugGuid = { 0x9A4E9246, 0xD553, 0x11D5, { 0x87, 0xE2, 0x00, 0x06, 0x29, 0x45, 0xC3, 0xB9 }}\r | |
147 | \r | |
54ea99a7 | 148 | ## A configuration Table Guid for Load module at fixed address \r |
149 | # Include/Guid/LoadModuleAtFixedAddress.h\r | |
150 | gLoadFixedAddressConfigurationTableGuid = { 0x2CA88B53,0xD296,0x4080, { 0xA4,0xA5,0xCA,0xD9,0xBA,0xE2,0x4B,0x9 } }\r | |
151 | \r | |
6bfbb5f0 | 152 | [Protocols]\r |
023c0fec | 153 | ## Load File protocol provides capability to load and unload EFI image into memory and execute it.\r |
a90ccab8 LG |
154 | # Include/Protocol/LoadPe32Image.h\r |
155 | # This protocol is deprecated. Native EDKII module should NOT use this protocol to load/unload image.\r | |
156 | # If developer need implement such functionality, they should use BasePeCoffLib.\r | |
023c0fec | 157 | gEfiLoadPeImageProtocolGuid = { 0x5CB5C776, 0x60D5, 0x45EE, { 0x88, 0x3C, 0x45, 0x27, 0x08, 0xCD, 0x74, 0x3F }}\r |
73850864 | 158 | \r |
504dcb0a | 159 | ## Print protocol defines basic print functions to print the format unicode and ascii string.\r |
a90ccab8 | 160 | # Include/Protocol/Print2.h\r |
504dcb0a | 161 | gEfiPrint2ProtocolGuid = { 0xf05976ef, 0x83f1, 0x4f3d, { 0x86, 0x19, 0xf7, 0x59, 0x5d, 0x41, 0xe5, 0x38 } }\r |
2dd4c603 | 162 | \r |
346cf9ac | 163 | ## This protocol defines the generic memory test interfaces in Dxe phase.\r |
a90ccab8 | 164 | # Include/Protocol/GenericMemoryTest.h\r |
351986ae | 165 | gEfiGenericMemTestProtocolGuid = { 0x309DE7F1, 0x7F5E, 0x4ACE, { 0xB4, 0x9C, 0x53, 0x1B, 0xE5, 0xAA, 0x95, 0xEF }}\r |
73850864 | 166 | \r |
55e4e173 | 167 | ## Include/Protocol/Dpc.h\r |
36ee91ca | 168 | gEfiDpcProtocolGuid = {0x480f8ae9, 0xc46, 0x4aa9, { 0xbc, 0x89, 0xdb, 0x9f, 0xba, 0x61, 0x98, 0x6 }}\r |
73850864 | 169 | \r |
85e923a5 LG |
170 | ## Fault Tolerant Write protocol provides boot-time service to do fault tolerant write capability for block devices.\r |
171 | # Include/Protocol/FaultTolerantWrite.h\r | |
172 | gEfiFaultTolerantWriteProtocolGuid = { 0x3EBD9E82, 0x2C78, 0x4DE6, { 0x97, 0x86, 0x8D, 0x4B, 0xFC, 0xB7, 0xC8, 0x81 }}\r | |
73850864 | 173 | \r |
8a2d4996 | 174 | ## This protocol provides boot-time service to do fault tolerant write capability for block devices in SMM environment.\r |
175 | # Include/Protocol/SmmFaultTolerantWrite.h\r | |
176 | gEfiSmmFaultTolerantWriteProtocolGuid = { 0x3868fc3b, 0x7e45, 0x43a7, { 0x90, 0x6c, 0x4b, 0xa4, 0x7d, 0xe1, 0x75, 0x4d }}\r | |
177 | \r | |
85e923a5 LG |
178 | ## This protocol is used to abstract the swap operation of boot block and backup block of boot FV.\r |
179 | # Include/Protocol/SwapAddressRange.h\r | |
180 | gEfiSwapAddressRangeProtocolGuid = { 0x1259F60D, 0xB754, 0x468E, { 0xA7, 0x89, 0x4D, 0xB8, 0x5D, 0x55, 0xE8, 0x7E }}\r | |
8a2d4996 | 181 | \r |
182 | ## This protocol is used to abstract the swap operation of boot block and backup block of boot FV in SMM environment.\r | |
183 | # Include/Protocol/SmmSwapAddressRange.h\r | |
184 | gEfiSmmSwapAddressRangeProtocolGuid = { 0x67c4f112, 0x3385, 0x4e55, { 0x9c, 0x5b, 0xc0, 0x5b, 0x71, 0x7c, 0x42, 0x28 }}\r | |
185 | \r | |
186 | ## This protocol is intended for use as a means to store data in the EFI SMM environment.\r | |
187 | # Include/Protocol/SmmVariableProtocol.h\r | |
188 | gEfiSmmVariableProtocolGuid = { 0xed32d533, 0x99e6, 0x4209, { 0x9c, 0xc0, 0x2d, 0x72, 0xcd, 0xd9, 0x98, 0xa7 }}\r | |
189 | \r | |
190 | ## This protocol is similar with DXE FVB protocol and used in the UEFI SMM evvironment.\r | |
191 | # Include/Protocol/SmmFirmwareVolumeBlock.h\r | |
192 | gEfiSmmFirmwareVolumeBlockProtocolGuid = { 0xd326d041, 0xbd31, 0x4c01, { 0xb5, 0xa8, 0x62, 0x8b, 0xe8, 0x7f, 0x6, 0x53 }}\r | |
73850864 | 193 | \r |
a86ae184 | 194 | [PcdsFeatureFlag]\r |
f02d0c0f | 195 | ## Indicate whether platform can support update capsule across a system reset\r |
109e9a61 | 196 | gEfiMdeModulePkgTokenSpaceGuid.PcdSupportUpdateCapsuleReset|FALSE|BOOLEAN|0x0001001d\r |
73850864 | 197 | \r |
f806dd27 | 198 | ## This feature flag can be used to enable or disable all PCD PEIM services.\r |
aa19fa57 | 199 | # If TRUE, all PCD PPI services will be produced.\r |
a90ccab8 | 200 | # If FALSE, the minimal PCD PEIM services (only GetService) will be produced.\r |
f806dd27 LG |
201 | gEfiMdeModulePkgTokenSpaceGuid.PcdPeiFullPcdDatabaseEnable|TRUE|BOOLEAN|0x00010020\r |
202 | \r | |
f02d0c0f LG |
203 | ## If TRUE, then the Device Path To Text Protocol should be produced by the platform.\r |
204 | # It can be disabled to save size.\r | |
348c8131 | 205 | gEfiMdeModulePkgTokenSpaceGuid.PcdDevicePathSupportDevicePathToText|TRUE|BOOLEAN|0x00010037\r |
73850864 | 206 | \r |
f02d0c0f LG |
207 | ## If TRUE, then the Device Path From Text Protocol should be produced by the platform.\r |
208 | # It can be disabled to save size.\r | |
348c8131 | 209 | gEfiMdeModulePkgTokenSpaceGuid.PcdDevicePathSupportDevicePathFromText|TRUE|BOOLEAN|0x00010038\r |
73850864 | 210 | \r |
fc9da5a6 | 211 | ## If TRUE, enable the statistic functionality about variable usage. Such information is\r |
212 | # stored as a vendor configuration table into the EFI system table.\r | |
5e895e6a | 213 | # If user wants to use VariableInfo application in MdeModulePkg\Application directory to get\r |
73850864 | 214 | # variable usage info, this pcd should be set as TRUE. Otherwise VariableInfo application can\r |
5e895e6a | 215 | # not output useful info.\r |
33a5a666 | 216 | gEfiMdeModulePkgTokenSpaceGuid.PcdVariableCollectStatistics|FALSE|BOOLEAN|0x0001003f\r |
73850864 | 217 | \r |
f02d0c0f | 218 | ## If TRUE, Unicode Collation Protocol will be installed.\r |
ac12a167 | 219 | gEfiMdeModulePkgTokenSpaceGuid.PcdUnicodeCollationSupport|TRUE|BOOLEAN|0x00010040\r |
73850864 | 220 | \r |
f02d0c0f | 221 | ## If TRUE, Unicode Collation 2 Protocol will be installed.\r |
ac12a167 | 222 | gEfiMdeModulePkgTokenSpaceGuid.PcdUnicodeCollation2Support|TRUE|BOOLEAN|0x00010041\r |
73850864 | 223 | \r |
cebfa899 | 224 | ## If TRUE, Graphics Output Protocol will be installed on virtual handle created by ConsplitterDxe.\r |
225 | # It could be set FALSE to save size.\r | |
d0c64728 | 226 | gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE|BOOLEAN|0x00010042\r |
73850864 | 227 | \r |
cebfa899 | 228 | ## If TRUE, UGA Draw Protocol will be installed on virtual handle created by ConsplitterDxe.\r |
229 | # It could be set FALSE to save size.\r | |
d0c64728 | 230 | gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|TRUE|BOOLEAN|0x00010043\r |
73850864 | 231 | \r |
aa19fa57 LG |
232 | ## If TRUE, when PeiCore dispatches a PEI module, PeiCore will first search TE section from this PEIM to load the image.\r |
233 | # If TE section is not found, then PeiCore will search PE section.\r | |
234 | # If FALSE, PeiCore will first search PE section from PEIM to load the image.\r | |
235 | # This PCD is used to tune Pei phase performance to reduce the search image time.\r | |
236 | # It can be set according to the generated image section type.\r | |
3076397e | 237 | gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreImageLoaderSearchTeSectionFirst|TRUE|BOOLEAN|0x00010044\r |
73850864 | 238 | \r |
fc9da5a6 | 239 | ## If TRUE, force to switch off the support of legacy usb. So legacy usb device driver can not make use of SMI\r |
c39c3e21 RN |
240 | # interrupt to access usb device in the case of absence of usb stack. \r |
241 | # DUET platform requires the token to be TRUE.\r | |
cc582cff | 242 | gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|FALSE|BOOLEAN|0x00010047\r |
8a2d4996 | 243 | \r |
244 | ## If TRUE, the variable services are provided in DXE_SMM. The SMM driver can use SMM variable protocol \r | |
245 | # to access variable. Otherwise the variable services are provided in DXE_RUNTIME.\r | |
246 | gEfiMdeModulePkgTokenSpaceGuid.PcdSmmVariableEnable|TRUE|BOOLEAN|0x00010048\r | |
aa103f48 | 247 | \r |
f02d0c0f LG |
248 | ## If TRUE, HiiImageProtocol will be installed.\r |
249 | # FALSE is for size reduction.\r | |
813acf3a | 250 | gEfiMdeModulePkgTokenSpaceGuid.PcdSupportHiiImageProtocol|TRUE|BOOLEAN|0x00010100\r |
73850864 | 251 | \r |
a8e1ed54 | 252 | ## If TRUE, USB KeyBoard Driver disables the default keyboard layout.\r |
253 | # The default keyboard layout serves as the backup when no keyboard layout can be retrieved\r | |
254 | # from HII database.\r | |
813acf3a | 255 | gEfiMdeModulePkgTokenSpaceGuid.PcdDisableDefaultKeyboardLayoutInUsbKbDriver|FALSE|BOOLEAN|0x00010200\r |
88f20127 | 256 | \r |
73850864 | 257 | ## If TRUE, Setup Browser supports GUID opcodes generated from Framework HII VFR file by VFR compiler.\r |
f806dd27 | 258 | # If TRUE, the PeiCore will handle the framework FvHob and install FvInfo PPI for it.\r |
a90ccab8 | 259 | # This is used to provide backward compatibility support to Framework HII and Framework FvHob.\r |
f806dd27 | 260 | gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport|FALSE|BOOLEAN|0x00012009\r |
73850864 | 261 | \r |
a90ccab8 | 262 | ## If TRUE, HelloWorld Application will print the verbose information.\r |
223c22d8 | 263 | # This PCD is a sample to explain FeatureFlag PCD usage.\r |
223c22d8 | 264 | gEfiMdeModulePkgTokenSpaceGuid.PcdHelloWorldPrintEnable|TRUE|BOOLEAN|0x0001200a\r |
41ad45c2 | 265 | \r |
a90ccab8 | 266 | ## If TRUE, FULL FTW protocol services (total six APIs) will be produced.\r |
85e923a5 | 267 | # If FASLE, only FTW Write service is available.\r |
72670d3e | 268 | gEfiMdeModulePkgTokenSpaceGuid.PcdFullFtwServiceEnable|TRUE|BOOLEAN|0x0001200b\r |
269 | \r | |
a90ccab8 | 270 | ## If TRUE, DXE IPL must support the UEFI decompression algorithm.\r |
72670d3e | 271 | # If FALSE, DXE IPL will not support UEFI decompression to save space.\r |
272 | gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportUefiDecompress|TRUE|BOOLEAN|0x0001200c\r | |
85e923a5 | 273 | \r |
9060e3ec | 274 | ## This PCD specifies whether PciBus supports the hot plug device.\r |
275 | gEfiMdeModulePkgTokenSpaceGuid.PcdPciBusHotplugDeviceSupport|TRUE|BOOLEAN|0x0001003d\r | |
276 | \r | |
1ef26783 | 277 | ## This PCD specifies whether the PCI bus driver probes non-standard, \r |
278 | # such as 2K/1K/512, granularity for PCI to PCI bridge I/O window.\r | |
b3ec9b56 | 279 | gEfiMdeModulePkgTokenSpaceGuid.PcdPciBridgeIoAlignmentProbe|FALSE|BOOLEAN|0x0001004e\r |
10c5d87e | 280 | ## This PCD specifies whether StatusCode is reported via Serial port.\r |
281 | gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|TRUE|BOOLEAN|0x00010022\r | |
282 | \r | |
283 | ## This PCD specifies whether StatusCode is stored in memory.\r | |
284 | # The memory is boot time memory in PEI Phase and is runtime memory in DXE Phase.\r | |
285 | gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory|FALSE|BOOLEAN|0x00010023\r | |
286 | \r | |
287 | ## This PCD specifies whether Peiphase StatusCode is replayed in DxePhase.\r | |
288 | gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeReplayIn|FALSE|BOOLEAN|0x0001002d\r | |
9060e3ec | 289 | \r |
3dc8585e JY |
290 | ## This PCD specified whether ACPI SDT protocol is installed.\r |
291 | gEfiMdeModulePkgTokenSpaceGuid.PcdInstallAcpiSdtProtocol|FALSE|BOOLEAN|0x0001004d\r | |
292 | \r | |
aeeb84ba | 293 | ## If TRUE, then unaligned I/O, MMIO, and PCI Configuration cycles through the PCI I/O Protocol are enabled.\r |
294 | # If FALSE, then unaligned I/O, MMIO, and PCI Configuration cycles through the PCI I/O Protocol are disabled.\r | |
295 | # The default value for this PCD is to disable support for unaligned PCI I/O Protocol requests.\r | |
296 | gEfiMdeModulePkgTokenSpaceGuid.PcdUnalignedPciIoEnable|FALSE|BOOLEAN|0x0001003e\r | |
297 | \r | |
5d2311be | 298 | [PcdsFeatureFlag.IA32, PcdsFeatureFlag.X64]\r |
73850864 | 299 | ##\r |
4e17cc90 | 300 | # This feature flag specifies whether DxeIpl switches to long mode to enter DXE phase.\r |
301 | # If it is TRUE, DxeIpl will load a 64-bit DxeCore and switch to long mode to hand over to DxeCore;\r | |
302 | # otherwise, DxeIpl will load a 32-bit DxeCore and perform stack switch to hand over to DxeCore.\r | |
303 | # It is assumed that 64-bit DxeCore is built in firmware if it is true; otherwise 32-bit DxeCore\r | |
304 | # is built in firmware.\r | |
305 | #\r | |
306 | gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode|TRUE|BOOLEAN|0x0001003b\r | |
307 | \r | |
a86ae184 | 308 | [PcdsFixedAtBuild]\r |
1cedc893 | 309 | ## Dynamic type PCD can be registered callback function for Pcd setting action.\r |
310 | # PcdMaxPeiPcdCallBackNumberPerPcdEntry indicate maximum number of callback function\r | |
311 | # for a dynamic PCD used in PEI phase.\r | |
b3af5df6 | 312 | gEfiMdeModulePkgTokenSpaceGuid.PcdMaxPeiPcdCallBackNumberPerPcdEntry|0x08|UINT32|0x0001000f\r |
9dddc0ff | 313 | \r |
1cedc893 | 314 | ## VPD type PCD allow developer point an absoluted physical address PcdVpdBaseAddress\r |
73850864 | 315 | # to store PCD value.\r |
1cedc893 | 316 | #\r |
b3af5df6 | 317 | gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress|0x0|UINT32|0x00010010\r |
73850864 | 318 | \r |
1cedc893 | 319 | ## Maximum number of FV is supported by PeiCore's dispatching.\r |
177aabe6 | 320 | gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxFvSupported|6|UINT32|0x00010030\r |
f02d0c0f | 321 | \r |
1cedc893 | 322 | ## Maximum PEIM count in every FV is supported by PeiCore's dispatching.\r |
177aabe6 | 323 | gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxPeimPerFv|32|UINT32|0x00010031\r |
f02d0c0f | 324 | \r |
1cedc893 | 325 | ## Maximum stack size for PeiCore.\r |
58dcdada | 326 | gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxPeiStackSize|0x20000|UINT32|0x00010032\r |
f02d0c0f | 327 | \r |
1cedc893 | 328 | ## Maximum PPI count is supported by PeiCore's PPI database.\r |
eaf539d0 | 329 | gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxPpiSupported|64|UINT32|0x00010033\r |
73850864 | 330 | \r |
2fcdca1d | 331 | ## Size of the NV variable range. Note that this value should less than or equal to PcdFlashNvStorageFtwSpareSize\r |
a90ccab8 LG |
332 | # The root cause is that variable driver will use FTW protocol to reclaim variable region.\r |
333 | # If the length of variable region is larger than FTW spare size, it means the whole variable region can not\r | |
334 | # be reflushed through the manner of fault tolerant write.\r | |
b3af5df6 | 335 | gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize|0x0|UINT32|0x30000002\r |
73850864 | 336 | \r |
2fcdca1d | 337 | ## The maximum size of single common variable, that is non-HwErr type varible.\r |
518d395c | 338 | gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x400|UINT32|0x30000003\r |
73850864 | 339 | \r |
2fcdca1d | 340 | ## The maximum size of single hardware error record variable.\r |
341 | # In IA32/X64 platforms, this value should be larger than 1KB.\r | |
342 | # In IA64 platforms, this value should be larger than 128KB.\r | |
518d395c | 343 | gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize|0x8000|UINT32|0x30000004\r |
73850864 | 344 | \r |
48cd992a | 345 | ## The size of reserved HwErr variable space. Note that this value must be less than or equal to PcdFlashNvStorageVariableSize\r |
346 | # In EdkII implementation, HwErr type variable is stored with common non-volatile variables in the same NV region.\r | |
347 | # so the platform integrator should ensure this value is less than or equal to PcdFlashNvStorageVariableSize.\r | |
2fcdca1d | 348 | # this value is used to guarantee the space of HwErr type variable and not populated by common variable.\r |
48cd992a | 349 | gEfiMdeModulePkgTokenSpaceGuid.PcdHwErrStorageSize|0x0000|UINT32|0x30000006\r |
2fcdca1d | 350 | \r |
351 | ## The size of volatile buffer. This buffer is used to store VOLATILE attribute variable.\r | |
518d395c | 352 | gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0x10000|UINT32|0x30000005\r |
2fcdca1d | 353 | \r |
354 | ## Size of the FTW spare block range. Note that this value should larger than PcdFlashNvStorageVariableSize\r | |
355 | # The root cause is that variable driver will use FTW protocol to reclaim variable region.\r | |
356 | # If the length of variable region is larger than FTW spare size, it means the whole variable region can not\r | |
357 | # be reflushed through the manner of fault tolerant write.\r | |
b3af5df6 | 358 | gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize|0x0|UINT32|0x30000014\r |
73850864 | 359 | \r |
f02d0c0f | 360 | ## Size of the FTW working block range.\r |
b3af5df6 | 361 | gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize|0x0|UINT32|0x30000011\r |
3c506ddd | 362 | \r |
363 | ## FFS filename to find the ACPI tables\r | |
364 | gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiTableStorageFile|{ 0x25, 0x4e, 0x37, 0x7e, 0x01, 0x8e, 0xee, 0x4f, 0x87, 0xf2, 0x39, 0xc, 0x23, 0xc6, 0x6, 0xcd }|VOID*|16\r | |
365 | \r | |
9060e3ec | 366 | ## Single root I/O virtualization virtual function memory BAR alignment\r |
367 | # BITN set indicates 2 of n+12 power\r | |
368 | # BIT0 set indicates 4KB alignment\r | |
369 | # BIT1 set indicates 8KB alignment\r | |
370 | gEfiMdeModulePkgTokenSpaceGuid.PcdSrIovSystemPageSize|0x1|UINT32|0x10000047\r | |
9f7d5b46 | 371 | \r |
54ea99a7 | 372 | ## Flag of enabling/disabling the feature of Loading Module at Fixed Address \r |
373 | # -1: Enable the feature as fixed offset to TOLM\r | |
374 | # 0: Disable the feature.\r | |
375 | # Positive Value: Enable the feature as fixed absolute address, and the value is the top memory address \r | |
376 | gEfiMdeModulePkgTokenSpaceGuid.PcdLoadModuleAtFixAddressEnable|0|UINT64|0x30001015\r | |
377 | \r | |
9f7d5b46 | 378 | ## Smbios version\r |
379 | gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0206|UINT16|0x00010055\r | |
9060e3ec | 380 | \r |
cfbc1a75 | 381 | ## TFTP BlockSize. Initial value 0 means using default block size which is (MTU-IP_HEADER-UDP_HEADER-TFTP_HEADER)\r |
382 | # to handle all link layers. If the value is non zero, the PCD value will be used as block size.\r | |
383 | #\r | |
384 | gEfiMdeModulePkgTokenSpaceGuid.PcdTftpBlockSize|0x0|UINT64|0x30001026\r | |
385 | \r | |
a86ae184 | 386 | [PcdsFixedAtBuild,PcdsPatchableInModule]\r |
f02d0c0f | 387 | ## Maximun number of performance log entries during PEI phase.\r |
348c8131 | 388 | gEfiMdeModulePkgTokenSpaceGuid.PcdMaxPeiPerformanceLogEntries|40|UINT8|0x0001002f\r |
4e17cc90 | 389 | \r |
390 | ## RTC Update Timeout Value\r | |
391 | gEfiMdeModulePkgTokenSpaceGuid.PcdRealTimeClockUpdateTimeout|100000|UINT32|0x00010034\r | |
73850864 | 392 | \r |
6eea8eae LG |
393 | ## Maximum address that the DXE Core will allocate the EFI_SYSTEM_TABLE_POINTER\r |
394 | # structure. The default value for this PCD is 0, which means that the DXE Core\r | |
395 | # will allocate the buffer from the EFI_SYSTEM_TABLE_POINTER structure on a 4MB\r | |
396 | # boundary as close to the top of memory as feasible. If this PCD is set to a \r | |
397 | # value other than 0, then the DXE Core will first attempt to allocate the \r | |
398 | # EFI_SYSTEM_TABLE_POINTER structure on a 4MB boundary below the address specified\r | |
399 | # by this PCD, and if that allocation fails, retry the allocation on a 4MB\r | |
400 | # boundary as close to the top of memory as feasible.\r | |
401 | #\r | |
402 | gEfiMdeModulePkgTokenSpaceGuid.PcdMaxEfiSystemTablePointerAddress|0x0|UINT64|0x30001027\r | |
403 | \r | |
a86ae184 | 404 | [PcdsPatchableInModule,PcdsDynamic]\r |
a90ccab8 | 405 | ## This PCD defines the Console output column and the default value is 25 according to UEFI spec\r |
4bfa7dc4 | 406 | gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow|25|UINT32|0x40000006\r |
73850864 | 407 | \r |
a90ccab8 | 408 | ## This PCD defines the Console output row and the default value is 80 according to UEFI spec\r |
4e17cc90 | 409 | gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn|80|UINT32|0x40000007\r |
73850864 | 410 | \r |
a86ae184 | 411 | [PcdsFixedAtBuild,PcdsDynamic]\r |
73850864 | 412 | ## Base address of the NV variable range in flash device\r |
a86ae184 | 413 | gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|0x0|UINT32|0x30000001\r |
73850864 | 414 | \r |
a86ae184 | 415 | ## Base address of the FTW spare block range in flash device.\r |
73850864 | 416 | gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0x0|UINT32|0x30000013\r |
417 | \r | |
a86ae184 | 418 | ## Base address of the FTW working block range in flash device.\r |
73850864 | 419 | gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0x0|UINT32|0x30000010\r |
420 | \r | |
92a4f6f3 | 421 | ## 64-bit Base address of the NV variable range in flash device\r |
422 | gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0x0|UINT64|0x80000001\r | |
423 | \r | |
424 | ## 64-bit Base address of the FTW spare block range in flash device.\r | |
425 | gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64|0x0|UINT64|0x80000013\r | |
426 | \r | |
427 | ## 64-bit Base address of the FTW working block range in flash device.\r | |
428 | gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0x0|UINT64|0x80000010\r | |
429 | \r | |
a90ccab8 | 430 | ## This PCD defines the print string.\r |
4e17cc90 | 431 | # This PCD is a sample to explain String typed PCD usage.\r |
73850864 | 432 | gEfiMdeModulePkgTokenSpaceGuid.PcdHelloWorldPrintString|L"UEFI Hello World!\n"|VOID*|0x40000004\r |
433 | \r | |
02328a57 | 434 | ## This PCD defines a reserved memory range for the EMU Variable driver's NV Variable Store\r |
435 | # The range is valid if non-zero. The memory range size must be PcdVariableStoreSize.\r | |
436 | gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0|UINT64|0x40000008\r | |
437 | \r | |
099f2b18 | 438 | ## This PCD specifies whether the Single Root I/O virtualization support.\r |
439 | gEfiMdeModulePkgTokenSpaceGuid.PcdSrIovSupport|TRUE|BOOLEAN|0x10000044\r | |
440 | \r | |
441 | ## This PCD specifies whether the Alternative Routing-ID support.\r | |
442 | gEfiMdeModulePkgTokenSpaceGuid.PcdAriSupport|TRUE|BOOLEAN|0x10000045\r | |
443 | \r | |
444 | ## This PCD specifies whether the Multi Root I/O virtualization support.\r | |
445 | gEfiMdeModulePkgTokenSpaceGuid.PcdMrIovSupport|FALSE|BOOLEAN|0x10000046\r | |
446 | \r | |
4e17cc90 | 447 | [PcdsFixedAtBuild,PcdsPatchableInModule,PcdsDynamic]\r |
a90ccab8 | 448 | ## This PCD defines the times to print hello world string.\r |
4e17cc90 | 449 | # This PCD is a sample to explain FixedAtBuild UINT32 PCD usage.\r |
4e17cc90 | 450 | gEfiMdeModulePkgTokenSpaceGuid.PcdHelloWorldPrintTimes|1|UINT32|0x40000005\r |
b7d286b6 | 451 | \r |
0ef42f88 | 452 | ## Indicate the max size of the capsule image with reset flag that the platform can support.\r |
73850864 | 453 | # The default max size is 100MB (0x6400000) for more than one large capsule images.\r |
4e17cc90 | 454 | gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizePopulateCapsule|0x6400000|UINT32|0x0001001e\r |
73850864 | 455 | \r |
0ef42f88 | 456 | ## Indicate the max size of the capsule image without reset flag that the platform can support.\r |
457 | # The default max size is 10MB (0xa00000) for the casule image without reset flag setting.\r | |
4e17cc90 | 458 | gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizeNonPopulateCapsule|0xa00000|UINT32|0x0001001f\r |
6144e7af | 459 | \r |
460 | ## Null-terminated Unicode string of the firmware vendor name that is default name filled into the EFI System Table\r | |
e026f005 | 461 | gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVendor|L"EDK II"|VOID*|0x00010050\r |
73850864 | 462 | \r |
6144e7af | 463 | ## Firmware revision that is default value filled into the EFI System Table\r |
464 | gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareRevision|0x00010000|UINT32|0x00010051\r | |
465 | \r | |
466 | ## Null-terminated Unicode string that described the firmware version\r | |
73850864 | 467 | gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString|L""|VOID*|0x00010052\r |
468 | \r | |
6144e7af | 469 | ## Null-terminated Unicode string that contains the date the formware was released\r |
470 | gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareReleaseDateString|L""|VOID*|0x00010053\r | |
471 | \r | |
10c5d87e | 472 | ## PcdStatusCodeMemorySize is used when PcdStatusCodeUseMemory is set to true\r |
473 | # (PcdStatusCodeMemorySize * KBytes) is the total taken memory size.\r | |
474 | # The default value in PeiPhase is 1 KBytes.\r | |
475 | # The default value in DxePhase is 128 KBytes.\r | |
476 | gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeMemorySize|1|UINT16|0x00010054\r | |
477 | \r | |
dad63934 RN |
478 | ## This PCD specifies whether to reset system when memory type information changes.\r |
479 | gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|TRUE|BOOLEAN|0x00010056\r | |
480 | \r | |
54ea99a7 | 481 | [PcdsPatchableInModule]\r |
482 | ## Specify memory size with page number for PEI code when \r | |
483 | # the feature of Loading Module at Fixed Address is enabled\r | |
484 | gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressPeiCodePageNumber|0|UINT32|0x00000029\r | |
485 | \r | |
486 | ## Specify memory size with page number for DXE boot time code when \r | |
487 | # the feature of Loading Module at Fixed Address is enabled\r | |
488 | gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressBootTimeCodePageNumber|0|UINT32|0x0000002a\r | |
489 | \r | |
490 | ## Specify memory size with page number for DXE runtime code when \r | |
491 | # the feature of Loading Module at Fixed Address is enabled\r | |
492 | gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressRuntimeCodePageNumber|0|UINT32|0x0000002b\r | |
493 | \r | |
494 | ## Specify memory size with page number for SMM code when \r | |
495 | # the feature of Loading Module at Fixed Address is enabled\r | |
496 | gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressSmmCodePageNumber|0|UINT32|0x0000002c\r | |
497 | \r |