]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Core/Pei/PeiMain.h
Enhance memory copy logic for PEI core image read. The change uses CopyMem() library...
[mirror_edk2.git] / MdeModulePkg / Core / Pei / PeiMain.h
index aa23cc57edae9caf6096233f78cde112c7f4682f..c37bc12b72f9cfb837a5593af1605dddf291b738 100644 (file)
@@ -140,7 +140,7 @@ typedef struct{
   ///\r
   /// Point to ServiceTableShadow\r
   ///\r
-  EFI_PEI_SERVICES                   *PS;\r
+  EFI_PEI_SERVICES                   *Ps;\r
   PEI_PPI_DATABASE                   PpiData;\r
   \r
   ///\r
@@ -177,13 +177,29 @@ typedef struct{
   EFI_PHYSICAL_ADDRESS               FreePhysicalMemoryTop;\r
   VOID*                              ShadowedPeiCore;\r
   CACHE_SECTION_DATA                 CacheSection;\r
+  //\r
+  // For Loading modules at fixed address feature to cache the top address below which the \r
+  // Runtime code, boot time code and PEI memory will be placed. Please note that the offset between this field \r
+  // and  Ps should not be changed since maybe user could get this top address by using the offet to Ps. \r
+  //\r
+  EFI_PHYSICAL_ADDRESS               LoadModuleAtFixAddressTopAddress;\r
+  //\r
+  // The field is define for Loading modules at fixed address feature to tracker the PEI code\r
+  // memory range usage. It is a bit mapped array in which every bit indicates the correspoding memory page\r
+  // available or not. \r
+  //\r
+  UINT64                            *PeiCodeMemoryRangeUsageBitMap;\r
+  //\r
+  // This field points to the shadowed image read function\r
+  //\r
+  PE_COFF_LOADER_READ_FILE          ShadowedImageRead;\r
 } PEI_CORE_INSTANCE;\r
 \r
 ///\r
 /// Pei Core Instance Data Macros\r
 ///\r
 #define PEI_CORE_INSTANCE_FROM_PS_THIS(a) \\r
-  CR(a, PEI_CORE_INSTANCE, PS, PEI_CORE_HANDLE_SIGNATURE)\r
+  CR(a, PEI_CORE_INSTANCE, Ps, PEI_CORE_HANDLE_SIGNATURE)\r
 \r
 /**\r
   Function Pointer type for PeiCore function.\r