Home | History | Annotate | Download | only in Ppi
      1 /**@file
      2 
      3 Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
      4 This program and the accompanying materials
      5 are licensed and made available under the terms and conditions of the BSD License
      6 which accompanies this distribution.  The full text of the license may be found at
      7 http://opensource.org/licenses/bsd-license.php
      8 
      9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     11 
     12 Module Name:
     13 
     14  NtPeiLoadFile.h
     15 
     16 Abstract:
     17 
     18   WinNt Load File PPI.
     19 
     20   When the PEI core is done it calls the DXE IPL via PPI
     21 
     22 **/
     23 
     24 #ifndef __NT_PEI_LOAD_FILE_H__
     25 #define __NT_PEI_LOAD_FILE_H__
     26 
     27 #include <WinNtDxe.h>
     28 
     29 #define NT_PEI_LOAD_FILE_GUID \
     30   { \
     31     0xfd0c65eb, 0x405, 0x4cd2, {0x8a, 0xee, 0xf4, 0x0, 0xef, 0x13, 0xba, 0xc2 } \
     32   }
     33 
     34 typedef
     35 EFI_STATUS
     36 (EFIAPI *NT_PEI_LOAD_FILE) (
     37   VOID                  *Pe32Data,
     38   EFI_PHYSICAL_ADDRESS  *ImageAddress,
     39   UINT64                *ImageSize,
     40   EFI_PHYSICAL_ADDRESS  *EntryPoint
     41   );
     42 
     43 /*++
     44 
     45 Routine Description:
     46   Loads and relocates a PE/COFF image into memory.
     47 
     48 Arguments:
     49   Pe32Data         - The base address of the PE/COFF file that is to be loaded and relocated
     50   ImageAddress     - The base address of the relocated PE/COFF image
     51   ImageSize        - The size of the relocated PE/COFF image
     52   EntryPoint       - The entry point of the relocated PE/COFF image
     53 
     54 Returns:
     55   EFI_SUCCESS   - The file was loaded and relocated
     56   EFI_OUT_OF_RESOURCES - There was not enough memory to load and relocate the PE/COFF file
     57 
     58 --*/
     59 typedef struct {
     60   NT_PEI_LOAD_FILE  PeiLoadFileService;
     61 } NT_PEI_LOAD_FILE_PPI;
     62 
     63 extern EFI_GUID gNtPeiLoadFilePpiGuid;
     64 
     65 #endif
     66