]> git.proxmox.com Git - mirror_edk2.git/blame - EmbeddedPkg/EmbeddedPkg.dsc
ArmPkg/TimerDxe: add workaround for KVM timer interrupt handling
[mirror_edk2.git] / EmbeddedPkg / EmbeddedPkg.dsc
CommitLineData
1e57a462 1#/** @file\r
2# Embedded Package\r
3#\r
4#\r
5# Copyright (c) 2007, Intel Corporation. All rights reserved.<BR>\r
35a3e762 6# Copyright (c) 2012-2014, ARM Ltd. All rights reserved.<BR>\r
1e57a462 7#\r
8# This program and the accompanying materials\r
9# are licensed and made available under the terms and conditions of the BSD License\r
10# which accompanies this distribution. The full text of the license may be found at\r
11# http://opensource.org/licenses/bsd-license.php\r
12#\r
13# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
14# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
15#\r
16#**/\r
17\r
18################################################################################\r
19#\r
20# Defines Section - statements that will be processed to create a Makefile.\r
21#\r
22################################################################################\r
23[Defines]\r
24 PLATFORM_NAME = Embedded\r
25 PLATFORM_GUID = 8DBB580B-CF89-4D57-95C6-DFE96C44686E\r
26 PLATFORM_VERSION = 0.1\r
27 DSC_SPECIFICATION = 0x00010005\r
28 OUTPUT_DIRECTORY = Build/Embedded\r
35a3e762 29 SUPPORTED_ARCHITECTURES = IA32|X64|IPF|ARM|AARCH64\r
1e57a462 30 BUILD_TARGETS = DEBUG|RELEASE\r
31 SKUID_IDENTIFIER = DEFAULT\r
32 FLASH_DEFINITION = EmbeddedPkg/EmbeddedPkg.fdf\r
33\r
34\r
35################################################################################\r
36#\r
37# SKU Identification section - list of all SKU IDs supported by this\r
38# Platform.\r
39#\r
40################################################################################\r
41[SkuIds]\r
42 0|DEFAULT # The entry: 0|DEFAULT is reserved and always required.\r
43\r
44################################################################################\r
45#\r
46# Library Class section - list of all Library Classes needed by this Platform.\r
47#\r
48################################################################################\r
49[LibraryClasses.common]\r
50# DebugLib|MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf\r
51 DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf\r
52\r
3402aac7 53\r
1e57a462 54 BaseLib|MdePkg/Library/BaseLib/BaseLib.inf\r
55 BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf\r
56 PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf\r
57 PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf\r
58 PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf\r
59 UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf\r
60 EfiFileLib|EmbeddedPkg/Library/EfiFileLib/EfiFileLib.inf\r
3402aac7 61\r
1e57a462 62 TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf\r
3402aac7 63\r
1e57a462 64 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf\r
3402aac7 65\r
1e57a462 66 PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf\r
67 PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf\r
68 PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf\r
69 CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf\r
70 PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf\r
3402aac7 71\r
1e57a462 72 SerialPortLib|EmbeddedPkg/Library/TemplateSerialPortLib/TemplateSerialPortLib.inf\r
d38c35f9 73 SerialPortExtLib|EmbeddedPkg/Library/TemplateSerialPortExtLib/TemplateSerialPortExtLib.inf\r
1e57a462 74 RealTimeClockLib|EmbeddedPkg/Library/TemplateRealTimeClockLib/TemplateRealTimeClockLib.inf\r
75 EfiResetSystemLib|EmbeddedPkg/Library/TemplateResetSystemLib/TemplateResetSystemLib.inf\r
76 GdbSerialLib|EmbeddedPkg/Library/GdbSerialLib/GdbSerialLib.inf\r
77\r
78\r
79 #\r
80 # Need to change this for IPF\r
81 #\r
82 IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf\r
3402aac7 83\r
1e57a462 84 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
85 UefiLib|MdePkg/Library/UefiLib/UefiLib.inf\r
86 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf\r
87 UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf\r
88 DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf\r
89 UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf\r
90 ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf\r
91\r
92 DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf\r
93 UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf\r
94 UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf\r
95\r
1e57a462 96 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
97 EblCmdLib|EmbeddedPkg/Library/EblCmdLibNull/EblCmdLibNull.inf\r
febad023 98\r
1e57a462 99 EblNetworkLib|EmbeddedPkg/Library/EblNetworkLib/EblNetworkLib.inf\r
f6755908
OM
100\r
101 FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf\r
1e57a462 102\r
46f2c53b
OM
103 # Networking Requirements\r
104 NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf\r
105 HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf\r
3402aac7 106 UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf\r
46f2c53b 107\r
1e57a462 108[LibraryClasses.common.DXE_DRIVER]\r
109 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
110 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf\r
111\r
112\r
113[LibraryClasses.common.UEFI_APPLICATION]\r
114 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
115 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf\r
116\r
117[LibraryClasses.common.UEFI_DRIVER]\r
118 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
119 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf\r
3402aac7 120\r
1e57a462 121[LibraryClasses.common.SEC]\r
122 ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf\r
123\r
35a3e762 124[LibraryClasses.ARM, LibraryClasses.AARCH64]\r
f6755908
OM
125 ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicLib.inf\r
126 ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf\r
127 BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf\r
1e57a462 128 SemihostLib|ArmPkg/Library/SemihostLib/SemihostLib.inf\r
1e57a462 129 NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf\r
130\r
bd1d0628
OM
131 # Add support for GCC stack protector\r
132 NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf\r
133\r
f6755908
OM
134[LibraryClasses.ARM]\r
135 ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf\r
136\r
137[LibraryClasses.AARCH64]\r
138 ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64Lib.inf\r
139\r
1e57a462 140\r
141################################################################################\r
142#\r
143# Pcd Section - list of all PCD Entries defined by this Platform\r
144#\r
145################################################################################\r
146\r
147[PcdsFeatureFlag.common]\r
148 gEfiMdePkgTokenSpaceGuid.PcdComponentNameDisable|FALSE\r
149 gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnosticsDisable|FALSE\r
150 gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable|FALSE\r
151 gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnostics2Disable|FALSE\r
3402aac7 152\r
1e57a462 153 #\r
154 # Control what commands are supported from the UI\r
155 # Turn these on and off to add features or save size\r
3402aac7 156 #\r
1e57a462 157 gEmbeddedTokenSpaceGuid.PcdEmbeddedMacBoot|TRUE\r
158 gEmbeddedTokenSpaceGuid.PcdEmbeddedDirCmd|TRUE\r
159 gEmbeddedTokenSpaceGuid.PcdEmbeddedHobCmd|TRUE\r
160 gEmbeddedTokenSpaceGuid.PcdEmbeddedHwDebugCmd|TRUE\r
161 gEmbeddedTokenSpaceGuid.PcdEmbeddedIoEnable|FALSE\r
162 gEmbeddedTokenSpaceGuid.PcdEmbeddedScriptCmd|FALSE\r
163 gEmbeddedTokenSpaceGuid.PcdEmbeddedPciDebugCmd|TRUE\r
3402aac7 164\r
1e57a462 165 gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob|FALSE\r
166\r
167\r
168[PcdsFixedAtBuild.common]\r
169 gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000\r
170 gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000\r
171 gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|1000000\r
172 gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout|10000000\r
173 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x0f\r
174 gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000\r
175 gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x06\r
176 gEfiMdePkgTokenSpaceGuid.PcdDebugClearMemoryValue|0xAF\r
177 gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask|0\r
178 gEfiMdePkgTokenSpaceGuid.PcdPostCodePropertyMask|0\r
179 gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xE0000000\r
180 gEfiMdePkgTokenSpaceGuid.PcdFSBClock|200000000\r
181 gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320\r
182 gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000\r
183 gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xE0000000\r
184 gEfiMdePkgTokenSpaceGuid.PcdFSBClock|200000000\r
8f12aa7e 185 gEmbeddedTokenSpaceGuid.PcdEmbeddedAutomaticBootCommand|L""\r
1e57a462 186 gEmbeddedTokenSpaceGuid.PcdEmbeddedDefaultTextColor|0x07\r
187 gEmbeddedTokenSpaceGuid.PcdEmbeddedMemVariableStoreSize|0x10000\r
3402aac7 188\r
1e57a462 189 gEmbeddedTokenSpaceGuid.PcdPrePiHobBase|0\r
190 gEmbeddedTokenSpaceGuid.PcdPrePiStackBase|0\r
191 gEmbeddedTokenSpaceGuid.PcdPrePiStackSize|0\r
192\r
193#\r
194# Optinal feature to help prevent EFI memory map fragments\r
195# Turned on and off via: PcdPrePiProduceMemoryTypeInformationHob\r
3402aac7
RC
196# Values are in EFI Pages (4K). DXE Core will make sure that\r
197# at least this much of each type of memory can be allocated\r
1e57a462 198# from a single memory range. This way you only end up with\r
199# maximum of two fragements for each type in the memory map\r
200# (the memory used, and the free memory that was prereserved\r
201# but not used).\r
202#\r
203 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0\r
204 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0\r
205 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0\r
206 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|0\r
207 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|0\r
208 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|0\r
209 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData|0\r
210 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|0\r
211 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData|0\r
212\r
213#\r
214# Timer config for this platform\r
215#\r
216 gEmbeddedTokenSpaceGuid.PcdTimerBaseAddress|0x3c700000\r
217 gEmbeddedTokenSpaceGuid.PcdTimerVector|7\r
218 gEmbeddedTokenSpaceGuid.PcdTimerPeriod|100000\r
219\r
1e57a462 220[PcdsFixedAtBuild.IPF]\r
221 gEfiMdePkgTokenSpaceGuid.PcdIoBlockBaseAddressForIpf|0x0ffffc000000\r
222\r
223#\r
224# This makes it so you can source level debug with NT32. VC++ debugger limitiation!\r
225#\r
226#[BuildOptions]\r
227# DEBUG_*_IA32_DLINK_FLAGS = /EXPORT:InitializeDriver=$(IMAGE_ENTRY_POINT) /ALIGN:4096 /SUBSYSTEM:CONSOLE\r
228# RELEASE_*_IA32_DLINK_FLAGS = /ALIGN:4096\r
229# *_*_IA32_CC_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D TIANO_RELEASE_VERSION=0x00080006\r
230\r
f6755908
OM
231[BuildOptions]\r
232 RVCT:*_*_ARM_PLATFORM_FLAGS == --cpu=7-A.security\r
233\r
1e57a462 234\r
235################################################################################\r
236#\r
237# Components Section - list of all Modules needed by this Platform\r
238#\r
239################################################################################\r
240[Components.common]\r
3402aac7 241 EmbeddedPkg/Library/EblAddExternalCommandLib/EblAddExternalCommandLib.inf\r
1e57a462 242 EmbeddedPkg/Library/EblCmdLibNull/EblCmdLibNull.inf\r
243 EmbeddedPkg/Library/EfiFileLib/EfiFileLib.inf\r
3402aac7
RC
244 EmbeddedPkg/Library/GdbSerialDebugPortLib/GdbSerialDebugPortLib.inf\r
245 EmbeddedPkg/Library/GdbSerialLib/GdbSerialLib.inf\r
1e57a462 246 EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf\r
247 EmbeddedPkg/Library/PrePiLib/PrePiLib.inf\r
248 EmbeddedPkg/Library/TemplateSerialPortLib/TemplateSerialPortLib.inf\r
249 EmbeddedPkg/Library/TemplateResetSystemLib/TemplateResetSystemLib.inf\r
250 EmbeddedPkg/Library/TemplateRealTimeClockLib/TemplateRealTimeClockLib.inf\r
251 EmbeddedPkg/Library/LzmaHobCustomDecompressLib/LzmaHobCustomDecompressLib.inf\r
252 EmbeddedPkg/Library/NullDmaLib/NullDmaLib.inf\r
253\r
254 EmbeddedPkg/Ebl/Ebl.inf\r
255#### EmbeddedPkg/EblExternCmd/EblExternCmd.inf\r
256 EmbeddedPkg/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf\r
1e57a462 257 EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf\r
258 EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf\r
259 EmbeddedPkg/SerialDxe/SerialDxe.inf\r
260 EmbeddedPkg/SimpleTextInOutSerial/SimpleTextInOutSerial.inf\r
261 EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf\r
262\r
263 EmbeddedPkg/Universal/MmcDxe/MmcDxe.inf\r
1e57a462 264\r
1e9b2bdd
AB
265 # FDT Support\r
266 EmbeddedPkg/Library/FdtLoadLib/FdtLoadLib.inf\r
267\r
f6755908 268 EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.inf\r
d3f99770 269 EmbeddedPkg/Drivers/AndroidFastbootTransportUsbDxe/FastbootTransportUsbDxe.inf\r
4d6e1e5a 270 EmbeddedPkg/Drivers/AndroidFastbootTransportTcpDxe/FastbootTransportTcpDxe.inf\r
f6755908 271\r
785e3cf6
OM
272 # Drivers\r
273 EmbeddedPkg/Drivers/Isp1761UsbDxe/Isp1761UsbDxe.inf\r
46f2c53b 274 EmbeddedPkg/Drivers/Lan9118Dxe/Lan9118Dxe.inf\r
785e3cf6 275\r
35a3e762
OM
276[Components.IA32, Components.X64, Components.IPF, Components.ARM]\r
277 EmbeddedPkg/GdbStub/GdbStub.inf\r