summaryrefslogtreecommitdiff
path: root/MdePkg/Include/Ppi/DxeIpl.h
blob: b835cafb38e42665ca6c45439760be35a79dcd75 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
/** @file
  This file declares DXE Initial Program Load PPI.
  When the PEI core is done it calls the DXE IPL via this PPI.

  Copyright (c) 2006, Intel Corporation                                                         
  All rights reserved. This program and the accompanying materials                          
  are licensed and made available under the terms and conditions of the BSD License         
  which accompanies this distribution.  The full text of the license may be found at        
  http://opensource.org/licenses/bsd-license.php                                            

  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     
  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             

  @par Revision Reference:
  This PPI is defined in PI.
  Version 1.0.

**/

#ifndef __DXE_IPL_H__
#define __DXE_IPL_H__

#define EFI_DXE_IPL_PPI_GUID \
  { \
    0xae8ce5d, 0xe448, 0x4437, {0xa8, 0xd7, 0xeb, 0xf5, 0xf1, 0x94, 0xf7, 0x31 } \
  }

typedef struct _EFI_DXE_IPL_PPI EFI_DXE_IPL_PPI;

/**
  The architectural PPI that the PEI Foundation invokes when 
  there are no additional PEIMs to invoke.

  @param  This           Pointer to the DXE IPL PPI instance
  @param  PeiServices    Pointer to the PEI Services Table.
  @param  HobList        Pointer to the list of Hand-Off Block (HOB) entries.

  @retval EFI_SUCCESS           Upon this return code, the PEI Foundation should enter
                                some exception handling.Under normal circumstances, the DXE IPL PPI should not return.

**/
typedef
EFI_STATUS
(EFIAPI *EFI_DXE_IPL_ENTRY) (
  IN EFI_DXE_IPL_PPI              *This,
  IN EFI_PEI_SERVICES             **PeiServices,
  IN EFI_PEI_HOB_POINTERS         HobList
  );

/**
  @par Ppi Description:
  Final service to be invoked by the PEI Foundation.
  The DXE IPL PPI is responsible for locating and loading the DXE Foundation.
  The DXE IPL PPI may use PEI services to locate and load the DXE Foundation.

  @param Entry
  The entry point to the DXE IPL PPI.

**/
struct _EFI_DXE_IPL_PPI {
  EFI_DXE_IPL_ENTRY Entry;
};

extern EFI_GUID gEfiDxeIplPpiGuid;

#endif