#\r
PciHostBridgeLib|Include/Library/PciHostBridgeLib.h\r
\r
+ ## @libraryclass Provides services to record memory profile of multilevel caller.\r
+ #\r
+ MemoryProfileLib|Include/Library/MemoryProfileLib.h\r
+\r
[Guids]\r
## MdeModule package token space guid\r
# Include/Guid/MdeModulePkgTokenSpace.h\r
\r
## Include/Guid/MemoryProfile.h\r
gEdkiiMemoryProfileGuid = { 0x821c9a09, 0x541a, 0x40f6, { 0x9f, 0x43, 0xa, 0xd1, 0x93, 0xa1, 0x2c, 0xfe }}\r
+ gEdkiiSmmMemoryProfileGuid = { 0xe22bbcca, 0x516a, 0x46a8, { 0x80, 0xe2, 0x67, 0x45, 0xe8, 0x36, 0x93, 0xbd }}\r
\r
## Include/Protocol/VarErrorFlag.h\r
gEdkiiVarErrorFlagGuid = { 0x4b37fe8, 0xf6ae, 0x480b, { 0xbd, 0xd5, 0x37, 0xd9, 0x8c, 0x5e, 0x89, 0xaa } }\r
## The mask is used to control memory profile behavior.<BR><BR>\r
# BIT0 - Enable UEFI memory profile.<BR>\r
# BIT1 - Enable SMRAM profile.<BR>\r
+ # BIT7 - Disable recording at the start.<BR>\r
# @Prompt Memory Profile Property.\r
- # @Expression 0x80000002 | (gEfiMdeModulePkgTokenSpaceGuid.PcdMemoryProfilePropertyMask & 0xFC) == 0\r
+ # @Expression 0x80000002 | (gEfiMdeModulePkgTokenSpaceGuid.PcdMemoryProfilePropertyMask & 0x7C) == 0\r
gEfiMdeModulePkgTokenSpaceGuid.PcdMemoryProfilePropertyMask|0x0|UINT8|0x30001041\r
\r
## This flag is to control which memory types of alloc info will be recorded by DxeCore & SmmCore.<BR><BR>\r
# @Prompt Memory profile memory type.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdMemoryProfileMemoryType|0x0|UINT64|0x30001042\r
\r
+ ## This PCD is to control which drivers need memory profile data.<BR><BR>\r
+ # For example:<BR>\r
+ # One image only (Shell):<BR>\r
+ # Header GUID<BR>\r
+ # {0x04, 0x06, 0x14, 0x00, 0x83, 0xA5, 0x04, 0x7C, 0x3E, 0x9E, 0x1C, 0x4F, 0xAD, 0x65, 0xE0, 0x52, 0x68, 0xD0, 0xB4, 0xD1,<BR>\r
+ # 0x7F, 0xFF, 0x04, 0x00}<BR>\r
+ # Two or more images (Shell + WinNtSimpleFileSystem):<BR>\r
+ # {0x04, 0x06, 0x14, 0x00, 0x83, 0xA5, 0x04, 0x7C, 0x3E, 0x9E, 0x1C, 0x4F, 0xAD, 0x65, 0xE0, 0x52, 0x68, 0xD0, 0xB4, 0xD1,<BR>\r
+ # 0x7F, 0x01, 0x04, 0x00,<BR>\r
+ # 0x04, 0x06, 0x14, 0x00, 0x8B, 0xE1, 0x25, 0x9C, 0xBA, 0x76, 0xDA, 0x43, 0xA1, 0x32, 0xDB, 0xB0, 0x99, 0x7C, 0xEF, 0xEF,<BR>\r
+ # 0x7F, 0xFF, 0x04, 0x00}<BR>\r
+ # @Prompt Memory profile driver path.\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdMemoryProfileDriverPath|{0x0}|VOID*|0x00001043\r
+\r
## PCI Serial Device Info. It is an array of Device, Function, and Power Management\r
# information that describes the path that contains zero or more PCI to PCI briges\r
# followed by a PCI serial device. Each array entry is 4-bytes in length. The\r
# @Prompt Exposed ACPI table versions.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiExposedTableVersions|0x3E|UINT32|0x0001004c\r
\r
+ ## This PCD defines the MAX repair count.\r
+ # The default value is 0 that means infinite.\r
+ # @Prompt MAX repair count\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdMaxRepairCount|0x00|UINT32|0x00010076\r
+\r
[PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]\r
## This PCD defines the Console output row. The default value is 25 according to UEFI spec.\r
# This PCD could be set to 0 then console output would be at max column and max row.\r