]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Core/Pei/PeiMain.h
Add some definitions which will be used for future PI enabling.
[mirror_edk2.git] / MdeModulePkg / Core / Pei / PeiMain.h
index 7cdcf30a2a32a176923e904ef9f661f57a53bda0..023114750d5b4b054ff88605fb25141a28f20f52 100644 (file)
@@ -48,6 +48,8 @@ Revision History
 \r
 extern EFI_GUID gEfiPeiCorePrivateGuid;\r
 \r
+#define PEI_CORE_INTERNAL_FFS_FILE_DISPATCH_TYPE   0xff\r
+\r
 //\r
 // Pei Core private data structures\r
 //\r
@@ -70,6 +72,27 @@ typedef struct {
   PEI_PPI_LIST_POINTERS   PpiListPtrs[MAX_PPI_DESCRIPTORS];\r
 } PEI_PPI_DATABASE;\r
 \r
+\r
+#define PEI_CORE_MAX_FV_SUPPORTED   4\r
+#define PEI_CORE_MAX_PEIM_PER_FV    32\r
+\r
+//\r
+// PEI_CORE_FV_HANDE.PeimState\r
+// Do not change these values as there is code doing math to change states.\r
+// Look for Private->Fv[FvCount].PeimState[PeimCount]++;\r
+//\r
+#define PEIM_STATE_NOT_DISPATCHED         0x00\r
+#define PEIM_STATE_DISPATCHED             0x01\r
+#define PEIM_STATE_REGISITER_FOR_SHADOW   0x02\r
+#define PEIM_STATE_DONE                   0x03\r
+\r
+typedef struct {\r
+  EFI_FIRMWARE_VOLUME_HEADER          *FvHeader;\r
+  UINT8                               PeimState[PEI_CORE_MAX_PEIM_PER_FV];   \r
+  EFI_PEI_FILE_HANDLE                 FvFileHandles[PEI_CORE_MAX_PEIM_PER_FV];\r
+  BOOLEAN                             ScanFv;\r
+} PEI_CORE_FV_HANDLE;\r
+\r
 typedef struct {\r
   UINT8                       CurrentPeim;\r
   UINT8                       CurrentFv;\r
@@ -93,6 +116,15 @@ typedef struct{
   EFI_PEI_SERVICES                   *PS;     // Point to ServiceTableShadow\r
   PEI_PPI_DATABASE                   PpiData;\r
   PEI_CORE_DISPATCH_DATA             DispatchData;\r
+  UINTN                              FvCount;\r
+  PEI_CORE_FV_HANDLE                 Fv[PEI_CORE_MAX_FV_SUPPORTED];\r
+  EFI_PEI_FILE_HANDLE                CurrentFvFileHandles[PEI_CORE_MAX_PEIM_PER_FV];\r
+  UINTN                              AprioriCount;\r
+  UINTN                              CurrentPeimFvCount; \r
+  UINTN                              CurrentPeimCount;\r
+  EFI_PEI_FILE_HANDLE                CurrentFileHandle;\r
+  UINTN                              AllFvCount;\r
+  EFI_PEI_FV_HANDLE                  AllFv[PEI_CORE_MAX_FV_SUPPORTED];\r
   EFI_PEI_HOB_POINTERS               HobList;\r
   BOOLEAN                            SwitchStackSignal;\r
   BOOLEAN                            PeiMemoryInstalled;\r