blob: 1237eed65953959084481b0d39fc9c17887111fe [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>
Ronald Cron04f1a702015-02-26 10:54:39 +00005# Copyright (c) 2011 - 2015, 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
Ronald Cron061568e2014-12-12 19:14:22 +000058 NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf
59 UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
60 HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
61
oliviermartin1e57a462013-01-25 11:28:06 +000062 SemihostLib|ArmPkg/Library/SemihostLib/SemihostLib.inf
63 UncachedMemoryAllocationLib|ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf
64 DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
65 DefaultExceptionHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLib.inf
66
oliviermartin1e57a462013-01-25 11:28:06 +000067 CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
Olivier Martin017baa12013-10-29 06:36:34 +000068 ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicLib.inf
Ard Biesheuvel8d132982015-07-28 20:44:44 +000069 ArmGicArchLib|ArmPkg/Library/ArmGicArchLib/ArmGicArchLib.inf
Ard Biesheuvel4f6d34b2014-09-09 16:10:18 +000070 ArmGenericTimerCounterLib|ArmPkg/Library/ArmGenericTimerPhyCounterLib/ArmGenericTimerPhyCounterLib.inf
oliviermartin166c01f2013-03-06 00:01:49 +000071 ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
oliviermartin1e57a462013-01-25 11:28:06 +000072 ArmDisassemblerLib|ArmPkg/Library/ArmDisassemblerLib/ArmDisassemblerLib.inf
73 DmaLib|ArmPkg/Library/ArmDmaLib/ArmDmaLib.inf
oliviermartin1e57a462013-01-25 11:28:06 +000074
75 UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
76 PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
oliviermartin1e57a462013-01-25 11:28:06 +000077 SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf
78
79 BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf
80 FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
Ronald Cron3402aac2014-08-19 13:29:52 +000081
Ronald Cron23b01c82015-07-06 16:49:40 +000082 ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
83 FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
84 SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
85
oliviermartin1e57a462013-01-25 11:28:06 +000086 IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
87
Harry Liebel25402f52013-07-18 18:07:46 +000088[LibraryClasses.ARM]
89 ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf
90
91[LibraryClasses.AARCH64]
92 ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64Lib.inf
93
oliviermartin1e57a462013-01-25 11:28:06 +000094[LibraryClasses.common.PEIM]
95 HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
96 PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
97 MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
98 PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
99 PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf
100
101[LibraryClasses.common.DXE_DRIVER]
102 ArmPlatformGlobalVariableLib|ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/Dxe/DxeArmPlatformGlobalVariableLib.inf
103
Olivier Martin olivier.martinbd1d0622014-08-20 18:01:50 +0000104[LibraryClasses.ARM, LibraryClasses.AARCH64]
oliviermartin1e57a462013-01-25 11:28:06 +0000105 NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
106
Olivier Martin olivier.martinbd1d0622014-08-20 18:01:50 +0000107 # Add support for GCC stack protector
108 NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
Harry Liebel25402f52013-07-18 18:07:46 +0000109
oliviermartin1e57a462013-01-25 11:28:06 +0000110[Components.common]
111 ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf
112 ArmPkg/Library/ArmDisassemblerLib/ArmDisassemblerLib.inf
113 ArmPkg/Library/ArmDmaLib/ArmDmaLib.inf
oliviermartin1e57a462013-01-25 11:28:06 +0000114 ArmPkg/Library/ArmLib/Null/NullArmLib.inf
115 ArmPkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf
oliviermartin1e57a462013-01-25 11:28:06 +0000116 ArmPkg/Library/BdsLib/BdsLib.inf
117 ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
oliviermartin3eef2842013-01-25 12:07:00 +0000118 ArmPkg/Library/DebugAgentSymbolsBaseLib/DebugAgentSymbolsBaseLib.inf
oliviermartin1e57a462013-01-25 11:28:06 +0000119 ArmPkg/Library/DebugPeCoffExtraActionLib/DebugPeCoffExtraActionLib.inf
120 ArmPkg/Library/DebugUncachedMemoryAllocationLib/DebugUncachedMemoryAllocationLib.inf
121 ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLib.inf
122 ArmPkg/Library/RvdPeCoffExtraActionLib/RvdPeCoffExtraActionLib.inf
123 ArmPkg/Library/SemiHostingDebugLib/SemiHostingDebugLib.inf
124 ArmPkg/Library/SemiHostingSerialPortLib/SemiHostingSerialPortLib.inf
125 ArmPkg/Library/SemihostLib/SemihostLib.inf
126 ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf
Ard Biesheuvelca3026d2014-09-10 18:47:30 +0000127 ArmPkg/Library/ArmPsciResetSystemLib/ArmPsciResetSystemLib.inf
oliviermartin1e57a462013-01-25 11:28:06 +0000128
oliviermartin1e57a462013-01-25 11:28:06 +0000129 ArmPkg/Drivers/CpuDxe/CpuDxe.inf
130 ArmPkg/Drivers/CpuPei/CpuPei.inf
Olivier Martin017baa12013-10-29 06:36:34 +0000131 ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
132 ArmPkg/Drivers/ArmGic/ArmGicLib.inf
133 ArmPkg/Drivers/ArmGic/ArmGicSecLib.inf
Ronald Cron0b4d97a2014-12-12 19:09:24 +0000134 ArmPkg/Drivers/GenericWatchdogDxe/GenericWatchdogDxe.inf
oliviermartin1e57a462013-01-25 11:28:06 +0000135 ArmPkg/Drivers/TimerDxe/TimerDxe.inf
136
Ard Biesheuvelcece12d2014-09-09 16:06:10 +0000137 ArmPkg/Library/ArmGenericTimerPhyCounterLib/ArmGenericTimerPhyCounterLib.inf
Ard Biesheuvelbcf37cf2014-09-09 16:07:43 +0000138 ArmPkg/Library/ArmGenericTimerVirtCounterLib/ArmGenericTimerVirtCounterLib.inf
Ard Biesheuvelcece12d2014-09-09 16:06:10 +0000139
oliviermartin166c01f2013-03-06 00:01:49 +0000140 ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
141 ArmPkg/Library/ArmSmcLibNull/ArmSmcLibNull.inf
Ard Biesheuvel58e92b32014-09-10 18:46:23 +0000142 ArmPkg/Library/ArmHvcLib/ArmHvcLib.inf
oliviermartin166c01f2013-03-06 00:01:49 +0000143
oliviermartin1e57a462013-01-25 11:28:06 +0000144 ArmPkg/Filesystem/SemihostFs/SemihostFs.inf
145
Ronald Cron23b01c82015-07-06 16:49:40 +0000146 ArmPkg/Application/LinuxLoader/LinuxLoader.inf
Harry Liebel25402f52013-07-18 18:07:46 +0000147
148[Components.ARM]
149 ArmPkg/Library/BaseMemoryLibVstm/BaseMemoryLibVstm.inf
150
151 ArmPkg/Drivers/ArmCpuLib/ArmCortexA8Lib/ArmCortexA8Lib.inf
152 ArmPkg/Drivers/ArmCpuLib/ArmCortexA9Lib/ArmCortexA9Lib.inf
153 ArmPkg/Drivers/ArmCpuLib/ArmCortexA15Lib/ArmCortexA15Lib.inf
154
Harry Liebel25402f52013-07-18 18:07:46 +0000155 ArmPkg/Library/ArmLib/ArmV7/ArmV7LibSec.inf
156 ArmPkg/Library/ArmLib/ArmV7/ArmV7LibPrePi.inf
157
158[Components.AARCH64]
159 ArmPkg/Drivers/ArmCpuLib/ArmCortexAEMv8Lib/ArmCortexAEMv8Lib.inf
160 ArmPkg/Drivers/ArmCpuLib/ArmCortexA5xLib/ArmCortexA5xLib.inf
161
162 ArmPkg/Library/ArmLib/AArch64/AArch64LibSec.inf
163 ArmPkg/Library/ArmLib/AArch64/AArch64LibPrePi.inf