1 | #
|
---|
2 | # Copyright (c) 2011-2015, ARM Limited. All rights reserved.
|
---|
3 | # Copyright (c) 2014, Linaro Limited. All rights reserved.
|
---|
4 | # Copyright (c) 2015 - 2020, Intel Corporation. All rights reserved.
|
---|
5 | #
|
---|
6 | # SPDX-License-Identifier: BSD-2-Clause-Patent
|
---|
7 | #
|
---|
8 | #
|
---|
9 |
|
---|
10 | ################################################################################
|
---|
11 | #
|
---|
12 | # Defines Section - statements that will be processed to create a Makefile.
|
---|
13 | #
|
---|
14 | ################################################################################
|
---|
15 | [Defines]
|
---|
16 | PLATFORM_NAME = ArmVirtQemu
|
---|
17 | PLATFORM_GUID = 37d7e986-f7e9-45c2-8067-e371421a626c
|
---|
18 | PLATFORM_VERSION = 0.1
|
---|
19 | DSC_SPECIFICATION = 0x00010005
|
---|
20 | !ifndef $(VBOX_OUTPUT_BASE_DIR)
|
---|
21 | OUTPUT_DIRECTORY = Build/ArmVirtQemu-$(ARCH)
|
---|
22 | !else
|
---|
23 | !if $(ARCH) == AARCH64
|
---|
24 | OUTPUT_DIRECTORY = $(VBOX_OUTPUT_BASE_DIR)/aarch64
|
---|
25 | !else
|
---|
26 | OUTPUT_DIRECTORY = $(VBOX_OUTPUT_BASE_DIR)/aarch32
|
---|
27 | !endif
|
---|
28 | !endif
|
---|
29 | SUPPORTED_ARCHITECTURES = AARCH64|ARM
|
---|
30 | BUILD_TARGETS = DEBUG|RELEASE|NOOPT
|
---|
31 | SKUID_IDENTIFIER = DEFAULT
|
---|
32 | FLASH_DEFINITION = ArmVirtPkg/ArmVirtQemu.fdf
|
---|
33 |
|
---|
34 | #
|
---|
35 | # Defines for default states. These can be changed on the command line.
|
---|
36 | # -D FLAG=VALUE
|
---|
37 | #
|
---|
38 | DEFINE TTY_TERMINAL = FALSE
|
---|
39 | DEFINE SECURE_BOOT_ENABLE = FALSE
|
---|
40 | DEFINE TPM2_ENABLE = FALSE
|
---|
41 | DEFINE TPM2_CONFIG_ENABLE = FALSE
|
---|
42 | DEFINE CAVIUM_ERRATUM_27456 = FALSE
|
---|
43 |
|
---|
44 | #
|
---|
45 | # Network definition
|
---|
46 | #
|
---|
47 | DEFINE NETWORK_IP6_ENABLE = FALSE
|
---|
48 | DEFINE NETWORK_HTTP_BOOT_ENABLE = FALSE
|
---|
49 | DEFINE NETWORK_SNP_ENABLE = FALSE
|
---|
50 | DEFINE NETWORK_TLS_ENABLE = FALSE
|
---|
51 | DEFINE NETWORK_ALLOW_HTTP_CONNECTIONS = TRUE
|
---|
52 | DEFINE NETWORK_ISCSI_ENABLE = FALSE
|
---|
53 |
|
---|
54 | !if $(NETWORK_SNP_ENABLE) == TRUE
|
---|
55 | !error "NETWORK_SNP_ENABLE is IA32/X64/EBC only"
|
---|
56 | !endif
|
---|
57 |
|
---|
58 | !include NetworkPkg/NetworkDefines.dsc.inc
|
---|
59 |
|
---|
60 | !include ArmVirtPkg/ArmVirt.dsc.inc
|
---|
61 |
|
---|
62 | !include MdePkg/MdeLibs.dsc.inc
|
---|
63 |
|
---|
64 | [LibraryClasses.common]
|
---|
65 | ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
|
---|
66 | ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf
|
---|
67 |
|
---|
68 | # Virtio Support
|
---|
69 | VirtioLib|OvmfPkg/Library/VirtioLib/VirtioLib.inf
|
---|
70 | VirtioMmioDeviceLib|OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceLib.inf
|
---|
71 | QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLibMmio.inf
|
---|
72 | QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/BaseQemuFwCfgS3LibNull.inf
|
---|
73 | QemuFwCfgSimpleParserLib|OvmfPkg/Library/QemuFwCfgSimpleParserLib/QemuFwCfgSimpleParserLib.inf
|
---|
74 | QemuLoadImageLib|OvmfPkg/Library/GenericQemuLoadImageLib/GenericQemuLoadImageLib.inf
|
---|
75 |
|
---|
76 | TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf
|
---|
77 | VirtNorFlashPlatformLib|ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.inf
|
---|
78 |
|
---|
79 | CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
|
---|
80 | BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf
|
---|
81 | PlatformBootManagerLib|ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
|
---|
82 | PlatformBmPrintScLib|OvmfPkg/Library/PlatformBmPrintScLib/PlatformBmPrintScLib.inf
|
---|
83 | CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
|
---|
84 | FrameBufferBltLib|MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf
|
---|
85 | QemuBootOrderLib|OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.inf
|
---|
86 | FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
|
---|
87 | PciPcdProducerLib|OvmfPkg/Fdt/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf
|
---|
88 | PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf
|
---|
89 | PciHostBridgeLib|OvmfPkg/Fdt/FdtPciHostBridgeLib/FdtPciHostBridgeLib.inf
|
---|
90 | PciHostBridgeUtilityLib|OvmfPkg/Library/PciHostBridgeUtilityLib/PciHostBridgeUtilityLib.inf
|
---|
91 | PeiHardwareInfoLib|OvmfPkg/Library/HardwareInfoLib/PeiHardwareInfoLib.inf
|
---|
92 |
|
---|
93 | !if $(TPM2_ENABLE) == TRUE
|
---|
94 | Tpm2CommandLib|SecurityPkg/Library/Tpm2CommandLib/Tpm2CommandLib.inf
|
---|
95 | Tcg2PhysicalPresenceLib|OvmfPkg/Library/Tcg2PhysicalPresenceLibQemu/DxeTcg2PhysicalPresenceLib.inf
|
---|
96 | TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf
|
---|
97 | TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLib/PeiDxeTpmPlatformHierarchyLib.inf
|
---|
98 | !else
|
---|
99 | TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf
|
---|
100 | TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLibNull/PeiDxeTpmPlatformHierarchyLib.inf
|
---|
101 | !endif
|
---|
102 |
|
---|
103 | [LibraryClasses.AARCH64]
|
---|
104 | !ifndef $(VBOX)
|
---|
105 | ArmPlatformLib|ArmVirtPkg/Library/ArmPlatformLibQemu/ArmPlatformLibQemu.inf
|
---|
106 | !else
|
---|
107 | ArmPlatformLib|ArmPlatformPkg/Library/ArmPlatformLibNull/ArmPlatformLibNull.inf
|
---|
108 | !endif
|
---|
109 |
|
---|
110 | [LibraryClasses.ARM]
|
---|
111 | ArmPlatformLib|ArmPlatformPkg/Library/ArmPlatformLibNull/ArmPlatformLibNull.inf
|
---|
112 |
|
---|
113 | [LibraryClasses.common.PEIM]
|
---|
114 | !ifndef $(VBOX)
|
---|
115 | ArmVirtMemInfoLib|ArmVirtPkg/Library/QemuVirtMemInfoLib/QemuVirtMemInfoPeiLib.inf
|
---|
116 | !else
|
---|
117 | ArmVirtMemInfoLib|VBoxPkg/Library/VBoxVirtMemInfoLib/VBoxVirtMemInfoPeiLib.inf
|
---|
118 | !endif
|
---|
119 |
|
---|
120 | !if $(TPM2_ENABLE) == TRUE
|
---|
121 | BaseCryptLib|CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
|
---|
122 | ResetSystemLib|MdeModulePkg/Library/PeiResetSystemLib/PeiResetSystemLib.inf
|
---|
123 | Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.inf
|
---|
124 | !endif
|
---|
125 |
|
---|
126 | [LibraryClasses.AARCH64.PEIM]
|
---|
127 | ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuPeiLib.inf
|
---|
128 |
|
---|
129 | [LibraryClasses.common.DXE_DRIVER]
|
---|
130 | AcpiPlatformLib|OvmfPkg/Library/AcpiPlatformLib/DxeAcpiPlatformLib.inf
|
---|
131 | ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
|
---|
132 |
|
---|
133 | !if $(TPM2_ENABLE) == TRUE
|
---|
134 | Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTcg2/Tpm2DeviceLibTcg2.inf
|
---|
135 | !endif
|
---|
136 |
|
---|
137 | [LibraryClasses.common.UEFI_DRIVER]
|
---|
138 | UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
|
---|
139 |
|
---|
140 | [BuildOptions]
|
---|
141 | !ifndef $(VBOX) # Don't clear the XIPFLAGS as we run with MMU disabled (no early ID mapping).
|
---|
142 | !if $(CAVIUM_ERRATUM_27456) == TRUE
|
---|
143 | GCC:*_*_AARCH64_PP_FLAGS = -DCAVIUM_ERRATUM_27456
|
---|
144 | !else
|
---|
145 | GCC:*_*_AARCH64_CC_XIPFLAGS ==
|
---|
146 | !endif
|
---|
147 | !endif
|
---|
148 |
|
---|
149 | !include NetworkPkg/NetworkBuildOptions.dsc.inc
|
---|
150 |
|
---|
151 | ################################################################################
|
---|
152 | #
|
---|
153 | # Pcd Section - list of all EDK II PCD Entries defined by this Platform
|
---|
154 | #
|
---|
155 | ################################################################################
|
---|
156 |
|
---|
157 | [PcdsFeatureFlag.common]
|
---|
158 | gUefiOvmfPkgTokenSpaceGuid.PcdQemuBootOrderPciTranslation|TRUE
|
---|
159 | gUefiOvmfPkgTokenSpaceGuid.PcdQemuBootOrderMmioTranslation|TRUE
|
---|
160 |
|
---|
161 | ## If TRUE, Graphics Output Protocol will be installed on virtual handle created by ConsplitterDxe.
|
---|
162 | # It could be set FALSE to save size.
|
---|
163 | gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
|
---|
164 | gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE
|
---|
165 |
|
---|
166 | gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|TRUE
|
---|
167 |
|
---|
168 | gArmVirtTokenSpaceGuid.PcdTpm2SupportEnabled|$(TPM2_ENABLE)
|
---|
169 |
|
---|
170 | [PcdsFixedAtBuild.common]
|
---|
171 | !if $(ARCH) == AARCH64
|
---|
172 | gArmTokenSpaceGuid.PcdVFPEnabled|1
|
---|
173 | !endif
|
---|
174 |
|
---|
175 | gArmPlatformTokenSpaceGuid.PcdCPUCoresStackBase|0x4007c000
|
---|
176 | gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize|0x4000
|
---|
177 | gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x2000
|
---|
178 | gEfiMdeModulePkgTokenSpaceGuid.PcdMaxAuthVariableSize|0x2800
|
---|
179 | !if $(NETWORK_TLS_ENABLE) == TRUE
|
---|
180 | #
|
---|
181 | # The cumulative and individual VOLATILE variable size limits should be set
|
---|
182 | # high enough for accommodating several and/or large CA certificates.
|
---|
183 | #
|
---|
184 | gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0x80000
|
---|
185 | gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVolatileVariableSize|0x40000
|
---|
186 | !endif
|
---|
187 |
|
---|
188 | # Size of the region used by UEFI in permanent memory (Reserved 64MB)
|
---|
189 | gArmPlatformTokenSpaceGuid.PcdSystemMemoryUefiRegionSize|0x04000000
|
---|
190 |
|
---|
191 | #
|
---|
192 | # ARM PrimeCell
|
---|
193 | #
|
---|
194 |
|
---|
195 | ## PL011 - Serial Terminal
|
---|
196 | gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|38400
|
---|
197 |
|
---|
198 | ## Default Terminal Type
|
---|
199 | ## 0-PCANSI, 1-VT100, 2-VT00+, 3-UTF8, 4-TTYTERM
|
---|
200 | !if $(TTY_TERMINAL) == TRUE
|
---|
201 | gEfiMdePkgTokenSpaceGuid.PcdDefaultTerminalType|4
|
---|
202 | # Set terminal type to TtyTerm, the value encoded is EFI_TTY_TERM_GUID
|
---|
203 | gArmVirtTokenSpaceGuid.PcdTerminalTypeGuidBuffer|{0x80, 0x6d, 0x91, 0x7d, 0xb1, 0x5b, 0x8c, 0x45, 0xa4, 0x8f, 0xe2, 0x5f, 0xdd, 0x51, 0xef, 0x94}
|
---|
204 | !else
|
---|
205 | gEfiMdePkgTokenSpaceGuid.PcdDefaultTerminalType|1
|
---|
206 | !endif
|
---|
207 |
|
---|
208 | #
|
---|
209 | # ARM Virtual Architectural Timer -- fetch frequency from QEMU (TCG) or KVM
|
---|
210 | #
|
---|
211 | gArmTokenSpaceGuid.PcdArmArchTimerFreqInHz|0
|
---|
212 |
|
---|
213 | #
|
---|
214 | # Network Pcds
|
---|
215 | #
|
---|
216 | !include NetworkPkg/NetworkPcds.dsc.inc
|
---|
217 |
|
---|
218 | # System Memory Base -- fixed at 0x4000_0000
|
---|
219 | gArmTokenSpaceGuid.PcdSystemMemoryBase|0x40000000
|
---|
220 |
|
---|
221 | # initial location of the device tree blob passed by QEMU -- base of DRAM
|
---|
222 | gArmVirtTokenSpaceGuid.PcdDeviceTreeInitialBaseAddress|0x40000000
|
---|
223 |
|
---|
224 | gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE
|
---|
225 | gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }
|
---|
226 |
|
---|
227 | #
|
---|
228 | # The maximum physical I/O addressability of the processor, set with
|
---|
229 | # BuildCpuHob().
|
---|
230 | #
|
---|
231 | gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize|16
|
---|
232 |
|
---|
233 | #
|
---|
234 | # Enable the non-executable DXE stack. (This gets set up by DxeIpl)
|
---|
235 | #
|
---|
236 | gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|TRUE
|
---|
237 |
|
---|
238 | !if $(SECURE_BOOT_ENABLE) == TRUE
|
---|
239 | # override the default values from SecurityPkg to ensure images from all sources are verified in secure boot
|
---|
240 | gEfiSecurityPkgTokenSpaceGuid.PcdOptionRomImageVerificationPolicy|0x04
|
---|
241 | gEfiSecurityPkgTokenSpaceGuid.PcdFixedMediaImageVerificationPolicy|0x04
|
---|
242 | gEfiSecurityPkgTokenSpaceGuid.PcdRemovableMediaImageVerificationPolicy|0x04
|
---|
243 | !endif
|
---|
244 |
|
---|
245 | gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|3
|
---|
246 | gEfiShellPkgTokenSpaceGuid.PcdShellFileOperationSize|0x20000
|
---|
247 |
|
---|
248 | # Shadowing PEI modules is absolutely pointless when the NOR flash is emulated
|
---|
249 | gEfiMdeModulePkgTokenSpaceGuid.PcdShadowPeimOnBoot|FALSE
|
---|
250 |
|
---|
251 | # System Memory Size -- 128 MB initially, actual size will be fetched from DT
|
---|
252 | gArmTokenSpaceGuid.PcdSystemMemorySize|0x8000000
|
---|
253 |
|
---|
254 | [PcdsFixedAtBuild.AARCH64]
|
---|
255 | # Clearing BIT0 in this PCD prevents installing a 32-bit SMBIOS entry point,
|
---|
256 | # if the entry point version is >= 3.0. AARCH64 OSes cannot assume the
|
---|
257 | # presence of the 32-bit entry point anyway (because many AARCH64 systems
|
---|
258 | # don't have 32-bit addressable physical RAM), and the additional allocations
|
---|
259 | # below 4 GB needlessly fragment the memory map. So expose the 64-bit entry
|
---|
260 | # point only, for entry point versions >= 3.0.
|
---|
261 | gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosEntryPointProvideMethod|0x2
|
---|
262 |
|
---|
263 | [PcdsDynamicDefault.common]
|
---|
264 | gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|3
|
---|
265 |
|
---|
266 | ## If TRUE, OvmfPkg/AcpiPlatformDxe will not wait for PCI
|
---|
267 | # enumeration to complete before installing ACPI tables.
|
---|
268 | gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|TRUE
|
---|
269 |
|
---|
270 | gArmTokenSpaceGuid.PcdArmArchTimerSecIntrNum|0x0
|
---|
271 | gArmTokenSpaceGuid.PcdArmArchTimerIntrNum|0x0
|
---|
272 | gArmTokenSpaceGuid.PcdArmArchTimerVirtIntrNum|0x0
|
---|
273 | gArmTokenSpaceGuid.PcdArmArchTimerHypIntrNum|0x0
|
---|
274 |
|
---|
275 | #
|
---|
276 | # ARM General Interrupt Controller
|
---|
277 | #
|
---|
278 | gArmTokenSpaceGuid.PcdGicDistributorBase|0x0
|
---|
279 | gArmTokenSpaceGuid.PcdGicRedistributorsBase|0x0
|
---|
280 | gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0x0
|
---|
281 |
|
---|
282 | ## PL031 RealTimeClock
|
---|
283 | gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0x0
|
---|
284 |
|
---|
285 | # set PcdPciExpressBaseAddress to MAX_UINT64, which signifies that this
|
---|
286 | # PCD and PcdPciDisableBusEnumeration above have not been assigned yet
|
---|
287 | gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xFFFFFFFFFFFFFFFF
|
---|
288 |
|
---|
289 | gEfiMdePkgTokenSpaceGuid.PcdPciIoTranslation|0x0
|
---|
290 |
|
---|
291 | #
|
---|
292 | # Set video resolution for boot options and for text setup.
|
---|
293 | # PlatformDxe can set the former at runtime.
|
---|
294 | #
|
---|
295 | gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|1280
|
---|
296 | gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|800
|
---|
297 | gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution|640
|
---|
298 | gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution|480
|
---|
299 | gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow|0
|
---|
300 | gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn|0
|
---|
301 |
|
---|
302 | #
|
---|
303 | # SMBIOS entry point version
|
---|
304 | #
|
---|
305 | gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0300
|
---|
306 | gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev|0x0
|
---|
307 | gUefiOvmfPkgTokenSpaceGuid.PcdQemuSmbiosValidated|FALSE
|
---|
308 |
|
---|
309 | #
|
---|
310 | # IPv4 and IPv6 PXE Boot support.
|
---|
311 | #
|
---|
312 | gEfiNetworkPkgTokenSpaceGuid.PcdIPv4PXESupport|0x01
|
---|
313 | gEfiNetworkPkgTokenSpaceGuid.PcdIPv6PXESupport|0x01
|
---|
314 |
|
---|
315 | #
|
---|
316 | # TPM2 support
|
---|
317 | #
|
---|
318 | !if $(TPM2_ENABLE) == TRUE
|
---|
319 | gEfiSecurityPkgTokenSpaceGuid.PcdTpmBaseAddress|0x0
|
---|
320 | gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid|{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
|
---|
321 | gEfiSecurityPkgTokenSpaceGuid.PcdTpm2HashMask|0
|
---|
322 | !else
|
---|
323 | [PcdsPatchableInModule]
|
---|
324 | # make this PCD patchable instead of dynamic when TPM support is not enabled
|
---|
325 | # this permits setting the PCD in unreachable code without pulling in dynamic PCD support
|
---|
326 | gEfiSecurityPkgTokenSpaceGuid.PcdTpmBaseAddress|0x0
|
---|
327 | !endif
|
---|
328 |
|
---|
329 | [PcdsDynamicHii]
|
---|
330 | gUefiOvmfPkgTokenSpaceGuid.PcdForceNoAcpi|L"ForceNoAcpi"|gOvmfVariableGuid|0x0|FALSE|NV,BS
|
---|
331 |
|
---|
332 | !if $(TPM2_CONFIG_ENABLE) == TRUE
|
---|
333 | gEfiSecurityPkgTokenSpaceGuid.PcdTcgPhysicalPresenceInterfaceVer|L"TCG2_VERSION"|gTcg2ConfigFormSetGuid|0x0|"1.3"|NV,BS
|
---|
334 | gEfiSecurityPkgTokenSpaceGuid.PcdTpm2AcpiTableRev|L"TCG2_VERSION"|gTcg2ConfigFormSetGuid|0x8|3|NV,BS
|
---|
335 | !endif
|
---|
336 |
|
---|
337 | gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|L"Timeout"|gEfiGlobalVariableGuid|0x0|5
|
---|
338 |
|
---|
339 | [LibraryClasses.common.PEI_CORE, LibraryClasses.common.PEIM]
|
---|
340 | !if $(TPM2_ENABLE) == TRUE
|
---|
341 | PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
|
---|
342 | !else
|
---|
343 | PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
|
---|
344 | !endif
|
---|
345 |
|
---|
346 | ################################################################################
|
---|
347 | #
|
---|
348 | # Components Section - list of all EDK II Modules needed by this Platform
|
---|
349 | #
|
---|
350 | ################################################################################
|
---|
351 | [Components.common]
|
---|
352 | #
|
---|
353 | # PEI Phase modules
|
---|
354 | #
|
---|
355 | ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf
|
---|
356 | MdeModulePkg/Core/Pei/PeiMain.inf
|
---|
357 | ArmPlatformPkg/PlatformPei/PlatformPeim.inf
|
---|
358 | ArmVirtPkg/MemoryInitPei/MemoryInitPeim.inf
|
---|
359 | ArmPkg/Drivers/CpuPei/CpuPei.inf
|
---|
360 |
|
---|
361 | !if $(TPM2_ENABLE) == TRUE
|
---|
362 | MdeModulePkg/Universal/PCD/Pei/Pcd.inf {
|
---|
363 | <LibraryClasses>
|
---|
364 | PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
|
---|
365 | }
|
---|
366 | MdeModulePkg/Universal/ResetSystemPei/ResetSystemPei.inf {
|
---|
367 | <LibraryClasses>
|
---|
368 | ResetSystemLib|ArmVirtPkg/Library/ArmVirtPsciResetSystemPeiLib/ArmVirtPsciResetSystemPeiLib.inf
|
---|
369 | }
|
---|
370 | OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf
|
---|
371 | SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.inf {
|
---|
372 | <LibraryClasses>
|
---|
373 | HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterPei.inf
|
---|
374 | NULL|SecurityPkg/Library/HashInstanceLibSha1/HashInstanceLibSha1.inf
|
---|
375 | NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf
|
---|
376 | NULL|SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf
|
---|
377 | NULL|SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf
|
---|
378 | NULL|SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf
|
---|
379 | }
|
---|
380 | !endif
|
---|
381 |
|
---|
382 | MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf {
|
---|
383 | <LibraryClasses>
|
---|
384 | NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
|
---|
385 | }
|
---|
386 |
|
---|
387 | #
|
---|
388 | # DXE
|
---|
389 | #
|
---|
390 | MdeModulePkg/Core/Dxe/DxeMain.inf {
|
---|
391 | <LibraryClasses>
|
---|
392 | NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf
|
---|
393 | DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
|
---|
394 | }
|
---|
395 | MdeModulePkg/Universal/PCD/Dxe/Pcd.inf {
|
---|
396 | <LibraryClasses>
|
---|
397 | PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
|
---|
398 | }
|
---|
399 |
|
---|
400 | #
|
---|
401 | # Architectural Protocols
|
---|
402 | #
|
---|
403 | ArmPkg/Drivers/CpuDxe/CpuDxe.inf
|
---|
404 | MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
|
---|
405 | MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {
|
---|
406 | <LibraryClasses>
|
---|
407 | NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf
|
---|
408 | NULL|EmbeddedPkg/Library/NvVarStoreFormattedLib/NvVarStoreFormattedLib.inf
|
---|
409 | # don't use unaligned CopyMem () on the UEFI varstore NOR flash region
|
---|
410 | BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
|
---|
411 | }
|
---|
412 | !if $(SECURE_BOOT_ENABLE) == TRUE
|
---|
413 | MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf {
|
---|
414 | <LibraryClasses>
|
---|
415 | NULL|SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf
|
---|
416 | !if $(TPM2_ENABLE) == TRUE
|
---|
417 | NULL|SecurityPkg/Library/DxeTpm2MeasureBootLib/DxeTpm2MeasureBootLib.inf
|
---|
418 | !endif
|
---|
419 | }
|
---|
420 | SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
|
---|
421 | OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.inf
|
---|
422 | !else
|
---|
423 | MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
|
---|
424 | !endif
|
---|
425 | MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
|
---|
426 | MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
|
---|
427 | MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
|
---|
428 | MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf
|
---|
429 | EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf {
|
---|
430 | <LibraryClasses>
|
---|
431 | NULL|ArmVirtPkg/Library/ArmVirtPL031FdtClientLib/ArmVirtPL031FdtClientLib.inf
|
---|
432 | }
|
---|
433 | EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf
|
---|
434 |
|
---|
435 | MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
|
---|
436 | MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
|
---|
437 | MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
|
---|
438 | MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
|
---|
439 | MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
|
---|
440 |
|
---|
441 | MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
|
---|
442 |
|
---|
443 | ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
|
---|
444 | ArmPkg/Drivers/TimerDxe/TimerDxe.inf {
|
---|
445 | <LibraryClasses>
|
---|
446 | NULL|ArmVirtPkg/Library/ArmVirtTimerFdtClientLib/ArmVirtTimerFdtClientLib.inf
|
---|
447 | }
|
---|
448 | OvmfPkg/VirtNorFlashDxe/VirtNorFlashDxe.inf {
|
---|
449 | <LibraryClasses>
|
---|
450 | # don't use unaligned CopyMem () on the UEFI varstore NOR flash region
|
---|
451 | BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
|
---|
452 | }
|
---|
453 | MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
|
---|
454 |
|
---|
455 | #
|
---|
456 | # Status Code Routing
|
---|
457 | #
|
---|
458 | MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
|
---|
459 |
|
---|
460 | #
|
---|
461 | # Platform Driver
|
---|
462 | #
|
---|
463 | OvmfPkg/Fdt/VirtioFdtDxe/VirtioFdtDxe.inf
|
---|
464 | EmbeddedPkg/Drivers/FdtClientDxe/FdtClientDxe.inf
|
---|
465 | OvmfPkg/Fdt/HighMemDxe/HighMemDxe.inf
|
---|
466 | OvmfPkg/VirtioBlkDxe/VirtioBlk.inf
|
---|
467 | OvmfPkg/VirtioScsiDxe/VirtioScsi.inf
|
---|
468 | OvmfPkg/VirtioNetDxe/VirtioNet.inf
|
---|
469 | OvmfPkg/VirtioRngDxe/VirtioRng.inf
|
---|
470 | OvmfPkg/VirtioSerialDxe/VirtioSerial.inf
|
---|
471 |
|
---|
472 | !ifdef $(VBOX)
|
---|
473 | VBoxPkg/VmwSvga3Dxe/VmwSvga3VideoDxe.inf {
|
---|
474 | <LibraryClasses>
|
---|
475 | # Optimized SetMem doesn't work on VGA framebuffer.
|
---|
476 | BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
|
---|
477 | }
|
---|
478 | !endif
|
---|
479 |
|
---|
480 | #
|
---|
481 | # FAT filesystem + GPT/MBR partitioning + UDF filesystem + virtio-fs
|
---|
482 | #
|
---|
483 | MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
|
---|
484 | MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
|
---|
485 | MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
|
---|
486 | FatPkg/EnhancedFatDxe/Fat.inf
|
---|
487 | MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
|
---|
488 | OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
|
---|
489 |
|
---|
490 | #
|
---|
491 | # Bds
|
---|
492 | #
|
---|
493 | MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf {
|
---|
494 | <LibraryClasses>
|
---|
495 | DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
|
---|
496 | PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
|
---|
497 | }
|
---|
498 | MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
|
---|
499 | MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
|
---|
500 | MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf
|
---|
501 | MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
|
---|
502 | !ifndef $(VBOX)
|
---|
503 | MdeModulePkg/Logo/LogoDxe.inf
|
---|
504 | !else
|
---|
505 | VBoxPkg/Logo/LogoDxe.inf
|
---|
506 | !endif
|
---|
507 | MdeModulePkg/Application/UiApp/UiApp.inf {
|
---|
508 | <LibraryClasses>
|
---|
509 | NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf
|
---|
510 | NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf
|
---|
511 | NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf
|
---|
512 | }
|
---|
513 | OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.inf {
|
---|
514 | <LibraryClasses>
|
---|
515 | NULL|OvmfPkg/Library/BlobVerifierLibNull/BlobVerifierLibNull.inf
|
---|
516 | }
|
---|
517 |
|
---|
518 | #
|
---|
519 | # Networking stack
|
---|
520 | #
|
---|
521 | !include NetworkPkg/NetworkComponents.dsc.inc
|
---|
522 |
|
---|
523 | NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf {
|
---|
524 | <LibraryClasses>
|
---|
525 | NULL|OvmfPkg/Library/PxeBcPcdProducerLib/PxeBcPcdProducerLib.inf
|
---|
526 | }
|
---|
527 |
|
---|
528 | !if $(NETWORK_TLS_ENABLE) == TRUE
|
---|
529 | NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe.inf {
|
---|
530 | <LibraryClasses>
|
---|
531 | NULL|OvmfPkg/Library/TlsAuthConfigLib/TlsAuthConfigLib.inf
|
---|
532 | }
|
---|
533 | !endif
|
---|
534 |
|
---|
535 | #
|
---|
536 | # SCSI Bus and Disk Driver
|
---|
537 | #
|
---|
538 | MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
|
---|
539 | MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
|
---|
540 |
|
---|
541 | #
|
---|
542 | # NVME Driver
|
---|
543 | #
|
---|
544 | MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
|
---|
545 |
|
---|
546 | #
|
---|
547 | # SMBIOS Support
|
---|
548 | #
|
---|
549 | MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf {
|
---|
550 | <LibraryClasses>
|
---|
551 | NULL|OvmfPkg/Library/SmbiosVersionLib/DetectSmbiosVersionLib.inf
|
---|
552 | }
|
---|
553 | OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
|
---|
554 |
|
---|
555 | #
|
---|
556 | # PCI support
|
---|
557 | #
|
---|
558 | ArmPkg/Drivers/ArmPciCpuIo2Dxe/ArmPciCpuIo2Dxe.inf {
|
---|
559 | <LibraryClasses>
|
---|
560 | NULL|OvmfPkg/Fdt/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf
|
---|
561 | }
|
---|
562 | MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf
|
---|
563 | MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf {
|
---|
564 | <LibraryClasses>
|
---|
565 | NULL|OvmfPkg/Fdt/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf
|
---|
566 | }
|
---|
567 | OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf
|
---|
568 | OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf
|
---|
569 | OvmfPkg/Virtio10Dxe/Virtio10.inf
|
---|
570 |
|
---|
571 | #
|
---|
572 | # Video support
|
---|
573 | #
|
---|
574 | OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
|
---|
575 | OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
|
---|
576 | OvmfPkg/PlatformDxe/Platform.inf
|
---|
577 |
|
---|
578 | #
|
---|
579 | # USB Support
|
---|
580 | #
|
---|
581 | MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
|
---|
582 | MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
|
---|
583 | MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
|
---|
584 | MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
|
---|
585 | MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
|
---|
586 | MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
|
---|
587 |
|
---|
588 | #
|
---|
589 | # TPM2 support
|
---|
590 | #
|
---|
591 | !if $(TPM2_ENABLE) == TRUE
|
---|
592 | SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf {
|
---|
593 | <LibraryClasses>
|
---|
594 | HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterDxe.inf
|
---|
595 | Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibRouter/Tpm2DeviceLibRouterDxe.inf
|
---|
596 | NULL|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2InstanceLibDTpm.inf
|
---|
597 | NULL|SecurityPkg/Library/HashInstanceLibSha1/HashInstanceLibSha1.inf
|
---|
598 | NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf
|
---|
599 | NULL|SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf
|
---|
600 | NULL|SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf
|
---|
601 | NULL|SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf
|
---|
602 | }
|
---|
603 | !if $(TPM2_CONFIG_ENABLE) == TRUE
|
---|
604 | SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf
|
---|
605 | !endif
|
---|
606 | !endif
|
---|
607 |
|
---|
608 | #
|
---|
609 | # ACPI Support
|
---|
610 | #
|
---|
611 | OvmfPkg/PlatformHasAcpiDtDxe/PlatformHasAcpiDtDxe.inf
|
---|
612 | [Components.AARCH64]
|
---|
613 | MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
|
---|
614 | OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf {
|
---|
615 | <LibraryClasses>
|
---|
616 | NULL|OvmfPkg/Fdt/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf
|
---|
617 | }
|
---|