VOID *Raw;\r
} PEI_PPI_LIST_POINTERS;\r
\r
-#define MAX_PPI_DESCRIPTORS 64\r
-\r
typedef struct {\r
INTN PpiListEnd;\r
INTN NotifyListEnd;\r
INTN DispatchListEnd;\r
INTN LastDispatchedInstall;\r
INTN LastDispatchedNotify;\r
- PEI_PPI_LIST_POINTERS PpiListPtrs[MAX_PPI_DESCRIPTORS];\r
+ PEI_PPI_LIST_POINTERS PpiListPtrs[FixedPcdGet32 (PcdPeiCoreMaxPpiSupported)];\r
} PEI_PPI_DATABASE;\r
\r
\r
[FixedPcd.common]\r
gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxFvSupported\r
gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxPeimPerFv\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxPpiSupported\r
gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValuePeimDispatch\r
gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValuePeiCoreEntry\r
gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxPeiStackSize\r
--*/\r
{\r
if (OldCoreData == NULL) {\r
- PrivateData->PpiData.NotifyListEnd = MAX_PPI_DESCRIPTORS-1;\r
- PrivateData->PpiData.DispatchListEnd = MAX_PPI_DESCRIPTORS-1;\r
- PrivateData->PpiData.LastDispatchedNotify = MAX_PPI_DESCRIPTORS-1;\r
+ PrivateData->PpiData.NotifyListEnd = FixedPcdGet32 (PcdPeiCoreMaxPpiSupported)-1;\r
+ PrivateData->PpiData.DispatchListEnd = FixedPcdGet32 (PcdPeiCoreMaxPpiSupported)-1;\r
+ PrivateData->PpiData.LastDispatchedNotify = FixedPcdGet32 (PcdPeiCoreMaxPpiSupported)-1;\r
}\r
\r
return;\r
\r
Fixup = (UINTN)NewHandOffHob - OldCheckingBottom;\r
\r
- for (Index = 0; Index < MAX_PPI_DESCRIPTORS; Index++) {\r
+ for (Index = 0; Index < FixedPcdGet32 (PcdPeiCoreMaxPpiSupported); Index++) {\r
if (Index < PrivateData->PpiData.PpiListEnd ||\r
Index > PrivateData->PpiData.NotifyListEnd) {\r
PpiPointer = &PrivateData->PpiData.PpiListPtrs[Index];\r
EFI_PEI_PPI_DESCRIPTOR_NOTIFY_DISPATCH,\r
PrivateData->PpiData.LastDispatchedInstall,\r
PrivateData->PpiData.PpiListEnd,\r
- MAX_PPI_DESCRIPTORS-1,\r
+ FixedPcdGet32 (PcdPeiCoreMaxPpiSupported)-1,\r
PrivateData->PpiData.DispatchListEnd\r
);\r
PrivateData->PpiData.LastDispatchedInstall = TempValue;\r
gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxFvSupported|6|UINT32|0x00010030\r
gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxPeimPerFv|32|UINT32|0x00010031\r
gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxPeiStackSize|0x20000|UINT32|0x00010032\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxPpiSupported|64|UINT32|0x00010033\r
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|0x0|UINT32|0x30000001\r
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize|0x0|UINT32|0x30000002\r
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x400|UINT32|0x30000003\r