]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Include/Ppi/LoadFile.h
Add PeiCore module for enabling NT32Pkg, please attention this PeiCore does follows...
[mirror_edk2.git] / MdeModulePkg / Include / Ppi / LoadFile.h
diff --git a/MdeModulePkg/Include/Ppi/LoadFile.h b/MdeModulePkg/Include/Ppi/LoadFile.h
new file mode 100644 (file)
index 0000000..f6d8a70
--- /dev/null
@@ -0,0 +1,72 @@
+/** @file\r
+  Load image file from fv to memory. \r
+\r
+  Copyright (c) 2006, Intel Corporation                                                         \r
+  All rights reserved. This program and the accompanying materials                          \r
+  are licensed and made available under the terms and conditions of the BSD License         \r
+  which accompanies this distribution.  The full text of the license may be found at        \r
+  http://opensource.org/licenses/bsd-license.php                                            \r
+\r
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             \r
+\r
+  Module Name:  LoadFile.h\r
+\r
+  @par Revision Reference:\r
+  This PPI is defined in PEI CIS spec Version 0.91.\r
+\r
+**/\r
+\r
+#ifndef __FV_FILE_LOADER_PPI_H__\r
+#define __FV_FILE_LOADER_PPI_H__\r
+\r
+#define EFI_PEI_FV_FILE_LOADER_GUID \\r
+  { \\r
+    0x7e1f0d85, 0x4ff, 0x4bb2, {0x86, 0x6a, 0x31, 0xa2, 0x99, 0x6a, 0x48, 0xa8 } \\r
+  }\r
+\r
+typedef struct _EFI_PEI_FV_FILE_LOADER_PPI  EFI_PEI_FV_FILE_LOADER_PPI;\r
+\r
+/**\r
+  Loads a PEIM into memory for subsequent execution.\r
+\r
+  @param  This           Interface pointer that implements the Load File PPI instance.\r
+  @param  FfsHeader      Pointer to the FFS header of the file to load.\r
+  @param  ImageAddress   Pointer to the address of the loaded Image\r
+  @param  ImageSize      Pointer to the size of the loaded image.\r
+  @param  EntryPoint     Pointer to the entry point of the image.\r
+\r
+  @retval EFI_SUCCESS           The image was loaded successfully.\r
+  @retval EFI_OUT_OF_RESOURCES  There was not enough memory.\r
+  @retval EFI_INVALID_PARAMETER The contents of the FFS file did not\r
+                                contain a valid PE/COFF image that could be loaded.\r
+\r
+**/\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_PEI_FV_LOAD_FILE) (\r
+  IN EFI_PEI_FV_FILE_LOADER_PPI                 *This,\r
+  IN  EFI_FFS_FILE_HEADER                       *FfsHeader,\r
+  OUT EFI_PHYSICAL_ADDRESS                      *ImageAddress,\r
+  OUT UINT64                                    *ImageSize,\r
+  OUT EFI_PHYSICAL_ADDRESS                      *EntryPoint\r
+  );\r
+\r
+/**\r
+  @par Ppi Description:\r
+  This PPI is a pointer to the Load File service. This service will be \r
+  published by a PEIM.The PEI Foundation will use this service to \r
+  launch the known non-XIP PE/COFF PEIM images.  This service may \r
+  depend upon the presence of the EFI_PEI_PERMANENT_MEMORY_INSTALLED_PPI.\r
+\r
+  @param FvLoadFile\r
+  Loads a PEIM into memory for subsequent execution\r
+\r
+**/\r
+struct _EFI_PEI_FV_FILE_LOADER_PPI {\r
+  EFI_PEI_FV_LOAD_FILE  FvLoadFile;\r
+};\r
+\r
+extern EFI_GUID gEfiPeiFvFileLoaderPpiGuid;\r
+\r
+#endif\r