]> git.proxmox.com Git - mirror_edk2.git/blob - MdePkg/Include/Library/PeiCoreEntryPoint.h
Synchronization of MDE Library Spec., Mde.dec, and corresponding head files in MdePkg...
[mirror_edk2.git] / MdePkg / Include / Library / PeiCoreEntryPoint.h
1 /** @file
2 Module entry point library for PEI core.
3
4 Copyright (c) 2006 - 2008, 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 FileHandle Handle of the file being invoked.
85 Type EFI_PEI_FILE_HANDLE is defined in FfsFindNextFile().
86 @param PeiServices Pointer to the PEI Services Table.
87
88 **/
89 VOID
90 EFIAPI
91 ProcessLibraryConstructorList (
92 IN EFI_PEI_FILE_HANDLE FileHandle,
93 IN CONST EFI_PEI_SERVICES **PeiServices
94 );
95
96
97 /**
98 Call the list of driver entry points. Automatics Generated by tool.
99
100 @param SecCoreData Points to a data structure containing
101 information about the PEI core's
102 operating environment, such as the size
103 and location of temporary RAM, the stack
104 location and the BFV location. The type
105 EFI_SEC_PEI_HAND_OFF is
106
107 @param PpiList Points to a list of one or more PPI
108 descriptors to be installed initially by
109 the PEI core. An empty PPI list consists
110 of a single descriptor with the end-tag
111 EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST.
112 As part of its initialization phase, the
113 PEI Foundation will add these SEC-hosted
114 PPIs to its PPI database such that both
115 the PEI Foundation and any modules can
116 leverage the associated service calls
117 and/or code in these early PPIs.
118 @param OldCoreData Pointer to Original startup information.
119
120 **/
121 VOID
122 EFIAPI
123 ProcessModuleEntryPointList (
124 IN CONST EFI_SEC_PEI_HAND_OFF *SecCoreData,
125 IN CONST EFI_PEI_PPI_DESCRIPTOR *PpiList,
126 IN VOID *OldCoreData
127 );
128
129 #endif