]> git.proxmox.com Git - mirror_edk2.git/blob - MdePkg/Include/Library/PeiCoreEntryPoint.h
Upgrade the format of EFI_PEIM_ENTRY_POINT to EFI_PEIM_ENTRY_POINT2 according to...
[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 PeiStartupDescriptor Pointer of start up information.
53
54 @return Status returned by entry points of core and drivers.
55
56 **/
57 VOID
58 EFIAPI
59 EfiMain (
60 IN CONST EFI_SEC_PEI_HAND_OFF *SecCoreData,
61 IN CONST EFI_PEI_PPI_DESCRIPTOR *PpiList
62 );
63
64 /**
65 Call constructs for all libraries. Automatics Generated by tool.
66
67 @param FfsHeader Pointer to header of FFS.
68 @param PeiServices Pointer to the PEI Services Table.
69
70 **/
71 VOID
72 EFIAPI
73 ProcessLibraryConstructorList (
74 IN EFI_PEI_FILE_HANDLE *FfsHeader,
75 IN EFI_PEI_SERVICES **PeiServices
76 );
77
78
79 /**
80 Call the list of driver entry points. Automatics Generated by tool.
81
82 @param PeiStartupDescriptor Pointer to startup information .
83 @param OldCoreData Pointer to Original startup information.
84
85 @return Status returned by entry points of drivers.
86
87 **/
88 VOID
89 EFIAPI
90 ProcessModuleEntryPointList (
91 IN CONST EFI_SEC_PEI_HAND_OFF *SecCoreData,
92 IN CONST EFI_PEI_PPI_DESCRIPTOR *PpiList,
93 IN VOID *OldCoreData
94 );
95
96 #endif