Added FvFileLoader PPI
authorbxing <bxing@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 9 Jul 2007 02:32:32 +0000 (02:32 +0000)
committerbxing <bxing@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 9 Jul 2007 02:32:32 +0000 (02:32 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3142 6f19259b-4bc3-4df7-8a09-765794883524

IntelFrameworkPkg/Include/Ppi/LoadFile.h [new file with mode: 0644]
IntelFrameworkPkg/IntelFrameworkPkg.nspd

diff --git a/IntelFrameworkPkg/Include/Ppi/LoadFile.h b/IntelFrameworkPkg/Include/Ppi/LoadFile.h
new file mode 100644 (file)
index 0000000..ca056bc
--- /dev/null
@@ -0,0 +1,72 @@
+/** @file\r
+  Load image file from fv to memory.\r
+\r
+  Copyright (c) 2007, 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
index 66086e8..5471683 100644 (file)
       <GuidValue>E1F2EBA0-F7B9-4A26-8620-131221642A90</GuidValue>\r
       <HelpText/>\r
     </Entry>\r
+    <Entry Name="FvLoadFile">\r
+      <C_Name>gEfiPeiFvFileLoaderPpiGuid</C_Name>\r
+      <GuidValue>7e1f0d85-04ff-4bb2-866a-31a2996a48a8</GuidValue>\r
+      <HelpText>FV Load File PPI</HelpText>\r
+    </Entry>\r
   </PpiDeclarations>\r
 </PackageSurfaceArea>
\ No newline at end of file