]> git.proxmox.com Git - mirror_edk2.git/blame - ArmVirtPkg/ArmVirtKvmTool.dsc
Maintainers.txt: Update email address
[mirror_edk2.git] / ArmVirtPkg / ArmVirtKvmTool.dsc
CommitLineData
6038e7a2
SM
1# @file\r
2# Workspace file for KVMTool virtual platform.\r
3#\r
5b3c682d 4# Copyright (c) 2018 - 2022, ARM Limited. All rights reserved.\r
6038e7a2
SM
5#\r
6# SPDX-License-Identifier: BSD-2-Clause-Patent\r
7#\r
8#\r
9\r
10################################################################################\r
11#\r
12# Defines Section - statements that will be processed to create a Makefile.\r
13#\r
14################################################################################\r
15[Defines]\r
16 PLATFORM_NAME = ArmVirtKvmTool\r
17 PLATFORM_GUID = 4CB2C61E-FA32-4130-8E37-54ABC71A1A43\r
18 PLATFORM_VERSION = 0.1\r
19 DSC_SPECIFICATION = 0x0001001B\r
20!ifdef $(EDK2_OUT_DIR)\r
21 OUTPUT_DIRECTORY = $(EDK2_OUT_DIR)\r
22!else\r
23 OUTPUT_DIRECTORY = Build/ArmVirtKvmTool-$(ARCH)\r
24!endif\r
25 SUPPORTED_ARCHITECTURES = AARCH64|ARM\r
26 BUILD_TARGETS = DEBUG|RELEASE\r
27 SKUID_IDENTIFIER = DEFAULT\r
28 FLASH_DEFINITION = ArmVirtPkg/ArmVirtKvmTool.fdf\r
29\r
5b3c682d
SM
30[Defines.AARCH64]\r
31 DEFINE ACPIVIEW_ENABLE = TRUE\r
32\r
6038e7a2
SM
33!include ArmVirtPkg/ArmVirt.dsc.inc\r
34\r
17a02163
SM
35!if $(ARCH) == AARCH64\r
36!include DynamicTablesPkg/DynamicTables.dsc.inc\r
37!endif\r
38\r
c8a5d993
DB
39!include MdePkg/MdeLibs.dsc.inc\r
40\r
6038e7a2
SM
41[LibraryClasses.common]\r
42 ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf\r
43 ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf\r
44\r
45 # Virtio Support\r
46 VirtioLib|OvmfPkg/Library/VirtioLib/VirtioLib.inf\r
47 VirtioMmioDeviceLib|OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceLib.inf\r
48\r
49 ArmPlatformLib|ArmPlatformPkg/Library/ArmPlatformLibNull/ArmPlatformLibNull.inf\r
50 ArmVirtMemInfoLib|ArmVirtPkg/Library/KvmtoolVirtMemInfoLib/KvmtoolVirtMemInfoLib.inf\r
51\r
52 TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf\r
53 NorFlashPlatformLib|ArmVirtPkg/Library/NorFlashKvmtoolLib/NorFlashKvmtoolLib.inf\r
54\r
55 CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf\r
56\r
57 # BDS Libraries\r
58 UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf\r
59 PlatformBootManagerLib|ArmPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf\r
60 BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf\r
61\r
62 CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf\r
63 FrameBufferBltLib|MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf\r
64\r
65 FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf\r
66\r
77e9b3a7 67 PciPcdProducerLib|OvmfPkg/Fdt/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf\r
6038e7a2 68 PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf\r
9a7509e4 69 PciHostBridgeLib|OvmfPkg/Fdt/FdtPciHostBridgeLib/FdtPciHostBridgeLib.inf\r
4dda0f7a 70 PciHostBridgeUtilityLib|ArmVirtPkg/Library/ArmVirtPciHostBridgeUtilityLib/ArmVirtPciHostBridgeUtilityLib.inf\r
6038e7a2
SM
71\r
72 TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf\r
73 AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf\r
74\r
75 PlatformPeiLib|ArmVirtPkg/Library/KvmtoolPlatformPeiLib/KvmtoolPlatformPeiLib.inf\r
76\r
77 PciExpressLib|MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf\r
78 PlatformHookLib|ArmVirtPkg/Library/Fdt16550SerialPortHookLib/Fdt16550SerialPortHookLib.inf\r
79 SerialPortLib|MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf\r
80\r
17a02163
SM
81 HwInfoParserLib|DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtHwInfoParserLib.inf\r
82 DynamicPlatRepoLib|DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/DynamicPlatRepoLib.inf\r
83\r
6038e7a2
SM
84[LibraryClasses.common.SEC, LibraryClasses.common.PEI_CORE, LibraryClasses.common.PEIM]\r
85 PciExpressLib|MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf\r
86 PlatformHookLib|ArmVirtPkg/Library/Fdt16550SerialPortHookLib/EarlyFdt16550SerialPortHookLib.inf\r
87 SerialPortLib|MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf\r
88\r
89[LibraryClasses.common.UEFI_DRIVER]\r
90 UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf\r
91\r
92[BuildOptions]\r
93 *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES\r
94 #\r
95 # We need to avoid jump tables in SEC and BASE modules, so that the PE/COFF\r
96 # self-relocation code itself is guaranteed to be position independent.\r
97 #\r
98 GCC:*_*_*_CC_XIPFLAGS = -fno-jump-tables\r
99\r
100################################################################################\r
101#\r
102# Pcd Section - list of all EDK II PCD Entries defined by this Platform\r
103#\r
104################################################################################\r
105\r
106[PcdsFeatureFlag.common]\r
107 ## If TRUE, Graphics Output Protocol will be installed on virtual handle created by ConsplitterDxe.\r
108 # It could be set FALSE to save size.\r
109 gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE\r
110 gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE\r
111\r
112 # Use MMIO for accessing RTC controller registers.\r
113 gPcAtChipsetPkgTokenSpaceGuid.PcdRtcUseMmio|TRUE\r
114\r
115[PcdsFixedAtBuild.common]\r
116 gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000000F\r
117\r
118 gArmPlatformTokenSpaceGuid.PcdCoreCount|1\r
119\r
120!if $(ARCH) == AARCH64\r
121 gArmTokenSpaceGuid.PcdVFPEnabled|1\r
122!endif\r
123\r
124 gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize|0x4000\r
125 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x2000\r
126 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxAuthVariableSize|0x2800\r
127\r
128 # Size of the region used by UEFI in permanent memory (Reserved 64MB)\r
129 gArmPlatformTokenSpaceGuid.PcdSystemMemoryUefiRegionSize|0x04000000\r
130\r
131 #\r
132 # TTY Terminal Type\r
133 # 0-PCANSI, 1-VT100, 2-VT00+, 3-UTF8, 4-TTYTERM\r
134 gEfiMdePkgTokenSpaceGuid.PcdDefaultTerminalType|4\r
135\r
136 #\r
137 # ARM Virtual Architectural Timer -- fetch frequency from KVM\r
138 #\r
139 gArmTokenSpaceGuid.PcdArmArchTimerFreqInHz|0\r
140\r
141 # Use MMIO for accessing Serial port registers.\r
142 gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseMmio|TRUE\r
143 gEfiMdeModulePkgTokenSpaceGuid.PcdSerialPciDeviceInfo|{0xFF}\r
144\r
145 gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE\r
146 gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }\r
147\r
148 #\r
149 # The maximum physical I/O addressability of the processor, set with\r
150 # BuildCpuHob().\r
151 #\r
152 gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize|16\r
153\r
154[PcdsPatchableInModule.common]\r
155 #\r
156 # This will be overridden in the code\r
157 #\r
158 gArmTokenSpaceGuid.PcdSystemMemoryBase|0x0\r
159 gArmTokenSpaceGuid.PcdSystemMemorySize|0x0\r
160\r
161 #\r
162 # The device tree base address is handed off by kvmtool.\r
163 # We are booting from RAM using the Linux kernel boot protocol,\r
164 # x0 will point to the DTB image in memory.\r
165 #\r
166 gArmVirtTokenSpaceGuid.PcdDeviceTreeInitialBaseAddress|0x0\r
167\r
168 gArmTokenSpaceGuid.PcdFdBaseAddress|0x0\r
169 gArmTokenSpaceGuid.PcdFvBaseAddress|0x0\r
170\r
171 gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x0\r
172\r
54cddc3a
AB
173[PcdsDynamicHii]\r
174 gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|L"Timeout"|gEfiGlobalVariableGuid|0x0|5\r
6038e7a2 175\r
54cddc3a 176[PcdsDynamicDefault.common]\r
6038e7a2
SM
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
4dda0f7a
SM
189 #\r
190 # PCI settings\r
191 #\r
192 gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|TRUE\r
193\r
194 # set PcdPciExpressBaseAddress to MAX_UINT64, which signifies that this\r
195 # PCD and PcdPciDisableBusEnumeration above have not been assigned yet\r
196 gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xFFFFFFFFFFFFFFFF\r
197\r
7d78a86e 198 gEfiMdePkgTokenSpaceGuid.PcdPciIoTranslation|0x0\r
4dda0f7a 199\r
6038e7a2
SM
200 #\r
201 # Set video resolution for boot options and for text setup.\r
202 # PlatformDxe can set the former at runtime.\r
203 #\r
204 gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|800\r
205 gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|600\r
206 gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution|640\r
207 gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution|480\r
208\r
6038e7a2
SM
209 # Setup Flash storage variables\r
210 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|0\r
211 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize|0x40000\r
212 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0\r
213 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize|0x40000\r
214 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0\r
215 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize|0x40000\r
216\r
217 ## RTC Register address in MMIO space.\r
218 gPcAtChipsetPkgTokenSpaceGuid.PcdRtcIndexRegister64|0x0\r
219 gPcAtChipsetPkgTokenSpaceGuid.PcdRtcTargetRegister64|0x0\r
220\r
221################################################################################\r
222#\r
223# Components Section - list of all EDK II Modules needed by this Platform\r
224#\r
225################################################################################\r
226[Components.common]\r
227 #\r
228 # PEI Phase modules\r
229 #\r
230 ArmVirtPkg/PrePi/ArmVirtPrePiUniCoreRelocatable.inf {\r
231 <LibraryClasses>\r
232 ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf\r
233 LzmaDecompressLib|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
234 PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf\r
235 HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf\r
236 PrePiHobListPointerLib|ArmPlatformPkg/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf\r
237 MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf\r
238 }\r
239\r
240 #\r
241 # DXE\r
242 #\r
243 MdeModulePkg/Core/Dxe/DxeMain.inf {\r
244 <LibraryClasses>\r
245 NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf\r
246 DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf\r
247 }\r
248 MdeModulePkg/Universal/PCD/Dxe/Pcd.inf {\r
249 <LibraryClasses>\r
250 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
251 }\r
252\r
253 #\r
254 # Architectural Protocols\r
255 #\r
256 ArmPkg/Drivers/CpuDxe/CpuDxe.inf\r
257 MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf\r
258 MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {\r
259 <LibraryClasses>\r
260 NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf\r
261 NULL|EmbeddedPkg/Library/NvVarStoreFormattedLib/NvVarStoreFormattedLib.inf\r
262 BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf\r
263 }\r
264\r
265 MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf\r
266 MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf\r
267 MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf {\r
268 <LibraryClasses>\r
269 NULL|ArmVirtPkg/Library/NorFlashKvmtoolLib/NorFlashKvmtoolLib.inf\r
270 }\r
271\r
272 MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf\r
273 MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf\r
274 MdeModulePkg/Universal/Metronome/Metronome.inf\r
275 PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf {\r
276 <LibraryClasses>\r
277 NULL|ArmVirtPkg/Library/KvmtoolRtcFdtClientLib/KvmtoolRtcFdtClientLib.inf\r
278 }\r
279\r
280 MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf\r
281 MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf\r
282 MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf\r
283 MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf\r
284 MdeModulePkg/Universal/SerialDxe/SerialDxe.inf\r
285\r
286 MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf\r
287\r
288 ArmPkg/Drivers/ArmGic/ArmGicDxe.inf\r
289 ArmPkg/Drivers/TimerDxe/TimerDxe.inf {\r
290 <LibraryClasses>\r
291 NULL|ArmVirtPkg/Library/ArmVirtTimerFdtClientLib/ArmVirtTimerFdtClientLib.inf\r
292 }\r
293\r
294 ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf\r
295\r
296 MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf\r
297\r
298 #\r
299 # Platform Driver\r
300 #\r
301 ArmVirtPkg/KvmtoolPlatformDxe/KvmtoolPlatformDxe.inf\r
e0c23cba 302 OvmfPkg/Fdt/VirtioFdtDxe/VirtioFdtDxe.inf\r
e40fefaf 303 EmbeddedPkg/Drivers/FdtClientDxe/FdtClientDxe.inf\r
d881c6dd 304 OvmfPkg/Fdt/HighMemDxe/HighMemDxe.inf\r
6038e7a2
SM
305 OvmfPkg/VirtioBlkDxe/VirtioBlk.inf\r
306 OvmfPkg/VirtioScsiDxe/VirtioScsi.inf\r
307 OvmfPkg/VirtioNetDxe/VirtioNet.inf\r
308 OvmfPkg/VirtioRngDxe/VirtioRng.inf\r
309\r
310 #\r
311 # FAT filesystem + GPT/MBR partitioning + UDF filesystem\r
312 #\r
313 MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf\r
314 MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf\r
315 MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf\r
316 FatPkg/EnhancedFatDxe/Fat.inf\r
317 MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf\r
318\r
319 #\r
320 # Bds\r
321 #\r
322 MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf {\r
323 <LibraryClasses>\r
324 DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf\r
325 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
326 }\r
327 MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf\r
328 MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf\r
329 MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf\r
330 MdeModulePkg/Universal/BdsDxe/BdsDxe.inf\r
331 MdeModulePkg/Logo/LogoDxe.inf\r
332 MdeModulePkg/Application/UiApp/UiApp.inf {\r
333 <LibraryClasses>\r
334 NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf\r
335 NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf\r
336 NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf\r
337 }\r
338\r
339 #\r
340 # SCSI Bus and Disk Driver\r
341 #\r
342 MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf\r
343 MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf\r
4dda0f7a
SM
344 #\r
345 # PCI support\r
346 #\r
347 ArmPkg/Drivers/ArmPciCpuIo2Dxe/ArmPciCpuIo2Dxe.inf {\r
348 <LibraryClasses>\r
77e9b3a7 349 NULL|OvmfPkg/Fdt/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf\r
ba79becd 350 NULL|OvmfPkg/Library/BaseCachingPciExpressLib/BaseCachingPciExpressLib.inf\r
4dda0f7a
SM
351 }\r
352 MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf {\r
353 <LibraryClasses>\r
77e9b3a7 354 NULL|OvmfPkg/Fdt/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf\r
ba79becd 355 NULL|OvmfPkg/Library/BaseCachingPciExpressLib/BaseCachingPciExpressLib.inf\r
4dda0f7a
SM
356 }\r
357 MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf {\r
358 <LibraryClasses>\r
77e9b3a7 359 NULL|OvmfPkg/Fdt/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf\r
ba79becd 360 NULL|OvmfPkg/Library/BaseCachingPciExpressLib/BaseCachingPciExpressLib.inf\r
4dda0f7a
SM
361 }\r
362 OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf\r
363 OvmfPkg/Virtio10Dxe/Virtio10.inf\r
17a02163
SM
364\r
365!if $(ARCH) == AARCH64\r
366 #\r
367 # ACPI Support\r
368 #\r
369 ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManagerDxe.inf\r
370!endif\r