summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
blob: f39251f3c90949e24b6e6f3fe6e24ab0909c11cc (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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
## @file
#  Last PEIM executed in PEI phase to load DXE Core from a Firmware Volume.
#
#  This module produces a special PPI named the DXE Initial Program Load (IPL)
#  PPI to discover and dispatch the DXE Foundation and components that are
#  needed to run the DXE Foundation.
#
#  Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
#  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.
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = DxeIpl
  FILE_GUID                      = 86D70125-BAA3-4296-A62F-602BEBBB9081
  MODULE_TYPE                    = PEIM
  VERSION_STRING                 = 1.0

  ENTRY_POINT                    = PeimInitializeDxeIpl

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC (EBC is for build only)
#

[Sources]
  DxeIpl.h
  DxeLoad.c

[Sources.Ia32]
  X64/VirtualMemory.h  ||||gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode
  X64/VirtualMemory.c  ||||gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode
  Ia32/DxeLoadFunc.c
  Ia32/IdtVectorAsm.asm||||gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode
  Ia32/IdtVectorAsm.S  ||||gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode

[Sources.X64]
  X64/VirtualMemory.h
  X64/VirtualMemory.c
  X64/DxeLoadFunc.c    

[Sources.IPF]
  Ipf/DxeLoadFunc.c

[Sources.EBC]
  Ebc/DxeLoadFunc.c

[Sources.ARM]
  Arm/DxeLoadFunc.c

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec

[LibraryClasses]
  PcdLib
  MemoryAllocationLib
  BaseMemoryLib
  ExtractGuidedSectionLib
  UefiDecompressLib
  ReportStatusCodeLib
  PeiServicesLib
  HobLib
  BaseLib
  PeimEntryPoint
  DebugLib
  DebugAgentLib
  PeiServicesTablePointerLib

[Ppis]
  gEfiDxeIplPpiGuid                 ## PRODUCES
  gEfiEndOfPeiSignalPpiGuid         ## SOMETIMES_PRODUCES(Not produced on S3 boot path)
  gEfiPeiDecompressPpiGuid          ## SOMETIMES_PRODUCES
  gEfiPeiReadOnlyVariable2PpiGuid   ## SOMETIMES_CONSUMES
  gEfiPeiLoadFilePpiGuid            ## CONSUMES
  gEfiPeiS3Resume2PpiGuid           ## SOMETIMES_CONSUMES(Consumed on S3 boot path)
  gEfiPeiRecoveryModulePpiGuid      ## SOMETIMES_CONSUMES(Consumed on recovery boot path)

[Guids]
  gEfiMemoryTypeInformationGuid     ## SOMETIMES_CONSUMES ## Variable:L"MemoryTypeInformation"
  gEfiMemoryTypeInformationGuid     ## SOMETIMES_PRODUCES ## HOB

[FeaturePcd.IA32]
  gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode

[FeaturePcd.X64]
  gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplBuildPageTables

[FeaturePcd]
  gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportUefiDecompress

[Pcd.IA32,Pcd.X64]
  gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable

[Depex]
  gEfiPeiMemoryDiscoveredPpiGuid AND gEfiPeiLoadFilePpiGuid AND gEfiPeiMasterBootModePpiGuid

#
# [BootMode]
#   S3_RESUME                       ## SOMETIMES_CONSUMES
#   RECOVERY                        ## SOMETIMES_CONSUMES
#
#
# [Hob]
#   ##
#   # New Stack HoB
#   MEMORY_ALLOCATION               ## PRODUCES
#   ##
#   # Old Stack HOB
#   MEMORY_ALLOCATION               ## CONSUMES
#
# [Hob.IPF]
#   ##
#   # BSP Stack HOB for IPF
#   MEMORY_ALLOCATION               ## PRODUCES
#
#