]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Include/Ppi/DxeIpl.h
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / MdePkg / Include / Ppi / DxeIpl.h
CommitLineData
5879b875 1/** @file\r
2 This file declares DXE Initial Program Load PPI.\r
d7132512 3 When the PEI core is done it calls the DXE IPL PPI to load the DXE Foundation.\r
5879b875 4\r
9095d37b 5 Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
9344f092 6 SPDX-License-Identifier: BSD-2-Clause-Patent\r
5879b875 7\r
5879b875 8 @par Revision Reference:\r
0047820e 9 This PPI is introduced in PI Version 1.0.\r
5879b875 10\r
11**/\r
12\r
13#ifndef __DXE_IPL_H__\r
14#define __DXE_IPL_H__\r
15\r
16#define EFI_DXE_IPL_PPI_GUID \\r
17 { \\r
18 0xae8ce5d, 0xe448, 0x4437, {0xa8, 0xd7, 0xeb, 0xf5, 0xf1, 0x94, 0xf7, 0x31 } \\r
19 }\r
20\r
21typedef struct _EFI_DXE_IPL_PPI EFI_DXE_IPL_PPI;\r
22\r
23/**\r
9095d37b 24 The architectural PPI that the PEI Foundation invokes when\r
5879b875 25 there are no additional PEIMs to invoke.\r
26\r
dafa11b1 27 This function is invoked by the PEI Foundation.\r
28 The PEI Foundation will invoke this service when there are\r
29 no additional PEIMs to invoke in the system.\r
30 If this PPI does not exist, it is an error condition and\r
31 an ill-formed firmware set. The DXE IPL PPI should never\r
32 return after having been invoked by the PEI Foundation.\r
33 The DXE IPL PPI can do many things internally, including the following:\r
34 - Invoke the DXE entry point from a firmware volume\r
35 - Invoke the recovery processing modules\r
36 - Invoke the S3 resume modules\r
37\r
5879b875 38 @param This Pointer to the DXE IPL PPI instance\r
39 @param PeiServices Pointer to the PEI Services Table.\r
40 @param HobList Pointer to the list of Hand-Off Block (HOB) entries.\r
41\r
d7132512 42 @retval EFI_SUCCESS Upon this return code, the PEI Foundation should enter\r
9095d37b 43 some exception handling.Under normal circumstances,\r
d7132512 44 the DXE IPL PPI should not return.\r
5879b875 45\r
46**/\r
47typedef\r
48EFI_STATUS\r
8b13229b 49(EFIAPI *EFI_DXE_IPL_ENTRY)(\r
dafa11b1 50 IN CONST EFI_DXE_IPL_PPI *This,\r
5879b875 51 IN EFI_PEI_SERVICES **PeiServices,\r
52 IN EFI_PEI_HOB_POINTERS HobList\r
53 );\r
54\r
dafa11b1 55///\r
56/// Final service to be invoked by the PEI Foundation.\r
57/// The DXE IPL PPI is responsible for locating and loading the DXE Foundation.\r
58/// The DXE IPL PPI may use PEI services to locate and load the DXE Foundation.\r
59///\r
5879b875 60struct _EFI_DXE_IPL_PPI {\r
2f88bd3a 61 EFI_DXE_IPL_ENTRY Entry;\r
5879b875 62};\r
63\r
2f88bd3a 64extern EFI_GUID gEfiDxeIplPpiGuid;\r
5879b875 65\r
66#endif\r