]> git.proxmox.com Git - mirror_edk2.git/blame - ArmVirtPkg/ArmVirtCloudHv.dsc
Maintainers.txt: Update email address
[mirror_edk2.git] / ArmVirtPkg / ArmVirtCloudHv.dsc
CommitLineData
0e3b6bd0
JW
1#\r
2# Copyright (c) 2021, ARM Limited. All rights reserved.\r
3#\r
4# SPDX-License-Identifier: BSD-2-Clause-Patent\r
5#\r
6#\r
7\r
8################################################################################\r
9#\r
10# Defines Section - statements that will be processed to create a Makefile.\r
11#\r
12################################################################################\r
13[Defines]\r
14 PLATFORM_NAME = ArmVirtCloudHv\r
15 PLATFORM_GUID = DFFED32B-DFFE-D32B-DFFE-D32BDFFED32B\r
16 PLATFORM_VERSION = 0.1\r
17 DSC_SPECIFICATION = 0x00010005\r
18 OUTPUT_DIRECTORY = Build/ArmVirtCloudHv-$(ARCH)\r
19 SUPPORTED_ARCHITECTURES = AARCH64|ARM\r
20 BUILD_TARGETS = DEBUG|RELEASE|NOOPT\r
21 SKUID_IDENTIFIER = DEFAULT\r
22 FLASH_DEFINITION = ArmVirtPkg/ArmVirtCloudHv.fdf\r
23\r
24 #\r
25 # Defines for default states. These can be changed on the command line.\r
26 # -D FLAG=VALUE\r
27 #\r
28 DEFINE TTY_TERMINAL = FALSE\r
29 DEFINE SECURE_BOOT_ENABLE = FALSE\r
30\r
31!include ArmVirtPkg/ArmVirt.dsc.inc\r
32\r
33[LibraryClasses.common]\r
34 ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf\r
35 ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf\r
36\r
37 # Virtio Support\r
38 VirtioLib|OvmfPkg/Library/VirtioLib/VirtioLib.inf\r
39 VirtioMmioDeviceLib|OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceLib.inf\r
40\r
41 ArmPlatformLib|ArmPlatformPkg/Library/ArmPlatformLibNull/ArmPlatformLibNull.inf\r
42\r
43 TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf\r
44 CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf\r
45 BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf\r
46 PlatformBootManagerLib|ArmPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf\r
47 PlatformBmPrintScLib|OvmfPkg/Library/PlatformBmPrintScLib/PlatformBmPrintScLib.inf\r
48 CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf\r
49 FrameBufferBltLib|MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf\r
50 QemuBootOrderLib|OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.inf\r
51 FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf\r
77e9b3a7 52 PciPcdProducerLib|OvmfPkg/Fdt/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf\r
0e3b6bd0 53 PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf\r
9a7509e4 54 PciHostBridgeLib|OvmfPkg/Fdt/FdtPciHostBridgeLib/FdtPciHostBridgeLib.inf\r
0e3b6bd0
JW
55 PciHostBridgeUtilityLib|ArmVirtPkg/Library/ArmVirtPciHostBridgeUtilityLib/ArmVirtPciHostBridgeUtilityLib.inf\r
56\r
57 TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf\r
b3685956 58 TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLibNull/PeiDxeTpmPlatformHierarchyLib.inf\r
0e3b6bd0
JW
59\r
60!include MdePkg/MdeLibs.dsc.inc\r
61\r
62[LibraryClasses.common.PEIM]\r
63 ArmVirtMemInfoLib|ArmVirtPkg/Library/QemuVirtMemInfoLib/QemuVirtMemInfoPeiLib.inf\r
64\r
65[LibraryClasses.common.DXE_DRIVER]\r
66 ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf\r
67\r
68[LibraryClasses.common.UEFI_DRIVER]\r
69 UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf\r
70\r
71[BuildOptions]\r
72!include NetworkPkg/NetworkBuildOptions.dsc.inc\r
73\r
74################################################################################\r
75#\r
76# Pcd Section - list of all EDK II PCD Entries defined by this Platform\r
77#\r
78################################################################################\r
79\r
80[PcdsFeatureFlag.common]\r
81 ## If TRUE, Graphics Output Protocol will be installed on virtual handle created by ConsplitterDxe.\r
82 # It could be set FALSE to save size.\r
83 gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE\r
84 gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE\r
85\r
86 gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|TRUE\r
87\r
88[PcdsFixedAtBuild.common]\r
89!if $(ARCH) == AARCH64\r
90 gArmTokenSpaceGuid.PcdVFPEnabled|1\r
91!endif\r
92\r
93 gArmPlatformTokenSpaceGuid.PcdCPUCoresStackBase|0x4007c000\r
94 gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0\r
95 gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize|0x4000\r
96 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x2000\r
97 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxAuthVariableSize|0x2800\r
98\r
99 # Rsdp base address in Cloud Hypervisor\r
100 gArmVirtTokenSpaceGuid.PcdCloudHvAcpiRsdpBaseAddress|0x40200000\r
101\r
102 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|0x4000000\r
103 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize|0x40000\r
104 gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvModeEnable|TRUE\r
105!if $(NETWORK_TLS_ENABLE) == TRUE\r
106 #\r
107 # The cumulative and individual VOLATILE variable size limits should be set\r
108 # high enough for accommodating several and/or large CA certificates.\r
109 #\r
110 gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0x80000\r
111 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVolatileVariableSize|0x40000\r
112!endif\r
113\r
114 # Size of the region used by UEFI in permanent memory (Reserved 64MB)\r
115 gArmPlatformTokenSpaceGuid.PcdSystemMemoryUefiRegionSize|0x04000000\r
116\r
117 #\r
118 # ARM PrimeCell\r
119 #\r
120\r
121 ## PL011 - Serial Terminal\r
122 gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|38400\r
123\r
124 ## Default Terminal Type\r
125 ## 0-PCANSI, 1-VT100, 2-VT00+, 3-UTF8, 4-TTYTERM\r
126 gEfiMdePkgTokenSpaceGuid.PcdDefaultTerminalType|4\r
127\r
128 # System Memory Base -- fixed at 0x4000_0000\r
129 gArmTokenSpaceGuid.PcdSystemMemoryBase|0x40000000\r
130\r
131 # initial location of the device tree blob passed by Cloud Hypervisor -- base of DRAM\r
132 gArmVirtTokenSpaceGuid.PcdDeviceTreeInitialBaseAddress|0x40000000\r
133\r
134 gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE\r
135 gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }\r
136\r
137 #\r
138 # The maximum physical I/O addressability of the processor, set with\r
139 # BuildCpuHob().\r
140 #\r
141 gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize|16\r
142\r
143 #\r
144 # Enable the non-executable DXE stack. (This gets set up by DxeIpl)\r
145 #\r
146 gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|TRUE\r
147\r
148!if $(SECURE_BOOT_ENABLE) == TRUE\r
149 # override the default values from SecurityPkg to ensure images from all sources are verified in secure boot\r
150 gEfiSecurityPkgTokenSpaceGuid.PcdOptionRomImageVerificationPolicy|0x04\r
151 gEfiSecurityPkgTokenSpaceGuid.PcdFixedMediaImageVerificationPolicy|0x04\r
152 gEfiSecurityPkgTokenSpaceGuid.PcdRemovableMediaImageVerificationPolicy|0x04\r
153!endif\r
154\r
155 gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|3\r
156 gEfiShellPkgTokenSpaceGuid.PcdShellFileOperationSize|0x20000\r
157\r
158[PcdsFixedAtBuild.AARCH64]\r
159 # Clearing BIT0 in this PCD prevents installing a 32-bit SMBIOS entry point,\r
160 # if the entry point version is >= 3.0. AARCH64 OSes cannot assume the\r
161 # presence of the 32-bit entry point anyway (because many AARCH64 systems\r
162 # don't have 32-bit addressable physical RAM), and the additional allocations\r
163 # below 4 GB needlessly fragment the memory map. So expose the 64-bit entry\r
164 # point only, for entry point versions >= 3.0.\r
165 gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosEntryPointProvideMethod|0x2\r
166\r
167[PcdsDynamicDefault.common]\r
168 gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|3\r
169\r
170 ## If TRUE, OvmfPkg/AcpiPlatformDxe will not wait for PCI\r
171 # enumeration to complete before installing ACPI tables.\r
172 gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|TRUE\r
173\r
174 # System Memory Size -- 1 MB initially, actual size will be fetched from DT\r
175 gArmTokenSpaceGuid.PcdSystemMemorySize|0x00100000\r
176\r
177 gArmTokenSpaceGuid.PcdArmArchTimerSecIntrNum|0x0\r
178 gArmTokenSpaceGuid.PcdArmArchTimerIntrNum|0x0\r
179 gArmTokenSpaceGuid.PcdArmArchTimerVirtIntrNum|0x0\r
180 gArmTokenSpaceGuid.PcdArmArchTimerHypIntrNum|0x0\r
181\r
182 #\r
183 # ARM General Interrupt Controller\r
184 #\r
185 gArmTokenSpaceGuid.PcdGicDistributorBase|0x0\r
186 gArmTokenSpaceGuid.PcdGicRedistributorsBase|0x0\r
187 gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0x0\r
188\r
189 ## PL031 RealTimeClock\r
190 gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0x0\r
191\r
192 # set PcdPciExpressBaseAddress to MAX_UINT64, which signifies that this\r
193 # PCD and PcdPciDisableBusEnumeration above have not been assigned yet\r
194 gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xFFFFFFFFFFFFFFFF\r
195\r
7d78a86e 196 gEfiMdePkgTokenSpaceGuid.PcdPciIoTranslation|0\r
0e3b6bd0
JW
197\r
198 gEfiSecurityPkgTokenSpaceGuid.PcdTpmBaseAddress|0x0\r
199\r
200[PcdsDynamicHii]\r
201 gArmVirtTokenSpaceGuid.PcdForceNoAcpi|L"ForceNoAcpi"|gArmVirtVariableGuid|0x0|FALSE|NV,BS\r
202\r
203################################################################################\r
204#\r
205# Components Section - list of all EDK II Modules needed by this Platform\r
206#\r
207################################################################################\r
208[Components.common]\r
209 #\r
210 # PEI Phase modules\r
211 #\r
212 ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf\r
213 MdeModulePkg/Core/Pei/PeiMain.inf\r
214 MdeModulePkg/Universal/PCD/Pei/Pcd.inf {\r
215 <LibraryClasses>\r
216 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
217 }\r
218 ArmPlatformPkg/PlatformPei/PlatformPeim.inf\r
219 ArmPlatformPkg/MemoryInitPei/MemoryInitPeim.inf\r
220 ArmPkg/Drivers/CpuPei/CpuPei.inf\r
221\r
222 MdeModulePkg/Universal/Variable/Pei/VariablePei.inf\r
223\r
224 MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf {\r
225 <LibraryClasses>\r
226 NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
227 }\r
228\r
229 #\r
230 # DXE\r
231 #\r
232 MdeModulePkg/Core/Dxe/DxeMain.inf {\r
233 <LibraryClasses>\r
234 NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf\r
235 DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf\r
236 }\r
237 MdeModulePkg/Universal/PCD/Dxe/Pcd.inf {\r
238 <LibraryClasses>\r
239 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
240 }\r
241\r
242 #\r
243 # Architectural Protocols\r
244 #\r
245 ArmPkg/Drivers/CpuDxe/CpuDxe.inf\r
246 MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf\r
247 MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {\r
248 <LibraryClasses>\r
249 NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf\r
250 # don't use unaligned CopyMem () on the UEFI varstore NOR flash region\r
251 BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf\r
252 }\r
253!if $(SECURE_BOOT_ENABLE) == TRUE\r
254 MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf {\r
255 <LibraryClasses>\r
256 NULL|SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf\r
257 }\r
258 SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf\r
259 OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.inf\r
260!else\r
261 MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf\r
262!endif\r
263 MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf\r
264 MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf\r
265 MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf\r
266 MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf\r
267 EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf {\r
268 <LibraryClasses>\r
269 NULL|ArmVirtPkg/Library/ArmVirtPL031FdtClientLib/ArmVirtPL031FdtClientLib.inf\r
270 }\r
271 EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf\r
272\r
273 MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf\r
274 MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf\r
275 MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf\r
276 MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf\r
277 MdeModulePkg/Universal/SerialDxe/SerialDxe.inf\r
278\r
279 MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf\r
280\r
281 ArmPkg/Drivers/ArmGic/ArmGicDxe.inf\r
282 ArmPkg/Drivers/TimerDxe/TimerDxe.inf {\r
283 <LibraryClasses>\r
284 NULL|ArmVirtPkg/Library/ArmVirtTimerFdtClientLib/ArmVirtTimerFdtClientLib.inf\r
285 }\r
286 MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf\r
287\r
288 #\r
289 # Status Code Routing\r
290 #\r
291 MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf\r
292\r
293 #\r
294 # Platform Driver\r
295 #\r
e0c23cba 296 OvmfPkg/Fdt/VirtioFdtDxe/VirtioFdtDxe.inf\r
e40fefaf 297 EmbeddedPkg/Drivers/FdtClientDxe/FdtClientDxe.inf\r
d881c6dd 298 OvmfPkg/Fdt/HighMemDxe/HighMemDxe.inf\r
0e3b6bd0
JW
299 OvmfPkg/VirtioBlkDxe/VirtioBlk.inf\r
300 OvmfPkg/VirtioScsiDxe/VirtioScsi.inf\r
301 OvmfPkg/VirtioNetDxe/VirtioNet.inf\r
302 OvmfPkg/VirtioRngDxe/VirtioRng.inf\r
303\r
304 #\r
305 # FAT filesystem + GPT/MBR partitioning + UDF filesystem + virtio-fs\r
306 #\r
307 MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf\r
308 MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf\r
309 MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf\r
310 FatPkg/EnhancedFatDxe/Fat.inf\r
311 MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf\r
312 OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf\r
313\r
314 #\r
315 # Bds\r
316 #\r
317 MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf {\r
318 <LibraryClasses>\r
319 DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf\r
320 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
321 }\r
322 MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf\r
323 MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf\r
324 MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf\r
325 MdeModulePkg/Universal/BdsDxe/BdsDxe.inf\r
326 MdeModulePkg/Logo/LogoDxe.inf\r
327 MdeModulePkg/Application/UiApp/UiApp.inf {\r
328 <LibraryClasses>\r
329 NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf\r
330 NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf\r
331 NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf\r
332 }\r
333\r
334 #\r
335 # SCSI Bus and Disk Driver\r
336 #\r
337 MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf\r
338 MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf\r
339\r
340 #\r
341 # PCI support\r
342 #\r
343 ArmPkg/Drivers/ArmPciCpuIo2Dxe/ArmPciCpuIo2Dxe.inf {\r
344 <LibraryClasses>\r
77e9b3a7 345 NULL|OvmfPkg/Fdt/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf\r
0e3b6bd0
JW
346 }\r
347 MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf\r
348 MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf {\r
349 <LibraryClasses>\r
77e9b3a7 350 NULL|OvmfPkg/Fdt/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf\r
0e3b6bd0
JW
351 }\r
352 OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf\r
353 OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf\r
354 OvmfPkg/Virtio10Dxe/Virtio10.inf\r
355\r
356 #\r
357 # ACPI Support\r
358 #\r
359 ArmVirtPkg/CloudHvPlatformHasAcpiDtDxe/CloudHvHasAcpiDtDxe.inf\r
360[Components.AARCH64]\r
361 MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf\r
362 ArmVirtPkg/CloudHvAcpiPlatformDxe/CloudHvAcpiPlatformDxe.inf {\r
363 <LibraryClasses>\r
77e9b3a7 364 NULL|OvmfPkg/Fdt/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf\r
0e3b6bd0 365 }\r