<DefaultValue>4</DefaultValue>\r
<HelpText>kbytes size of runtime memory.</HelpText>\r
</PcdEntry>\r
+ <PcdEntry>\r
+ <C_Name>PcdMaxPeiPerformanceLogEntries</C_Name>\r
+ <Token>0x0001002f</Token>\r
+ <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+ <DatumType>UINT8</DatumType>\r
+ <ValidUsage>FIXED_AT_BUILD PATCHABLE_IN_MODULE</ValidUsage>\r
+ <DefaultValue>28</DefaultValue>\r
+ <HelpText>Maximun number of performance log entries during PEI phase.</HelpText>\r
+ </PcdEntry>\r
<PcdEntry>\r
<C_Name>PcdFlashFvBaseArray</C_Name>\r
<Token>0x31000001</Token>\r
//\r
#define PEI_PERFORMANCE_STRING_SIZE 8\r
#define PEI_PERFORMANCE_STRING_LENGTH (PEI_PERFORMANCE_STRING_SIZE - 1)\r
-//\r
-// Bugbug: This macro will be replaced by a binary patchable PCD entry in EdkModulePkg\r
-//\r
-#define MAX_PEI_PERFORMANCE_LOG_ENTRIES 28\r
\r
typedef struct {\r
EFI_PHYSICAL_ADDRESS Handle;\r
);\r
ASSERT_EFI_ERROR (Status);\r
\r
- mMaxGaugeRecords = INIT_DXE_GAUGE_DATA_ENTRIES + MAX_PEI_PERFORMANCE_LOG_ENTRIES;\r
+ mMaxGaugeRecords = INIT_DXE_GAUGE_DATA_ENTRIES + PcdGet8 (PcdMaxPeiPerformanceLogEntries);\r
\r
mGaugeData = AllocateZeroPool (sizeof (GAUGE_DATA_HEADER) + (sizeof (GAUGE_DATA_ENTRY) * mMaxGaugeRecords));\r
ASSERT (mGaugeData != NULL);\r
<HelpText>The bitmask of flags that specify the enable/disable of\r
Performance Measurement.</HelpText>\r
</PcdEntry>\r
+ <PcdEntry PcdItemType="DYNAMIC">\r
+ <C_Name>PcdMaxPeiPerformanceLogEntries</C_Name>\r
+ <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+ <HelpText>Maximun number of performance log entries during PEI phase.</HelpText>\r
+ </PcdEntry>\r
</PcdCoded>\r
</ModuleSurfaceArea>
\ No newline at end of file
// PEI Performance HOB was not found, then build one.\r
//\r
PeiPerformanceLogSize = sizeof (PEI_PERFORMANCE_LOG_HEADER) + \r
- sizeof (PEI_PERFORMANCE_LOG_ENTRY) * MAX_PEI_PERFORMANCE_LOG_ENTRIES;\r
+ sizeof (PEI_PERFORMANCE_LOG_ENTRY) * PcdGet8 (PcdMaxPeiPerformanceLogEntries);\r
PeiPerformanceLog = BuildGuidHob (&gPeiPerformanceHobGuid, PeiPerformanceLogSize);\r
PeiPerformanceLog = ZeroMem (PeiPerformanceLog, PeiPerformanceLogSize);\r
}\r
\r
PeiPerformanceLog = InternalGetPerformanceHobLog ();\r
\r
- if (PeiPerformanceLog->NumberOfEntries >= MAX_PEI_PERFORMANCE_LOG_ENTRIES) {\r
+ if (PeiPerformanceLog->NumberOfEntries >= PcdGet8 (PcdMaxPeiPerformanceLogEntries)) {\r
return RETURN_OUT_OF_RESOURCES;\r
}\r
Index = PeiPerformanceLog->NumberOfEntries++;\r
<HelpText>The bitmask of flags that specify the enable/disable of\r
Performance Measurement.</HelpText>\r
</PcdEntry>\r
+ <PcdEntry PcdItemType="DYNAMIC">\r
+ <C_Name>PcdMaxPeiPerformanceLogEntries</C_Name>\r
+ <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+ <HelpText>Maximun number of performance log entries during PEI phase.</HelpText>\r
+ </PcdEntry>\r
</PcdCoded>\r
</ModuleSurfaceArea>
\ No newline at end of file