]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Ppi/LoadFile.h
Fix doxygen issue:
[mirror_edk2.git] / MdePkg / Include / Ppi / LoadFile.h
index af02be7c9e6aaade43bd778c9c319b4d5d294696..1e5d7f964b7d10651c8fbdbc89c8f41602086ccb 100644 (file)
   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
+  This PPI is defined in PI Version 1.00.\r
 \r
 **/\r
 \r
-#ifndef __FV_FILE_LOADER_PPI_H__\r
-#define __FV_FILE_LOADER_PPI_H__\r
+#ifndef __LOAD_FILE_PPI_H__\r
+#define __LOAD_FILE_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
+#define EFI_PEI_LOAD_FILE_PPI_GUID \\r
+  { 0xb9e0abfe, 0x5979, 0x4914, { 0x97, 0x7f, 0x6d, 0xee, 0x78, 0xc2, 0x78, 0xa6 } }\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
+typedef struct _EFI_PEI_LOAD_FILE_PPI EFI_PEI_LOAD_FILE_PPI;\r
 \r
-  @param  This Interface pointer that implements the Load File PPI instance.\r
-  \r
-  @param  FfsHeader Pointer to the FFS header of the file to load.\r
-  \r
-  @param  ImageAddress Pointer to the address of the loaded Image\r
-  \r
-  @param  ImageSize Pointer to the size of the loaded image.\r
+/**\r
+  This service is the single member function of EFI_LOAD_FILE_PPI. This service separates\r
+  image loading and relocating from the PEI Foundation.\r
   \r
-  @param  EntryPoint Pointer to the entry point of the image.\r
+  @param This                 Interface pointer that implements\r
+                              the Load File PPI instance.\r
 \r
-  @retval EFI_SUCCESS The image was loaded successfully.\r
-  \r
-  @retval EFI_OUT_OF_RESOURCES There was not enough memory.\r
-  \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
+  @param FileHandle           File handle of the file to load.\r
+                              Type EFI_PEI_FILE_HANDLE is defined in\r
+                              FfsFindNextFile().\r
+\r
+  @param ImageAddress         Pointer to the address of the\r
+                              loaded image.\r
+\r
+  @param ImageSize            Pointer to the size of the loaded\r
+                              image.\r
+\r
+  @param EntryPoint           Pointer to the entry point of the\r
+                              image.\r
 \r
+  @param AuthenticationState  On exit, points to the attestation\r
+                              authentication state of the image\r
+                              or 0 if no attestation was\r
+                              performed. The format of\r
+                              AuthenticationState is defined in\r
+                              EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI.ExtractSection()\r
+\r
+\r
+  @retval EFI_SUCCESS         The image was loaded successfully.\r
+\r
+  @retval EFI_OUT_OF_RESOURCES  There was not enough memory.\r
+\r
+  @retval EFI_LOAD_ERROR      There was no supported image in\r
+                              the file EFI_INVALID_PARAMETER\r
+                              FileHandle was not a valid\r
+                              firmware file handle.\r
+  @retval EFI_INVALID_PARAMETER   EntryPoint was NULL.\r
+\r
+  @retval EFI_NOT_SUPPORTED   An image requires relocations or\r
+                              is not memory mapped.\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
+(EFIAPI *EFI_PEI_LOAD_FILE)(\r
+  IN CONST  EFI_PEI_LOAD_FILE_PPI   *This,\r
+  IN CONST  EFI_PEI_FILE_HANDLE     FileHandle,\r
+  OUT       EFI_PHYSICAL_ADDRESS    *ImageAddress,\r
+  OUT       UINT64                  *ImageSize,\r
+  OUT       EFI_PHYSICAL_ADDRESS    *EntryPoint,\r
+  OUT       UINT32                  *AuthenticationState\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
+  This PPI is a pointer to the Load File service.\r
+  This service will be published by a PEIM. The PEI Foundation\r
+  will use this service to launch the known PEI module images.\r
+  \r
+  \r
+  @param LoadFile  Loads a PEIM into memory for subsequent\r
+                   execution. See the LoadFile() function\r
+                   description.\r
+  \r
 **/\r
-struct _EFI_PEI_FV_FILE_LOADER_PPI {\r
-  EFI_PEI_FV_LOAD_FILE  FvLoadFile;\r
+struct _EFI_PEI_LOAD_FILE_PPI {\r
+  EFI_PEI_LOAD_FILE LoadFile;\r
 };\r
 \r
-extern EFI_GUID gEfiPeiFvFileLoaderPpiGuid;\r
+extern EFI_GUID gEfiPeiLoadFilePpiGuid;\r
 \r
 #endif\r