ResetSystemLib|Include/Library/ResetSystemLib.h\r
\r
## @libraryclass Defines a set of methods related do S3 mode.\r
+ # This library class is no longer used and modules using this library should\r
+ # directly locate EFI_PEI_S3_RESUME_PPI defined in PI 1.2 specification.\r
S3Lib|Include/Library/S3Lib.h\r
\r
## @libraryclass Defines a set of methods related recovery mode.\r
+ # This library class is no longer used and modules using this library should\r
+ # directly locate EFI_PEI_RECOVERY_MODULE_PPI defined in PI 1.2 specification.\r
RecoveryLib|Include/Library/RecoveryLib.h\r
\r
## @libraryclass Provides HII related functions.\r
DpcLib|Include/Library/DpcLib.h\r
\r
## @libraryclass Provides global variables that are pointers\r
- ## to the UEFI HII related protocols.\r
- ##\r
+ # to the UEFI HII related protocols.\r
+ #\r
UefiHiiServicesLib|Include/Library/UefiHiiServicesLib.h\r
\r
+ ## @libraryclass Provides a set of interfaces to abstract the policy of security measurement.\r
+ #\r
+ SecurityManagementLib|MdeModulePkg/Include/Library/SecurityManagementLib.h\r
+\r
+ ## @libraryclass OEM status code libary is used to report status code to OEM device.\r
+ #\r
+ OemHookStatusCodeLib|Include/Library/OemHookStatusCodeLib.h\r
+\r
[Guids.common]\r
## MdeModule package token space guid\r
- ## Include/Guid/MdeModulePkgTokenSpace.h\r
+ # Include/Guid/MdeModulePkgTokenSpace.h\r
gEfiMdeModulePkgTokenSpaceGuid = { 0xA1AFF049, 0xFDEB, 0x442a, { 0xB3, 0x20, 0x13, 0xAB, 0x4C, 0xB7, 0x2B, 0xBC }}\r
\r
## Hob guid for Pcd DataBase\r
- ## Include/Guid/PcdDataBaseHobGuid.h\r
+ # Include/Guid/PcdDataBaseHobGuid.h\r
gPcdDataBaseHobGuid = { 0xEA296D92, 0x0B69, 0x423C, { 0x8C, 0x28, 0x33, 0xB4, 0xE0, 0xA9, 0x12, 0x68 }}\r
\r
## Guid for EDKII implementation GUIDed opcodes\r
gEfiIfrFrameworkGuid = { 0x31ca5d1a, 0xd511, 0x4931, { 0xb7, 0x82, 0xae, 0x6b, 0x2b, 0x17, 0x8c, 0xd7 }}\r
\r
## Guid to specify the System Non Volatile FV\r
- ## Include/Guid/SystemNvDataGuid.h\r
+ # Include/Guid/SystemNvDataGuid.h\r
gEfiSystemNvDataFvGuid = { 0xFFF12B8D, 0x7696, 0x4C8B, { 0xA9, 0x85, 0x27, 0x47, 0x07, 0x5B, 0x4F, 0x50 }}\r
\r
## Guid specify the device is the console out device.\r
- ## Include/Guid/ConsoleOutDevice.h\r
+ # Include/Guid/ConsoleOutDevice.h\r
gEfiConsoleOutDeviceGuid = { 0xD3B36F2C, 0xD551, 0x11D4, { 0x9A, 0x46, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}\r
\r
## Guid specify the device is the console in device.\r
- ## Include/Guid/ConsoleInDevice.h\r
+ # Include/Guid/ConsoleInDevice.h\r
gEfiConsoleInDeviceGuid = { 0xD3B36F2B, 0xD551, 0x11D4, { 0x9A, 0x46, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}\r
\r
## Hob and Variable guid specify the platform memory type information.\r
- ## Include/Guid/MemoryTypeInformation.h\r
+ # Include/Guid/MemoryTypeInformation.h\r
gEfiMemoryTypeInformationGuid = { 0x4C19049F, 0x4137, 0x4DD3, { 0x9C, 0x10, 0x8B, 0x97, 0xA8, 0x3F, 0xFD, 0xFA }}\r
\r
## Capsule update hob and variable guid\r
- ## Include/Guid/CapsuleVendor.h\r
+ # Include/Guid/CapsuleVendor.h\r
gEfiCapsuleVendorGuid = { 0x711C703F, 0xC285, 0x4B10, { 0xA3, 0xB0, 0x36, 0xEC, 0xBD, 0x3C, 0x8B, 0xE2 }}\r
\r
## Guid specifiy the device is the StdErr device.\r
- ## Include/Guid/StandardErrorDevice.h\r
+ # Include/Guid/StandardErrorDevice.h\r
gEfiStandardErrorDeviceGuid = { 0xD3B36F2D, 0xD551, 0x11D4, { 0x9A, 0x46, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}\r
\r
## Guid acted as variable store header's signature and to specify the variable list entries put in the EFI system table.\r
- ## Include/Guid/VariableFormat.h\r
+ # Include/Guid/VariableFormat.h\r
gEfiVariableGuid = { 0xddcf3616, 0x3275, 0x4164, { 0x98, 0xb6, 0xfe, 0x85, 0x70, 0x7f, 0xfe, 0x7d }}\r
\r
## Performance protocol guid that also acts as the performance HOB guid and performance variable GUID\r
- ## Include/Guid/Performance.h\r
+ # Include/Guid/Performance.h\r
gPerformanceProtocolGuid = { 0x76B6BDFA, 0x2ACD, 0x4462, { 0x9E, 0x3F, 0xCB, 0x58, 0xC9, 0x69, 0xD9, 0x37 }}\r
\r
## Guid is defined for CRC32 encapsulation scheme.\r
- ## Include/Guid/Crc32GuidedSectionExtraction.h\r
+ # Include/Guid/Crc32GuidedSectionExtraction.h\r
gEfiCrc32GuidedSectionExtractionGuid = { 0xFC1BCDB0, 0x7D31, 0x49aa, {0x93, 0x6A, 0xA4, 0x60, 0x0D, 0x9D, 0xD0, 0x83 } }\r
\r
## Include/Guid/NicIp4ConfigNvData.h\r
gEfiNicIp4ConfigVariableGuid = {0xd8944553, 0xc4dd, 0x41f4, { 0x9b, 0x30, 0xe1, 0x39, 0x7c, 0xfb, 0x26, 0x7b }}\r
\r
+ ## Include/Guid/StatusCodeCallbackGuid.h\r
+ gStatusCodeCallbackGuid = {0xe701458c, 0x4900, 0x4ca5, {0xb7, 0x72, 0x3d, 0x37, 0x94, 0x9f, 0x79, 0x27}}\r
+\r
+ ## GUID identifies status code records HOB that originate from the PEI status code\r
+ # Include/Guid/MemoryStatusCodeRecord.h\r
+ gMemoryStatusCodeRecordGuid = { 0x060CC026, 0x4C0D, 0x4DDA, { 0x8F, 0x41, 0x59, 0x5F, 0xEF, 0x00, 0xA5, 0x02 }}\r
+\r
+ ## GUID used to pass DEBUG() macro information through the Status Code Protocol and Status Code PPI\r
+ # Include/Guid/StatusCodeDataTypeDebug.h\r
+ gEfiStatusCodeDataTypeDebugGuid = { 0x9A4E9246, 0xD553, 0x11D5, { 0x87, 0xE2, 0x00, 0x06, 0x29, 0x45, 0xC3, 0xB9 }}\r
+\r
[Protocols.common]\r
## Load File protocol provides capability to load and unload EFI image into memory and execute it.\r
- ## Include/Protocol/LoadPe32Image.h\r
- ## This protocol is deprecated. Native EDKII module should NOT use this protocol to load/unload image.\r
- ## If developer need implement such functionality, they should use BasePeCoffLib.\r
+ # Include/Protocol/LoadPe32Image.h\r
+ # This protocol is deprecated. Native EDKII module should NOT use this protocol to load/unload image.\r
+ # If developer need implement such functionality, they should use BasePeCoffLib.\r
gEfiLoadPeImageProtocolGuid = { 0x5CB5C776, 0x60D5, 0x45EE, { 0x88, 0x3C, 0x45, 0x27, 0x08, 0xCD, 0x74, 0x3F }}\r
\r
## Print protocol defines basic print functions to print the format unicode and ascii string.\r
- ## Include/Protocol/Print2.h\r
+ # Include/Protocol/Print2.h\r
gEfiPrint2ProtocolGuid = { 0xf05976ef, 0x83f1, 0x4f3d, { 0x86, 0x19, 0xf7, 0x59, 0x5d, 0x41, 0xe5, 0x38 } }\r
\r
## This protocol defines the generic memory test interfaces in Dxe phase.\r
- ## Include/Protocol/GenericMemoryTest.h\r
+ # Include/Protocol/GenericMemoryTest.h\r
gEfiGenericMemTestProtocolGuid = { 0x309DE7F1, 0x7F5E, 0x4ACE, { 0xB4, 0x9C, 0x53, 0x1B, 0xE5, 0xAA, 0x95, 0xEF }}\r
\r
## Include/Protocol/Dpc.h\r
\r
## This feature flag can be used to enable or disable all PCD PEIM services.\r
# If TRUE, all PCD PPI services will be produced.\r
- ## If FALSE, the minimal PCD PEIM services (only GetService) will be produced.\r
+ # If FALSE, the minimal PCD PEIM services (only GetService) will be produced.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdPeiFullPcdDatabaseEnable|TRUE|BOOLEAN|0x00010020\r
\r
## If TRUE, then the Device Path To Text Protocol should be produced by the platform.\r
\r
## If TRUE, force to switch off the support of legacy usb. So legacy usb device driver can not make use of SMI\r
# interrupt to access usb device in the case of absence of usb stack.\r
- ##\r
gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|FALSE|BOOLEAN|0x00010047\r
\r
## If TRUE, HiiImageProtocol will be installed.\r
\r
## If TRUE, Setup Browser supports GUID opcodes generated from Framework HII VFR file by VFR compiler.\r
# If TRUE, the PeiCore will handle the framework FvHob and install FvInfo PPI for it.\r
- ## This is used to provide backward compatibility support to Framework HII and Framework FvHob.\r
+ # This is used to provide backward compatibility support to Framework HII and Framework FvHob.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport|FALSE|BOOLEAN|0x00012009\r
\r
- ##\r
- # If TRUE, HelloWorld Application will print the verbose information.\r
+ ## If TRUE, HelloWorld Application will print the verbose information.\r
# This PCD is a sample to explain FeatureFlag PCD usage.\r
- ##\r
gEfiMdeModulePkgTokenSpaceGuid.PcdHelloWorldPrintEnable|TRUE|BOOLEAN|0x0001200a\r
\r
- ##\r
- # If TRUE, FULL FTW protocol services (total six APIs) will be produced.\r
+ ## If TRUE, FULL FTW protocol services (total six APIs) will be produced.\r
# If FASLE, only FTW Write service is available.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdFullFtwServiceEnable|TRUE|BOOLEAN|0x0001200b\r
\r
- ##\r
- # If TRUE, DXE IPL must support the UEFI decompression algorithm.\r
+ ## If TRUE, DXE IPL must support the UEFI decompression algorithm.\r
# If FALSE, DXE IPL will not support UEFI decompression to save space.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportUefiDecompress|TRUE|BOOLEAN|0x0001200c\r
\r
+ ## This PCD specifies whether PciBus supports the hot plug device.\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdPciBusHotplugDeviceSupport|TRUE|BOOLEAN|0x0001003d\r
+\r
+ ## This PCD specifies whether the Single Root I/O virtualization support.\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSrIovSupport|TRUE|BOOLEAN|0x10000044\r
+\r
+ ## This PCD specifies whether the Alternative Routing-ID support.\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdAriSupport|TRUE|BOOLEAN|0x10000045\r
+\r
+ ## This PCD specifies whether the Multi Root I/O virtualization support.\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdMrIovSupport|FALSE|BOOLEAN|0x10000046\r
+\r
+ ## This PCD specifies whether the PCI bus driver probes non-standard, \r
+ # such as 2K/1K/512, granularity for PCI to PCI bridge I/O window.\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdPciBridgeIoAlignmentProbe|FALSE|BOOLEAN|0x10000047\r
+ ## This PCD specifies whether StatusCode is reported via Serial port.\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|TRUE|BOOLEAN|0x00010022\r
+\r
+ ## This PCD specifies whether StatusCode is stored in memory.\r
+ # The memory is boot time memory in PEI Phase and is runtime memory in DXE Phase.\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory|FALSE|BOOLEAN|0x00010023\r
+\r
+ ## This PCD specifies whether Peiphase StatusCode is replayed in DxePhase.\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeReplayIn|FALSE|BOOLEAN|0x0001002d\r
+\r
[PcdsFeatureFlag.IA32]\r
##\r
# This feature flag specifies whether DxeIpl switches to long mode to enter DXE phase.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxPpiSupported|64|UINT32|0x00010033\r
\r
## Size of the NV variable range. Note that this value should less than or equal to PcdFlashNvStorageFtwSpareSize\r
- # The root cause is that variable driver will use FTW protocol to reclaim variable region.\r
- # If the length of variable region is larger than FTW spare size, it means the whole variable region can not\r
- # be reflushed through the manner of fault tolerant write.\r
+ # The root cause is that variable driver will use FTW protocol to reclaim variable region.\r
+ # If the length of variable region is larger than FTW spare size, it means the whole variable region can not\r
+ # be reflushed through the manner of fault tolerant write.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize|0x0|UINT32|0x30000002\r
\r
## The maximum size of single common variable, that is non-HwErr type varible.\r
# In IA64 platforms, this value should be larger than 128KB.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize|0x8000|UINT32|0x30000004\r
\r
- ## The size of reserved HwErr variable space. This space is located at NV variable range.\r
- # HwErr type variable is stored with common non-volatile variables in NV region.\r
+ ## The size of reserved HwErr variable space. Note that this value must be less than or equal to PcdFlashNvStorageVariableSize\r
+ # In EdkII implementation, HwErr type variable is stored with common non-volatile variables in the same NV region.\r
+ # so the platform integrator should ensure this value is less than or equal to PcdFlashNvStorageVariableSize.\r
# this value is used to guarantee the space of HwErr type variable and not populated by common variable.\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdHwErrStorageSize|0x8000|UINT32|0x30000006\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdHwErrStorageSize|0x0000|UINT32|0x30000006\r
\r
## The size of volatile buffer. This buffer is used to store VOLATILE attribute variable.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0x10000|UINT32|0x30000005\r
## FFS filename to find the ACPI tables\r
gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiTableStorageFile|{ 0x25, 0x4e, 0x37, 0x7e, 0x01, 0x8e, 0xee, 0x4f, 0x87, 0xf2, 0x39, 0xc, 0x23, 0xc6, 0x6, 0xcd }|VOID*|16\r
\r
+ ## Single root I/O virtualization virtual function memory BAR alignment\r
+ # BITN set indicates 2 of n+12 power\r
+ # BIT0 set indicates 4KB alignment\r
+ # BIT1 set indicates 8KB alignment\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSrIovSystemPageSize|0x1|UINT32|0x10000047\r
+\r
[PcdsFixedAtBuild,PcdsPatchableInModule]\r
## Maximun number of performance log entries during PEI phase.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxPeiPerformanceLogEntries|40|UINT8|0x0001002f\r
gEfiMdeModulePkgTokenSpaceGuid.PcdRealTimeClockUpdateTimeout|100000|UINT32|0x00010034\r
\r
[PcdsPatchableInModule,PcdsDynamic]\r
- ##\r
- # This PCD defines the Console output column and the default value is 25 according to UEFI spec\r
- ##\r
+ ## This PCD defines the Console output column and the default value is 25 according to UEFI spec\r
gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow|25|UINT32|0x40000006\r
\r
- ##\r
- # This PCD defines the Console output row and the default value is 80 according to UEFI spec\r
- ##\r
+ ## This PCD defines the Console output row and the default value is 80 according to UEFI spec\r
gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn|80|UINT32|0x40000007\r
\r
[PcdsFixedAtBuild,PcdsDynamic]\r
## Base address of the FTW working block range in flash device.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0x0|UINT32|0x30000010\r
\r
- ##\r
- # This PCD defines the print string.\r
+ ## This PCD defines the print string.\r
# This PCD is a sample to explain String typed PCD usage.\r
- ##\r
gEfiMdeModulePkgTokenSpaceGuid.PcdHelloWorldPrintString|L"UEFI Hello World!\n"|VOID*|0x40000004\r
\r
+ ## This PCD defines a reserved memory range for the EMU Variable driver's NV Variable Store\r
+ # The range is valid if non-zero. The memory range size must be PcdVariableStoreSize.\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0|UINT64|0x40000008\r
+\r
[PcdsFixedAtBuild,PcdsPatchableInModule,PcdsDynamic]\r
- ##\r
- # This PCD defines the times to print hello world string.\r
+ ## This PCD defines the times to print hello world string.\r
# This PCD is a sample to explain FixedAtBuild UINT32 PCD usage.\r
- ##\r
gEfiMdeModulePkgTokenSpaceGuid.PcdHelloWorldPrintTimes|1|UINT32|0x40000005\r
\r
## Indicate the max size of the populated capsule image that the platform can support.\r
## Null-terminated Unicode string that contains the date the formware was released\r
gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareReleaseDateString|L""|VOID*|0x00010053\r
\r
+ ## PcdStatusCodeMemorySize is used when PcdStatusCodeUseMemory is set to true\r
+ # (PcdStatusCodeMemorySize * KBytes) is the total taken memory size.\r
+ # The default value in PeiPhase is 1 KBytes.\r
+ # The default value in DxePhase is 128 KBytes.\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeMemorySize|1|UINT16|0x00010054\r
+\r