• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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