Coding style fix.
[mirror_edk2.git] / MdePkg / Include / Library / PeiCoreEntryPoint.h
1 /** @file
2 Entry point to the PEI Core
3
4 Copyright (c) 2006, Intel Corporation<BR>
5 All rights reserved. This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
9
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13 **/
14
15 #ifndef __MODULE_ENTRY_POINT_H__
16 #define __MODULE_ENTRY_POINT_H__
17
18 /**
19
20 Enrty point to PEI core.
21
22 @param SecCoreData Points to a data structure containing
23 information about the PEI core's
24 operating environment, such as the size
25 and location of temporary RAM, the stack
26 location and the BFV location. The type
27 EFI_SEC_PEI_HAND_OFF is
28
29 @param PpiList Points to a list of one or more PPI
30 descriptors to be installed initially by
31 the PEI core. An empty PPI list consists
32 of a single descriptor with the end-tag
33 EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST.
34 As part of its initialization phase, the
35 PEI Foundation will add these SEC-hosted
36 PPIs to its PPI database such that both
37 the PEI Foundation and any modules can
38 leverage the associated service calls
39 and/or code in these early PPIs.
40
41 **/
42 VOID
43 EFIAPI
44 _ModuleEntryPoint(
45 IN CONST EFI_SEC_PEI_HAND_OFF *SecCoreData,
46 IN CONST EFI_PEI_PPI_DESCRIPTOR *PpiList
47 );
48
49 /**
50 Wrapper of enrty point to PEI core.
51
52 @param SecCoreData Points to a data structure containing
53 information about the PEI core's
54 operating environment, such as the size
55 and location of temporary RAM, the stack
56 location and the BFV location. The type
57 EFI_SEC_PEI_HAND_OFF is
58
59 @param PpiList Points to a list of one or more PPI
60 descriptors to be installed initially by
61 the PEI core. An empty PPI list consists
62 of a single descriptor with the end-tag
63 EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST.
64 As part of its initialization phase, the
65 PEI Foundation will add these SEC-hosted
66 PPIs to its PPI database such that both
67 the PEI Foundation and any modules can
68 leverage the associated service calls
69 and/or code in these early PPIs.
70
71 @return Status returned by entry points of core and drivers.
72
73 **/
74 VOID
75 EFIAPI
76 EfiMain (
77 IN CONST EFI_SEC_PEI_HAND_OFF *SecCoreData,
78 IN CONST EFI_PEI_PPI_DESCRIPTOR *PpiList
79 );
80
81 /**
82 Call constructs for all libraries. Automatics Generated by tool.
83
84 @param FfsHeader Pointer to header of FFS.
85 @param PeiServices Pointer to the PEI Services Table.
86
87 **/
88 VOID
89 EFIAPI
90 ProcessLibraryConstructorList (
91 IN EFI_PEI_FILE_HANDLE *FfsHeader,
92 IN EFI_PEI_SERVICES **PeiServices
93 );
94
95
96 /**
97 Call the list of driver entry points. Automatics Generated by tool.
98
99 @param SecCoreData Points to a data structure containing
100 information about the PEI core's
101 operating environment, such as the size
102 and location of temporary RAM, the stack
103 location and the BFV location. The type
104 EFI_SEC_PEI_HAND_OFF is
105
106 @param PpiList Points to a list of one or more PPI
107 descriptors to be installed initially by
108 the PEI core. An empty PPI list consists
109 of a single descriptor with the end-tag
110 EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST.
111 As part of its initialization phase, the
112 PEI Foundation will add these SEC-hosted
113 PPIs to its PPI database such that both
114 the PEI Foundation and any modules can
115 leverage the associated service calls
116 and/or code in these early PPIs.
117 @param OldCoreData Pointer to Original startup information.
118
119 **/
120 VOID
121 EFIAPI
122 ProcessModuleEntryPointList (
123 IN CONST EFI_SEC_PEI_HAND_OFF *SecCoreData,
124 IN CONST EFI_PEI_PPI_DESCRIPTOR *PpiList,
125 IN VOID *OldCoreData
126 );
127
128 #endif