Check in following modules,
[mirror_edk2.git] / MdeModulePkg / Core / DxeIplPeim / DxeIpl.h
1 /*++
2
3 Copyright (c) 2006, Intel Corporation
4 All rights reserved. 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 DxeIpl.h
15
16 Abstract:
17
18 --*/
19
20 #ifndef __PEI_DXEIPL_H__
21 #define __PEI_DXEIPL_H__
22
23 //
24 // Include common header file for this module.
25 //
26 #include "CommonHeader.h"
27
28 #define STACK_SIZE 0x20000
29 #define BSP_STORE_SIZE 0x4000
30
31 #define GET_OCCUPIED_SIZE(ActualSize, Alignment) ((ActualSize + (Alignment - 1)) & ~(Alignment - 1))
32
33 extern BOOLEAN gInMemory;
34
35 EFI_STATUS
36 PeiFindFile (
37 IN UINT8 Type,
38 IN UINT16 SectionType,
39 OUT EFI_GUID *FileName,
40 OUT VOID **Pe32Data
41 )
42 ;
43
44 EFI_STATUS
45 PeiLoadFile (
46 IN EFI_PEI_PE_COFF_LOADER_PROTOCOL *PeiEfiPeiPeCoffLoader,
47 IN VOID *Pe32Data,
48 OUT EFI_PHYSICAL_ADDRESS *ImageAddress,
49 OUT UINT64 *ImageSize,
50 OUT EFI_PHYSICAL_ADDRESS *EntryPoint
51 )
52 ;
53
54
55 EFI_STATUS
56 GetImageReadFunction (
57 IN PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext
58 )
59 ;
60
61 EFI_STATUS
62 PeiImageRead (
63 IN VOID *FileHandle,
64 IN UINTN FileOffset,
65 IN OUT UINTN *ReadSize,
66 OUT VOID *Buffer
67 )
68 ;
69
70 EFI_STATUS
71 EFIAPI
72 DxeIplLoadFile (
73 IN EFI_PEI_FV_FILE_LOADER_PPI *This,
74 IN EFI_FFS_FILE_HEADER *FfsHeader,
75 OUT EFI_PHYSICAL_ADDRESS *ImageAddress,
76 OUT UINT64 *ImageSize,
77 OUT EFI_PHYSICAL_ADDRESS *EntryPoint
78 );
79
80 EFI_STATUS
81 ShadowDxeIpl (
82 IN EFI_FFS_FILE_HEADER *DxeIpl,
83 IN EFI_PEI_PE_COFF_LOADER_PROTOCOL *PeiEfiPeiPeCoffLoader
84 );
85
86 EFI_STATUS
87 EFIAPI
88 DxeLoadCore (
89 IN EFI_DXE_IPL_PPI *This,
90 IN EFI_PEI_SERVICES **PeiServices,
91 IN EFI_PEI_HOB_POINTERS HobList
92 );
93
94 VOID
95 HandOffToDxeCore (
96 IN EFI_PHYSICAL_ADDRESS DxeCoreEntryPoint,
97 IN EFI_PEI_HOB_POINTERS HobList,
98 IN EFI_PEI_PPI_DESCRIPTOR *EndOfPeiSignal
99 );
100
101 EFI_STATUS
102 PeiProcessFile (
103 IN UINT16 SectionType,
104 IN EFI_FFS_FILE_HEADER *FfsFileHeader,
105 OUT VOID **Pe32Data,
106 IN EFI_PEI_HOB_POINTERS *OrigHob
107 );
108
109 EFI_STATUS
110 EFIAPI
111 PeimInitializeDxeIpl (
112 IN EFI_FFS_FILE_HEADER *FfsHeader,
113 IN EFI_PEI_SERVICES **PeiServices
114 );
115
116
117 #endif