Integrate the patch contributed by Andrew Fish to add ARM support.
[mirror_edk2.git] / MdeModulePkg / Core / DxeIplPeim / DxeIpl.inf
CommitLineData
24851580 1#/** @file
2# Last PEIM executed in PEI phase to load DXE Core from a Firmware Volume.
3#
4# This module produces a special PPI named the DXE Initial Program Load (IPL)
5# PPI to discover and dispatch the DXE Foundation and components that are
6# needed to run the DXE Foundation.
7#
8# Copyright (c) 2006 - 2009, Intel Corporation. <BR>
9# All rights reserved. This program and the accompanying materials
10# are licensed and made available under the terms and conditions of the BSD License
11# which accompanies this distribution. The full text of the license may be found at
12# http://opensource.org/licenses/bsd-license.php
13#
14# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
15# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
16#
17#**/
18
19[Defines]
20 INF_VERSION = 0x00010005
21 BASE_NAME = DxeIpl
22 FILE_GUID = 86D70125-BAA3-4296-A62F-602BEBBB9081
23 MODULE_TYPE = PEIM
24 VERSION_STRING = 1.0
25
26 ENTRY_POINT = PeimInitializeDxeIpl
27
28#
29# The following information is for reference only and not required by the build tools.
30#
31# VALID_ARCHITECTURES = IA32 X64 IPF EBC (EBC is for build only)
32#
33
34[Sources.common]
35 DxeIpl.h
36 DxeLoad.c
37
38[Sources.Ia32]
39 Ia32/VirtualMemory.h ||||PcdDxeIplSwitchToLongMode
40 Ia32/VirtualMemory.c ||||PcdDxeIplSwitchToLongMode
41 Ia32/DxeLoadFunc.c
42 Ia32/IdtVectorAsm.asm||||PcdDxeIplSwitchToLongMode
43 Ia32/IdtVectorAsm.S ||||PcdDxeIplSwitchToLongMode
44
45[Sources.X64]
46 X64/VirtualMemory.h
47 X64/VirtualMemory.c
48 X64/DxeLoadFunc.c
49
50[Sources.IPF]
51 Ipf/DxeLoadFunc.c
52
53[Sources.EBC]
54 Ebc/DxeLoadFunc.c
55
56[Sources.ARM]
57 Arm/DxeLoadFunc.c
58
59[Packages]
60 MdePkg/MdePkg.dec
61 MdeModulePkg/MdeModulePkg.dec
62
63[LibraryClasses]
64 PcdLib
65 MemoryAllocationLib
66 BaseMemoryLib
67 ExtractGuidedSectionLib
68 UefiDecompressLib
69 ReportStatusCodeLib
70 PeiServicesLib
71 HobLib
72 BaseLib
73 PeimEntryPoint
74 DebugLib
75
76[Ppis]
77 gEfiDxeIplPpiGuid ## PRODUCES
78 gEfiEndOfPeiSignalPpiGuid ## SOMETIMES_PRODUCES(Not produced on S3 boot path)
79 gEfiPeiDecompressPpiGuid ## SOMETIMES_PRODUCES
80 gEfiPeiReadOnlyVariable2PpiGuid ## SOMETIMES_CONSUMES
81 gEfiPeiLoadFilePpiGuid ## CONSUMES
82 gEfiPeiS3ResumePpiGuid ## SOMETIMES_CONSUMES(Consumed on S3 boot path)
83 gEfiPeiRecoveryModulePpiGuid ## SOMETIMES_CONSUMES(Consumed on recovery boot path)
84
85[Guids]
86 gEfiMemoryTypeInformationGuid ## SOMETIMES_CONSUMES ## Variable:L"MemoryTypeInformation"
87 gEfiMemoryTypeInformationGuid ## SOMETIMES_PRODUCES ## HOB
88
89[FeaturePcd.IA32]
90 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode
91
92[FeaturePcd.common]
93 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportUefiDecompress
94
95[FixedPcd.common]
96 gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValuePeiHandoffToDxe
97
98[Depex]
99 gEfiPeiMemoryDiscoveredPpiGuid AND gEfiPeiLoadFilePpiGuid
100
101#
102# [BootMode]
103# S3_RESUME ## SOMETIMES_CONSUMES
104# RECOVERY ## SOMETIMES_CONSUMES
105#
106#
107# [Hob]
108# ##
109# # New Stack HoB
110# MEMORY_ALLOCATION ## PRODUCES
111# ##
112# # Old Stack HOB
113# MEMORY_ALLOCATION ## CONSUMES
114#
115# [Hob.IPF]
116# ##
117# # BSP Stack HOB for IPF
118# MEMORY_ALLOCATION ## PRODUCES
119#
120#