ShellPkg/for: Fix potential null pointer deference
[mirror_edk2.git] / ArmVirtPkg / ArmVirtQemuKernel.dsc
1 #\r
2 #  Copyright (c) 2011-2015, ARM Limited. All rights reserved.\r
3 #  Copyright (c) 2014, Linaro Limited. All rights reserved.\r
4 #  Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.\r
5 #\r
6 #  This program and the accompanying materials\r
7 #  are licensed and made available under the terms and conditions of the BSD License\r
8 #  which accompanies this distribution.  The full text of the license may be found at\r
9 #  http://opensource.org/licenses/bsd-license.php\r
10 #\r
11 #  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
12 #  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
13 #\r
14 #\r
15 \r
16 ################################################################################\r
17 #\r
18 # Defines Section - statements that will be processed to create a Makefile.\r
19 #\r
20 ################################################################################\r
21 [Defines]\r
22   PLATFORM_NAME                  = ArmVirtQemu\r
23   PLATFORM_GUID                  = 37d7e986-f7e9-45c2-8067-e371421a626c\r
24   PLATFORM_VERSION               = 0.1\r
25   DSC_SPECIFICATION              = 0x00010005\r
26   OUTPUT_DIRECTORY               = Build/ArmVirtQemuKernel-$(ARCH)\r
27   SUPPORTED_ARCHITECTURES        = AARCH64|ARM\r
28   BUILD_TARGETS                  = DEBUG|RELEASE|NOOPT\r
29   SKUID_IDENTIFIER               = DEFAULT\r
30   FLASH_DEFINITION               = ArmVirtPkg/ArmVirtQemuKernel.fdf\r
31 \r
32   #\r
33   # Defines for default states.  These can be changed on the command line.\r
34   # -D FLAG=VALUE\r
35   #\r
36   DEFINE SECURE_BOOT_ENABLE      = FALSE\r
37   DEFINE HTTP_BOOT_ENABLE        = FALSE\r
38 \r
39 !include ArmVirtPkg/ArmVirt.dsc.inc\r
40 \r
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   QemuFwCfgLib|ArmVirtPkg/Library/QemuFwCfgLib/QemuFwCfgLib.inf\r
49   QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/BaseQemuFwCfgS3LibNull.inf\r
50 \r
51   ArmVirtMemInfoLib|ArmVirtPkg/Library/QemuVirtMemInfoLib/QemuVirtMemInfoLib.inf\r
52 \r
53   TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf\r
54   NorFlashPlatformLib|ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.inf\r
55 \r
56   CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf\r
57   BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf\r
58   PlatformBootManagerLib|ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf\r
59   CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf\r
60   QemuBootOrderLib|OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.inf\r
61   FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf\r
62   PciPcdProducerLib|ArmVirtPkg/Library/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf\r
63   PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf\r
64   PciHostBridgeLib|ArmVirtPkg/Library/FdtPciHostBridgeLib/FdtPciHostBridgeLib.inf\r
65 \r
66 !if $(HTTP_BOOT_ENABLE) == TRUE\r
67   HttpLib|MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.inf\r
68 !endif\r
69 \r
70 [LibraryClasses.common.UEFI_DRIVER]\r
71   UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf\r
72 \r
73 [BuildOptions.ARM.EDKII.SEC, BuildOptions.ARM.EDKII.BASE]\r
74   # Avoid MOVT/MOVW instruction pairs in code that may end up in the PIE\r
75   # executable we build for the relocatable PrePi. They are not runtime\r
76   # relocatable in ELF.\r
77   *_CLANG35_*_CC_FLAGS = -mno-movt\r
78 \r
79 ################################################################################\r
80 #\r
81 # Pcd Section - list of all EDK II PCD Entries defined by this Platform\r
82 #\r
83 ################################################################################\r
84 \r
85 [PcdsFeatureFlag.common]\r
86   gUefiOvmfPkgTokenSpaceGuid.PcdQemuBootOrderPciTranslation|TRUE\r
87   gUefiOvmfPkgTokenSpaceGuid.PcdQemuBootOrderMmioTranslation|TRUE\r
88 \r
89   ## If TRUE, Graphics Output Protocol will be installed on virtual handle created by ConsplitterDxe.\r
90   #  It could be set FALSE to save size.\r
91   gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE\r
92   gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE\r
93 \r
94 [PcdsFixedAtBuild.common]\r
95   gArmPlatformTokenSpaceGuid.PcdCoreCount|1\r
96 !if $(ARCH) == AARCH64\r
97   gArmTokenSpaceGuid.PcdVFPEnabled|1\r
98 !endif\r
99 \r
100   gArmPlatformTokenSpaceGuid.PcdCPUCoresStackBase|0x4007c000\r
101   gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize|0x4000\r
102   gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x2000\r
103   gEfiMdeModulePkgTokenSpaceGuid.PcdMaxAuthVariableSize|0x2800\r
104 \r
105   # Size of the region used by UEFI in permanent memory (Reserved 64MB)\r
106   gArmPlatformTokenSpaceGuid.PcdSystemMemoryUefiRegionSize|0x04000000\r
107 \r
108   ## Trustzone enable (to make the transition from EL3 to EL2 in ArmPlatformPkg/Sec)\r
109   gArmTokenSpaceGuid.PcdTrustzoneSupport|FALSE\r
110 \r
111   #\r
112   # ARM PrimeCell\r
113   #\r
114 \r
115   ## PL011 - Serial Terminal\r
116   gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|38400\r
117 \r
118   ## Default Terminal Type\r
119   ## 0-PCANSI, 1-VT100, 2-VT00+, 3-UTF8, 4-TTYTERM\r
120 !if $(TTY_TERMINAL) == TRUE\r
121   gEfiMdePkgTokenSpaceGuid.PcdDefaultTerminalType|4\r
122 !else\r
123   gEfiMdePkgTokenSpaceGuid.PcdDefaultTerminalType|1\r
124 !endif\r
125 \r
126   #\r
127   # ARM Virtual Architectural Timer -- fetch frequency from QEMU (TCG) or KVM\r
128   #\r
129   gArmTokenSpaceGuid.PcdArmArchTimerFreqInHz|0\r
130 \r
131 !if $(HTTP_BOOT_ENABLE) == TRUE\r
132   gEfiNetworkPkgTokenSpaceGuid.PcdAllowHttpConnections|TRUE\r
133 !endif\r
134 \r
135 [PcdsPatchableInModule.common]\r
136   #\r
137   # This will be overridden in the code\r
138   #\r
139   gArmTokenSpaceGuid.PcdSystemMemoryBase|0x0\r
140   gArmTokenSpaceGuid.PcdSystemMemorySize|0x0\r
141 \r
142   #\r
143   # Define a default initial address for the device tree.\r
144   # Ignored if x0 != 0 at entry.\r
145   #\r
146   gArmVirtTokenSpaceGuid.PcdDeviceTreeInitialBaseAddress|0x40000000\r
147 \r
148   gArmTokenSpaceGuid.PcdFdBaseAddress|0x0\r
149   gArmTokenSpaceGuid.PcdFvBaseAddress|0x0\r
150 \r
151 [PcdsFixedAtBuild.AARCH64]\r
152 \r
153   gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE\r
154   gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }\r
155 \r
156   #\r
157   # The maximum physical I/O addressability of the processor, set with\r
158   # BuildCpuHob().\r
159   #\r
160   gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize|16\r
161 \r
162   # KVM limits it IPA space to 40 bits (1 TB), so there is no need to\r
163   # support anything bigger, even if the host hardware does\r
164   gEmbeddedTokenSpaceGuid.PcdPrePiCpuMemorySize|40\r
165 \r
166 [PcdsDynamicDefault.common]\r
167   gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|3\r
168 \r
169   ## If TRUE, OvmfPkg/AcpiPlatformDxe will not wait for PCI\r
170   #  enumeration to complete before installing ACPI tables.\r
171   gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|TRUE\r
172 \r
173   gArmTokenSpaceGuid.PcdArmArchTimerSecIntrNum|0x0\r
174   gArmTokenSpaceGuid.PcdArmArchTimerIntrNum|0x0\r
175   gArmTokenSpaceGuid.PcdArmArchTimerVirtIntrNum|0x0\r
176   gArmTokenSpaceGuid.PcdArmArchTimerHypIntrNum|0x0\r
177 \r
178   #\r
179   # ARM General Interrupt Controller\r
180   #\r
181   gArmTokenSpaceGuid.PcdGicDistributorBase|0x0\r
182   gArmTokenSpaceGuid.PcdGicRedistributorsBase|0x0\r
183   gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0x0\r
184 \r
185   ## PL031 RealTimeClock\r
186   gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0x0\r
187 \r
188   # set PcdPciExpressBaseAddress to MAX_UINT64, which signifies that this\r
189   # PCD and PcdPciDisableBusEnumeration above have not been assigned yet\r
190   gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xFFFFFFFFFFFFFFFF\r
191 \r
192   gArmTokenSpaceGuid.PcdPciIoTranslation|0x0\r
193 \r
194   #\r
195   # Set video resolution for boot options and for text setup.\r
196   # PlatformDxe can set the former at runtime.\r
197   #\r
198   gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|800\r
199   gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|600\r
200   gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution|640\r
201   gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution|480\r
202 \r
203   #\r
204   # SMBIOS entry point version\r
205   #\r
206   gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0300\r
207   gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev|0x0\r
208   gUefiOvmfPkgTokenSpaceGuid.PcdQemuSmbiosValidated|FALSE\r
209 \r
210 ################################################################################\r
211 #\r
212 # Components Section - list of all EDK II Modules needed by this Platform\r
213 #\r
214 ################################################################################\r
215 [Components.common]\r
216   #\r
217   # PEI Phase modules\r
218   #\r
219   ArmVirtPkg/PrePi/ArmVirtPrePiUniCoreRelocatable.inf {\r
220     <LibraryClasses>\r
221       ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf\r
222       LzmaDecompressLib|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
223       PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf\r
224       HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf\r
225       PrePiHobListPointerLib|ArmPlatformPkg/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf\r
226       MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.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   }\r
236   MdeModulePkg/Universal/PCD/Dxe/Pcd.inf {\r
237     <LibraryClasses>\r
238       PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
239   }\r
240 \r
241   #\r
242   # Architectural Protocols\r
243   #\r
244   ArmPkg/Drivers/CpuDxe/CpuDxe.inf\r
245   MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf\r
246   MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {\r
247     <LibraryClasses>\r
248       NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf\r
249       # don't use unaligned CopyMem () on the UEFI varstore NOR flash region\r
250       BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf\r
251   }\r
252 !if $(SECURE_BOOT_ENABLE) == TRUE\r
253   MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf {\r
254     <LibraryClasses>\r
255       NULL|SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf\r
256   }\r
257   SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf\r
258 !else\r
259   MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf\r
260 !endif\r
261   MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf\r
262   MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf\r
263   MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf\r
264   MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf\r
265   EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf {\r
266     <LibraryClasses>\r
267       NULL|ArmVirtPkg/Library/ArmVirtPL031FdtClientLib/ArmVirtPL031FdtClientLib.inf\r
268   }\r
269   EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf\r
270 \r
271   MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf\r
272   MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf\r
273   MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf\r
274   MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf\r
275   MdeModulePkg/Universal/SerialDxe/SerialDxe.inf\r
276 \r
277   MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf\r
278 \r
279   ArmPkg/Drivers/ArmGic/ArmGicDxe.inf\r
280   ArmPkg/Drivers/TimerDxe/TimerDxe.inf {\r
281     <LibraryClasses>\r
282       NULL|ArmVirtPkg/Library/ArmVirtTimerFdtClientLib/ArmVirtTimerFdtClientLib.inf\r
283   }\r
284   ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf\r
285   MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf\r
286 \r
287   #\r
288   # Platform Driver\r
289   #\r
290   ArmVirtPkg/VirtioFdtDxe/VirtioFdtDxe.inf\r
291   ArmVirtPkg/FdtClientDxe/FdtClientDxe.inf\r
292   ArmVirtPkg/HighMemDxe/HighMemDxe.inf\r
293   OvmfPkg/VirtioBlkDxe/VirtioBlk.inf\r
294   OvmfPkg/VirtioScsiDxe/VirtioScsi.inf\r
295   OvmfPkg/VirtioNetDxe/VirtioNet.inf\r
296   OvmfPkg/VirtioRngDxe/VirtioRng.inf\r
297 \r
298   #\r
299   # FAT filesystem + GPT/MBR partitioning + UDF filesystem\r
300   #\r
301   MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf\r
302   MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf\r
303   MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf\r
304   FatPkg/EnhancedFatDxe/Fat.inf\r
305   MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf\r
306 \r
307   #\r
308   # Bds\r
309   #\r
310   MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
311   MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf\r
312   MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf\r
313   MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf\r
314   MdeModulePkg/Universal/BdsDxe/BdsDxe.inf\r
315   MdeModulePkg/Logo/LogoDxe.inf\r
316   MdeModulePkg/Application/UiApp/UiApp.inf {\r
317     <LibraryClasses>\r
318       NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf\r
319       NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf\r
320       NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf\r
321   }\r
322 \r
323   #\r
324   # Networking stack\r
325   #\r
326   MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf\r
327   MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf\r
328   MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf\r
329   MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf\r
330   MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf\r
331   MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf\r
332   MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf\r
333   MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf\r
334   MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf\r
335   MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf\r
336   MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf\r
337 !if $(HTTP_BOOT_ENABLE) == TRUE\r
338   NetworkPkg/DnsDxe/DnsDxe.inf\r
339   NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf\r
340   NetworkPkg/HttpDxe/HttpDxe.inf\r
341   NetworkPkg/HttpBootDxe/HttpBootDxe.inf\r
342 !endif\r
343 \r
344   #\r
345   # SCSI Bus and Disk Driver\r
346   #\r
347   MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf\r
348   MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf\r
349 \r
350   #\r
351   # SMBIOS Support\r
352   #\r
353   MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf {\r
354     <LibraryClasses>\r
355       NULL|OvmfPkg/Library/SmbiosVersionLib/DetectSmbiosVersionLib.inf\r
356   }\r
357   OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf\r
358 \r
359   #\r
360   # PCI support\r
361   #\r
362   ArmPkg/Drivers/ArmPciCpuIo2Dxe/ArmPciCpuIo2Dxe.inf {\r
363     <LibraryClasses>\r
364       NULL|ArmVirtPkg/Library/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf\r
365   }\r
366   MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf\r
367   MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf {\r
368     <LibraryClasses>\r
369       NULL|ArmVirtPkg/Library/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf\r
370   }\r
371   OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf\r
372   OvmfPkg/Virtio10Dxe/Virtio10.inf\r
373 \r
374   #\r
375   # Video support\r
376   #\r
377   OvmfPkg/VirtioGpuDxe/VirtioGpu.inf\r
378   OvmfPkg/PlatformDxe/Platform.inf\r
379 \r
380   #\r
381   # USB Support\r
382   #\r
383   MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf\r
384   MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf\r
385   MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf\r
386   MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf\r
387   MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf\r
388   MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf\r
389 \r
390   #\r
391   # ACPI Support\r
392   #\r
393   ArmVirtPkg/PlatformHasAcpiDtDxe/PlatformHasAcpiDtDxe.inf\r
394 [Components.AARCH64]\r
395   MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf\r
396   OvmfPkg/AcpiPlatformDxe/QemuFwCfgAcpiPlatformDxe.inf {\r
397     <LibraryClasses>\r
398       NULL|ArmVirtPkg/Library/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf\r
399   }\r