1#/** @file
2#
3#  Copyright (c) 2011-2015, ARM Ltd. All rights reserved.<BR>
4#  Copyright (c) 2015, Linaro Ltd. All rights reserved.<BR>
5#
6#  This program and the accompanying materials
7#  are licensed and made available under the terms and conditions of the BSD License
8#  which accompanies this distribution.  The full text of the license may be found at
9#  http://opensource.org/licenses/bsd-license.php
10#
11#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13#
14#**/
15
16[Defines]
17  INF_VERSION                    = 0x00010005
18  BASE_NAME                      = ArmVirtPrePiUniCoreRelocatable
19  FILE_GUID                      = f7d9fd14-9335-4389-80c5-334d6abfcced
20  MODULE_TYPE                    = SEC
21  VALID_ARCHITECTURES            = AARCH64
22  VERSION_STRING                 = 1.0
23
24[Sources]
25  PrePi.c
26
27[Sources.AArch64]
28  AArch64/ArchPrePi.c
29  AArch64/ModuleEntryPoint.S
30
31[Sources.ARM]
32  Arm/ArchPrePi.c
33  Arm/ModuleEntryPoint.S
34
35[Packages]
36  MdePkg/MdePkg.dec
37  MdeModulePkg/MdeModulePkg.dec
38  EmbeddedPkg/EmbeddedPkg.dec
39  ArmPkg/ArmPkg.dec
40  ArmPlatformPkg/ArmPlatformPkg.dec
41  ArmVirtPkg/ArmVirtPkg.dec
42  IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec
43
44[LibraryClasses]
45  BaseLib
46  DebugLib
47  ArmLib
48  IoLib
49  TimerLib
50  SerialPortLib
51  ExtractGuidedSectionLib
52  LzmaDecompressLib
53  PeCoffGetEntryPointLib
54  PrePiLib
55  ArmPlatformLib
56  ArmPlatformStackLib
57  MemoryAllocationLib
58  HobLib
59  PrePiHobListPointerLib
60  PlatformPeiLib
61  MemoryInitPeiLib
62  CacheMaintenanceLib
63
64[Ppis]
65  gArmMpCoreInfoPpiGuid
66
67[Guids]
68  gArmMpCoreInfoGuid
69
70[FeaturePcd]
71  gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob
72  gArmPlatformTokenSpaceGuid.PcdSendSgiToBringUpSecondaryCores
73
74[FixedPcd]
75  gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString
76
77  gArmTokenSpaceGuid.PcdVFPEnabled
78
79  gArmTokenSpaceGuid.PcdFdSize
80  gArmTokenSpaceGuid.PcdFvSize
81
82  gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize
83  gArmPlatformTokenSpaceGuid.PcdCPUCoreSecondaryStackSize
84
85  gArmPlatformTokenSpaceGuid.PcdSystemMemoryUefiRegionSize
86
87  gArmPlatformTokenSpaceGuid.PcdCoreCount
88
89  gEmbeddedTokenSpaceGuid.PcdPrePiCpuMemorySize
90  gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize
91
92  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory
93  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS
94  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType
95  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData
96  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode
97  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode
98  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData
99  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode
100  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData
101
102[Pcd]
103  gArmTokenSpaceGuid.PcdSystemMemoryBase
104  gArmTokenSpaceGuid.PcdSystemMemorySize
105  gArmVirtTokenSpaceGuid.PcdDeviceTreeInitialBaseAddress
106  gArmTokenSpaceGuid.PcdFdBaseAddress
107  gArmTokenSpaceGuid.PcdFvBaseAddress
108
109[BuildOptions]
110  GCC:*_*_*_DLINK_FLAGS = -pie -T $(MODULE_DIR)/Scripts/PrePi-PIE.lds
111