summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>2007-08-30 07:35:09 +0000
committerklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>2007-08-30 07:35:09 +0000
commit3a63377f2b683e2159a7b9dea04166987d899022 (patch)
treed206bf2980699d644fe02e63639815cd6fe94b88
parentb61439a709bb961f2f9dff1d1a4112e30a063f51 (diff)
downloadedk2-3a63377f2b683e2159a7b9dea04166987d899022.tar.gz
edk2-3a63377f2b683e2159a7b9dea04166987d899022.tar.bz2
edk2-3a63377f2b683e2159a7b9dea04166987d899022.zip
Add some definitions which will be used for future PI enabling.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3742 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r--MdeModulePkg/Core/Pei/PeiMain.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/MdeModulePkg/Core/Pei/PeiMain.h b/MdeModulePkg/Core/Pei/PeiMain.h
index 7cdcf30a2a..023114750d 100644
--- a/MdeModulePkg/Core/Pei/PeiMain.h
+++ b/MdeModulePkg/Core/Pei/PeiMain.h
@@ -48,6 +48,8 @@ Revision History
extern EFI_GUID gEfiPeiCorePrivateGuid;
+#define PEI_CORE_INTERNAL_FFS_FILE_DISPATCH_TYPE 0xff
+
//
// Pei Core private data structures
//
@@ -70,6 +72,27 @@ typedef struct {
PEI_PPI_LIST_POINTERS PpiListPtrs[MAX_PPI_DESCRIPTORS];
} PEI_PPI_DATABASE;
+
+#define PEI_CORE_MAX_FV_SUPPORTED 4
+#define PEI_CORE_MAX_PEIM_PER_FV 32
+
+//
+// PEI_CORE_FV_HANDE.PeimState
+// Do not change these values as there is code doing math to change states.
+// Look for Private->Fv[FvCount].PeimState[PeimCount]++;
+//
+#define PEIM_STATE_NOT_DISPATCHED 0x00
+#define PEIM_STATE_DISPATCHED 0x01
+#define PEIM_STATE_REGISITER_FOR_SHADOW 0x02
+#define PEIM_STATE_DONE 0x03
+
+typedef struct {
+ EFI_FIRMWARE_VOLUME_HEADER *FvHeader;
+ UINT8 PeimState[PEI_CORE_MAX_PEIM_PER_FV];
+ EFI_PEI_FILE_HANDLE FvFileHandles[PEI_CORE_MAX_PEIM_PER_FV];
+ BOOLEAN ScanFv;
+} PEI_CORE_FV_HANDLE;
+
typedef struct {
UINT8 CurrentPeim;
UINT8 CurrentFv;
@@ -93,6 +116,15 @@ typedef struct{
EFI_PEI_SERVICES *PS; // Point to ServiceTableShadow
PEI_PPI_DATABASE PpiData;
PEI_CORE_DISPATCH_DATA DispatchData;
+ UINTN FvCount;
+ PEI_CORE_FV_HANDLE Fv[PEI_CORE_MAX_FV_SUPPORTED];
+ EFI_PEI_FILE_HANDLE CurrentFvFileHandles[PEI_CORE_MAX_PEIM_PER_FV];
+ UINTN AprioriCount;
+ UINTN CurrentPeimFvCount;
+ UINTN CurrentPeimCount;
+ EFI_PEI_FILE_HANDLE CurrentFileHandle;
+ UINTN AllFvCount;
+ EFI_PEI_FV_HANDLE AllFv[PEI_CORE_MAX_FV_SUPPORTED];
EFI_PEI_HOB_POINTERS HobList;
BOOLEAN SwitchStackSignal;
BOOLEAN PeiMemoryInstalled;