blob: 5d9eb177e046531b9296f2cea6bab8c3b8ae9c69 [file] [log] [blame]
oliviermartin1e57a462013-01-25 11:28:06 +00001#/** @file
2# ARM processor package.
3#
4# Copyright (c) 2009 - 2010, Apple Inc. All rights reserved.<BR>
Olivier Martin olivier.martinbd1d0622014-08-20 18:01:50 +00005# Copyright (c) 2011 - 2014, ARM Ltd. All rights reserved.<BR>
oliviermartin1e57a462013-01-25 11:28:06 +00006#
7# This program and the accompanying materials
8# are licensed and made available under the terms and conditions of the BSD License
9# which accompanies this distribution. The full text of the license may be found at
10# http://opensource.org/licenses/bsd-license.php
11#
12# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14#
15#**/
16
17################################################################################
18#
19# Defines Section - statements that will be processed to create a Makefile.
20#
21################################################################################
22[Defines]
23 PLATFORM_NAME = ArmPkg
24 PLATFORM_GUID = 5CFBD99E-3C43-4E7F-8054-9CDEAFF7710F
25 PLATFORM_VERSION = 0.1
26 DSC_SPECIFICATION = 0x00010005
27 OUTPUT_DIRECTORY = Build/Arm
Harry Liebel25402f52013-07-18 18:07:46 +000028 SUPPORTED_ARCHITECTURES = ARM|AARCH64
oliviermartin1e57a462013-01-25 11:28:06 +000029 BUILD_TARGETS = DEBUG|RELEASE
30 SKUID_IDENTIFIER = DEFAULT
31
32[BuildOptions]
33 XCODE:*_*_ARM_PLATFORM_FLAGS == -arch armv7
oliviermartin1e57a462013-01-25 11:28:06 +000034 GCC:*_*_ARM_PLATFORM_FLAGS == -march=armv7-a -mfpu=neon
Ard Biesheuvel58e92b32014-09-10 18:46:23 +000035 # We use A15 to get the Secure and Virtualization extensions
36 RVCT:*_*_ARM_PLATFORM_FLAGS == --cpu Cortex-A15
Olivier Martin4a8fa962014-12-12 18:58:47 +000037
38 RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG
oliviermartin1e57a462013-01-25 11:28:06 +000039
40[LibraryClasses.common]
41 BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
42 BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
43 CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf
44 DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
45 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
46 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
47 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
48 PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
49 TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
50 UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
51 UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
52 UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
53 DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
54 UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
Harry Liebelef0fa8e2014-07-29 14:13:21 +000055 PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
oliviermartin1e57a462013-01-25 11:28:06 +000056 PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
57
58 SemihostLib|ArmPkg/Library/SemihostLib/SemihostLib.inf
59 UncachedMemoryAllocationLib|ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf
60 DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
61 DefaultExceptionHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLib.inf
62
oliviermartin1e57a462013-01-25 11:28:06 +000063 CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
Olivier Martin017baa12013-10-29 06:36:34 +000064 ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicLib.inf
Ard Biesheuvel4f6d34b2014-09-09 16:10:18 +000065 ArmGenericTimerCounterLib|ArmPkg/Library/ArmGenericTimerPhyCounterLib/ArmGenericTimerPhyCounterLib.inf
oliviermartin166c01f2013-03-06 00:01:49 +000066 ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
oliviermartin1e57a462013-01-25 11:28:06 +000067 ArmDisassemblerLib|ArmPkg/Library/ArmDisassemblerLib/ArmDisassemblerLib.inf
68 DmaLib|ArmPkg/Library/ArmDmaLib/ArmDmaLib.inf
oliviermartin1e57a462013-01-25 11:28:06 +000069
70 UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
71 PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
oliviermartin1e57a462013-01-25 11:28:06 +000072 SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf
73
74 BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf
75 FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
Ronald Cron3402aac2014-08-19 13:29:52 +000076
oliviermartin1e57a462013-01-25 11:28:06 +000077 IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
78
Harry Liebel25402f52013-07-18 18:07:46 +000079[LibraryClasses.ARM]
80 ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf
81
82[LibraryClasses.AARCH64]
83 ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64Lib.inf
84
oliviermartin1e57a462013-01-25 11:28:06 +000085[LibraryClasses.common.PEIM]
86 HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
87 PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
88 MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
89 PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
90 PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf
91
92[LibraryClasses.common.DXE_DRIVER]
93 ArmPlatformGlobalVariableLib|ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/Dxe/DxeArmPlatformGlobalVariableLib.inf
94
Olivier Martin olivier.martinbd1d0622014-08-20 18:01:50 +000095[LibraryClasses.ARM, LibraryClasses.AARCH64]
oliviermartin1e57a462013-01-25 11:28:06 +000096 NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
97
Olivier Martin olivier.martinbd1d0622014-08-20 18:01:50 +000098 # Add support for GCC stack protector
99 NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
Harry Liebel25402f52013-07-18 18:07:46 +0000100
oliviermartin1e57a462013-01-25 11:28:06 +0000101[Components.common]
102 ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf
103 ArmPkg/Library/ArmDisassemblerLib/ArmDisassemblerLib.inf
104 ArmPkg/Library/ArmDmaLib/ArmDmaLib.inf
oliviermartin1e57a462013-01-25 11:28:06 +0000105 ArmPkg/Library/ArmLib/Null/NullArmLib.inf
106 ArmPkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf
oliviermartin1e57a462013-01-25 11:28:06 +0000107 ArmPkg/Library/BdsLib/BdsLib.inf
108 ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
oliviermartin3eef2842013-01-25 12:07:00 +0000109 ArmPkg/Library/DebugAgentSymbolsBaseLib/DebugAgentSymbolsBaseLib.inf
oliviermartin1e57a462013-01-25 11:28:06 +0000110 ArmPkg/Library/DebugPeCoffExtraActionLib/DebugPeCoffExtraActionLib.inf
111 ArmPkg/Library/DebugUncachedMemoryAllocationLib/DebugUncachedMemoryAllocationLib.inf
112 ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLib.inf
113 ArmPkg/Library/RvdPeCoffExtraActionLib/RvdPeCoffExtraActionLib.inf
114 ArmPkg/Library/SemiHostingDebugLib/SemiHostingDebugLib.inf
115 ArmPkg/Library/SemiHostingSerialPortLib/SemiHostingSerialPortLib.inf
116 ArmPkg/Library/SemihostLib/SemihostLib.inf
117 ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf
Ard Biesheuvelca3026d2014-09-10 18:47:30 +0000118 ArmPkg/Library/ArmPsciResetSystemLib/ArmPsciResetSystemLib.inf
oliviermartin1e57a462013-01-25 11:28:06 +0000119
oliviermartin1e57a462013-01-25 11:28:06 +0000120 ArmPkg/Drivers/CpuDxe/CpuDxe.inf
121 ArmPkg/Drivers/CpuPei/CpuPei.inf
Olivier Martin017baa12013-10-29 06:36:34 +0000122 ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
123 ArmPkg/Drivers/ArmGic/ArmGicLib.inf
124 ArmPkg/Drivers/ArmGic/ArmGicSecLib.inf
Ronald Cron0b4d97a2014-12-12 19:09:24 +0000125 ArmPkg/Drivers/GenericWatchdogDxe/GenericWatchdogDxe.inf
oliviermartin1e57a462013-01-25 11:28:06 +0000126 ArmPkg/Drivers/TimerDxe/TimerDxe.inf
127
Ard Biesheuvelcece12d2014-09-09 16:06:10 +0000128 ArmPkg/Library/ArmGenericTimerPhyCounterLib/ArmGenericTimerPhyCounterLib.inf
Ard Biesheuvelbcf37cf2014-09-09 16:07:43 +0000129 ArmPkg/Library/ArmGenericTimerVirtCounterLib/ArmGenericTimerVirtCounterLib.inf
Ard Biesheuvelcece12d2014-09-09 16:06:10 +0000130
oliviermartin166c01f2013-03-06 00:01:49 +0000131 ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
132 ArmPkg/Library/ArmSmcLibNull/ArmSmcLibNull.inf
Ard Biesheuvel58e92b32014-09-10 18:46:23 +0000133 ArmPkg/Library/ArmHvcLib/ArmHvcLib.inf
oliviermartin166c01f2013-03-06 00:01:49 +0000134
oliviermartin1e57a462013-01-25 11:28:06 +0000135 ArmPkg/Filesystem/SemihostFs/SemihostFs.inf
136
oliviermartin1e57a462013-01-25 11:28:06 +0000137 ArmPkg/Application/LinuxLoader/LinuxFdtLoader.inf
Harry Liebel25402f52013-07-18 18:07:46 +0000138
139[Components.ARM]
140 ArmPkg/Library/BaseMemoryLibVstm/BaseMemoryLibVstm.inf
141
142 ArmPkg/Drivers/ArmCpuLib/ArmCortexA8Lib/ArmCortexA8Lib.inf
143 ArmPkg/Drivers/ArmCpuLib/ArmCortexA9Lib/ArmCortexA9Lib.inf
144 ArmPkg/Drivers/ArmCpuLib/ArmCortexA15Lib/ArmCortexA15Lib.inf
145
146# ArmPkg/Library/ArmLib/Arm11/Arm11ArmLib.inf
147# ArmPkg/Library/ArmLib/Arm11/Arm11ArmLibPrePi.inf
148# ArmPkg/Library/ArmLib/Arm9/Arm9ArmLib.inf
149# ArmPkg/Library/ArmLib/Arm9/Arm9ArmLibPrePi.inf
150 ArmPkg/Library/ArmLib/ArmV7/ArmV7LibSec.inf
151 ArmPkg/Library/ArmLib/ArmV7/ArmV7LibPrePi.inf
152
Harry Liebel634bdd92013-07-18 18:13:02 +0000153 ArmPkg/Application/LinuxLoader/LinuxAtagLoader.inf
154
Harry Liebel25402f52013-07-18 18:07:46 +0000155[Components.AARCH64]
156 ArmPkg/Drivers/ArmCpuLib/ArmCortexAEMv8Lib/ArmCortexAEMv8Lib.inf
157 ArmPkg/Drivers/ArmCpuLib/ArmCortexA5xLib/ArmCortexA5xLib.inf
158
159 ArmPkg/Library/ArmLib/AArch64/AArch64LibSec.inf
160 ArmPkg/Library/ArmLib/AArch64/AArch64LibPrePi.inf