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)/arm64
|
---|
25 | !else
|
---|
26 | OUTPUT_DIRECTORY = $(VBOX_OUTPUT_BASE_DIR)/arm32
|
---|
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 | DEFINE NETWORK_PXE_BOOT_ENABLE = TRUE
|
---|
54 |
|
---|
55 | !if $(NETWORK_SNP_ENABLE) == TRUE
|
---|
56 | !error "NETWORK_SNP_ENABLE is IA32/X64/EBC only"
|
---|
57 | !endif
|
---|
58 |
|
---|
59 | !include NetworkPkg/NetworkDefines.dsc.inc
|
---|
60 |
|
---|
61 | # This comes before MdeLibs to ensure stack cookie configuration is chosen
|
---|
62 | !include ArmVirtPkg/ArmVirt.dsc.inc
|
---|
63 |
|
---|
64 | !include MdePkg/MdeLibs.dsc.inc
|
---|
65 |
|
---|
66 | [LibraryClasses.common]
|
---|
67 | ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
|
---|
68 | ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf
|
---|
69 |
|
---|
70 | # Virtio Support
|
---|
71 | VirtioLib|OvmfPkg/Library/VirtioLib/VirtioLib.inf
|
---|
72 | VirtioMmioDeviceLib|OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceLib.inf
|
---|
73 | QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgMmioDxeLib.inf
|
---|
74 | QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/BaseQemuFwCfgS3LibNull.inf
|
---|
75 | QemuFwCfgSimpleParserLib|OvmfPkg/Library/QemuFwCfgSimpleParserLib/QemuFwCfgSimpleParserLib.inf
|
---|
76 | QemuLoadImageLib|OvmfPkg/Library/GenericQemuLoadImageLib/GenericQemuLoadImageLib.inf
|
---|
77 |
|
---|
78 | TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf
|
---|
79 | VirtNorFlashPlatformLib|OvmfPkg/Library/FdtNorFlashQemuLib/FdtNorFlashQemuLib.inf
|
---|
80 |
|
---|
81 | CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
|
---|
82 | BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf
|
---|
83 | PlatformBootManagerLib|OvmfPkg/Library/PlatformBootManagerLibLight/PlatformBootManagerLib.inf
|
---|
84 | PlatformBmPrintScLib|OvmfPkg/Library/PlatformBmPrintScLib/PlatformBmPrintScLib.inf
|
---|
85 | CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
|
---|
86 | FrameBufferBltLib|MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf
|
---|
87 | QemuBootOrderLib|OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.inf
|
---|
88 | FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
|
---|
89 | PciPcdProducerLib|OvmfPkg/Fdt/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf
|
---|
90 | PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf
|
---|
91 | PciHostBridgeLib|OvmfPkg/Fdt/FdtPciHostBridgeLib/FdtPciHostBridgeLib.inf
|
---|
92 | PciHostBridgeUtilityLib|OvmfPkg/Library/PciHostBridgeUtilityLib/PciHostBridgeUtilityLib.inf
|
---|
93 | PeiHardwareInfoLib|OvmfPkg/Library/HardwareInfoLib/PeiHardwareInfoLib.inf
|
---|
94 |
|
---|
95 | !if $(TPM2_ENABLE) == TRUE
|
---|
96 | Tpm2CommandLib|SecurityPkg/Library/Tpm2CommandLib/Tpm2CommandLib.inf
|
---|
97 | Tcg2PhysicalPresenceLib|OvmfPkg/Library/Tcg2PhysicalPresenceLibQemu/DxeTcg2PhysicalPresenceLib.inf
|
---|
98 | TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf
|
---|
99 | TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLib/PeiDxeTpmPlatformHierarchyLib.inf
|
---|
100 | !else
|
---|
101 | TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf
|
---|
102 | TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLibNull/PeiDxeTpmPlatformHierarchyLib.inf
|
---|
103 | !endif
|
---|
104 |
|
---|
105 | ArmMonitorLib|ArmVirtPkg/Library/ArmVirtMonitorLib/ArmVirtMonitorLib.inf
|
---|
106 |
|
---|
107 | [LibraryClasses.AARCH64]
|
---|
108 | !ifndef $(VBOX)
|
---|
109 | ArmPlatformLib|ArmVirtPkg/Library/ArmPlatformLibQemu/ArmPlatformLibQemu.inf
|
---|
110 | !else
|
---|
111 | ArmPlatformLib|ArmPlatformPkg/Library/ArmPlatformLibNull/ArmPlatformLibNull.inf
|
---|
112 | !endif
|
---|
113 |
|
---|
114 | [LibraryClasses.ARM]
|
---|
115 | ArmPlatformLib|ArmPlatformPkg/Library/ArmPlatformLibNull/ArmPlatformLibNull.inf
|
---|
116 |
|
---|
117 | [LibraryClasses.common.PEIM]
|
---|
118 | !ifndef $(VBOX)
|
---|
119 | ArmVirtMemInfoLib|ArmVirtPkg/Library/QemuVirtMemInfoLib/QemuVirtMemInfoPeiLib.inf
|
---|
120 | !else
|
---|
121 | ArmVirtMemInfoLib|VBoxPkg/Library/VBoxVirtMemInfoLib/VBoxVirtMemInfoPeiLib.inf
|
---|
122 | !endif
|
---|
123 | ArmMonitorLib|ArmVirtPkg/Library/ArmVirtMonitorPeiLib/ArmVirtMonitorPeiLib.inf
|
---|
124 | FdtLib|MdePkg/Library/BaseFdtLib/BaseFdtLib.inf
|
---|
125 | Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.inf
|
---|
126 |
|
---|
127 | [LibraryClasses.AARCH64.PEIM]
|
---|
128 | ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuPeiLib.inf
|
---|
129 | BaseCryptLib|CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
|
---|
130 |
|
---|
131 | [LibraryClasses.ARM.PEIM]
|
---|
132 | BaseCryptLib|CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
|
---|
133 |
|
---|
134 | [LibraryClasses.common.DXE_DRIVER]
|
---|
135 | AcpiPlatformLib|OvmfPkg/Library/AcpiPlatformLib/DxeAcpiPlatformLib.inf
|
---|
136 | ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
|
---|
137 |
|
---|
138 | !if $(TPM2_ENABLE) == TRUE
|
---|
139 | Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTcg2/Tpm2DeviceLibTcg2.inf
|
---|
140 | !endif
|
---|
141 |
|
---|
142 | [LibraryClasses.common.UEFI_DRIVER]
|
---|
143 | UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
|
---|
144 |
|
---|
145 | [BuildOptions]
|
---|
146 | !ifndef $(VBOX) # Don't clear the XIPFLAGS as we run with MMU disabled (no early ID mapping).
|
---|
147 | !if $(CAVIUM_ERRATUM_27456) == TRUE
|
---|
148 | GCC:*_*_AARCH64_PP_FLAGS = -DCAVIUM_ERRATUM_27456
|
---|
149 | !endif
|
---|
150 | !endif
|
---|
151 |
|
---|
152 | !include NetworkPkg/NetworkBuildOptions.dsc.inc
|
---|
153 |
|
---|
154 | ################################################################################
|
---|
155 | #
|
---|
156 | # Pcd Section - list of all EDK II PCD Entries defined by this Platform
|
---|
157 | #
|
---|
158 | ################################################################################
|
---|
159 |
|
---|
160 | [PcdsFeatureFlag.common]
|
---|
161 | gUefiOvmfPkgTokenSpaceGuid.PcdQemuBootOrderPciTranslation|TRUE
|
---|
162 | gUefiOvmfPkgTokenSpaceGuid.PcdQemuBootOrderMmioTranslation|TRUE
|
---|
163 |
|
---|
164 | ## If TRUE, Graphics Output Protocol will be installed on virtual handle created by ConsplitterDxe.
|
---|
165 | # It could be set FALSE to save size.
|
---|
166 | gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
|
---|
167 | gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE
|
---|
168 |
|
---|
169 | gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|TRUE
|
---|
170 |
|
---|
171 | gArmVirtTokenSpaceGuid.PcdTpm2SupportEnabled|$(TPM2_ENABLE)
|
---|
172 |
|
---|
173 | [PcdsFixedAtBuild.common]
|
---|
174 | gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFdBaseAddress|0x00000000
|
---|
175 | gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFirmwareFdSize|$(FD_SIZE)
|
---|
176 |
|
---|
177 | gArmPlatformTokenSpaceGuid.PcdCPUCoresStackBase|0x4007c000
|
---|
178 | gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize|0x4000
|
---|
179 | gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x2000
|
---|
180 | gEfiMdeModulePkgTokenSpaceGuid.PcdMaxAuthVariableSize|0x2800
|
---|
181 | !if $(NETWORK_TLS_ENABLE) == TRUE
|
---|
182 | #
|
---|
183 | # The cumulative and individual VOLATILE variable size limits should be set
|
---|
184 | # high enough for accommodating several and/or large CA certificates.
|
---|
185 | #
|
---|
186 | gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0x80000
|
---|
187 | gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVolatileVariableSize|0x40000
|
---|
188 | !endif
|
---|
189 |
|
---|
190 | # Size of the region used by UEFI in permanent memory (Reserved 64MB)
|
---|
191 | gArmPlatformTokenSpaceGuid.PcdSystemMemoryUefiRegionSize|0x04000000
|
---|
192 |
|
---|
193 | #
|
---|
194 | # ARM PrimeCell
|
---|
195 | #
|
---|
196 |
|
---|
197 | ## PL011 - Serial Terminal
|
---|
198 | gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|38400
|
---|
199 |
|
---|
200 | ## Default Terminal Type
|
---|
201 | ## 0-PCANSI, 1-VT100, 2-VT00+, 3-UTF8, 4-TTYTERM
|
---|
202 | !if $(TTY_TERMINAL) == TRUE
|
---|
203 | gEfiMdePkgTokenSpaceGuid.PcdDefaultTerminalType|4
|
---|
204 | # Set terminal type to TtyTerm, the value encoded is EFI_TTY_TERM_GUID
|
---|
205 | gUefiOvmfPkgTokenSpaceGuid.PcdTerminalTypeGuidBuffer|{0x80, 0x6d, 0x91, 0x7d, 0xb1, 0x5b, 0x8c, 0x45, 0xa4, 0x8f, 0xe2, 0x5f, 0xdd, 0x51, 0xef, 0x94}
|
---|
206 | !else
|
---|
207 | gEfiMdePkgTokenSpaceGuid.PcdDefaultTerminalType|1
|
---|
208 | !endif
|
---|
209 |
|
---|
210 | #
|
---|
211 | # Network Pcds
|
---|
212 | #
|
---|
213 | !include NetworkPkg/NetworkFixedPcds.dsc.inc
|
---|
214 |
|
---|
215 | !ifndef $(VBOX)
|
---|
216 | # System Memory Base -- fixed at 0x4000_0000
|
---|
217 | gArmTokenSpaceGuid.PcdSystemMemoryBase|0x40000000
|
---|
218 |
|
---|
219 | # initial location of the device tree blob passed by QEMU -- base of DRAM
|
---|
220 | gUefiOvmfPkgTokenSpaceGuid.PcdDeviceTreeInitialBaseAddress|0x40000000
|
---|
221 | !endif
|
---|
222 |
|
---|
223 | gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE
|
---|
224 | gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }
|
---|
225 |
|
---|
226 | #
|
---|
227 | # The maximum physical I/O addressability of the processor, set with
|
---|
228 | # BuildCpuHob().
|
---|
229 | #
|
---|
230 | gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize|16
|
---|
231 |
|
---|
232 | #
|
---|
233 | # Enable the non-executable DXE stack. (This gets set up by DxeIpl)
|
---|
234 | #
|
---|
235 | gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|TRUE
|
---|
236 |
|
---|
237 | !if $(SECURE_BOOT_ENABLE) == TRUE
|
---|
238 | # override the default values from SecurityPkg to ensure images from all sources are verified in secure boot
|
---|
239 | gEfiSecurityPkgTokenSpaceGuid.PcdOptionRomImageVerificationPolicy|0x04
|
---|
240 | gEfiSecurityPkgTokenSpaceGuid.PcdFixedMediaImageVerificationPolicy|0x04
|
---|
241 | gEfiSecurityPkgTokenSpaceGuid.PcdRemovableMediaImageVerificationPolicy|0x04
|
---|
242 | !endif
|
---|
243 |
|
---|
244 | gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|3
|
---|
245 | gEfiShellPkgTokenSpaceGuid.PcdShellFileOperationSize|0x20000
|
---|
246 |
|
---|
247 | # Shadowing PEI modules is absolutely pointless when the NOR flash is emulated
|
---|
248 | gEfiMdeModulePkgTokenSpaceGuid.PcdShadowPeimOnBoot|FALSE
|
---|
249 |
|
---|
250 | # System Memory Size -- 128 MB initially, actual size will be fetched from DT
|
---|
251 | gArmTokenSpaceGuid.PcdSystemMemorySize|0x8000000
|
---|
252 |
|
---|
253 | gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize | 0x40000
|
---|
254 | gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize | 0x40000
|
---|
255 | gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize | 0x40000
|
---|
256 |
|
---|
257 | [PcdsFixedAtBuild.AARCH64]
|
---|
258 | # Clearing BIT0 in this PCD prevents installing a 32-bit SMBIOS entry point,
|
---|
259 | # if the entry point version is >= 3.0. AARCH64 OSes cannot assume the
|
---|
260 | # presence of the 32-bit entry point anyway (because many AARCH64 systems
|
---|
261 | # don't have 32-bit addressable physical RAM), and the additional allocations
|
---|
262 | # below 4 GB needlessly fragment the memory map. So expose the 64-bit entry
|
---|
263 | # point only, for entry point versions >= 3.0.
|
---|
264 | gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosEntryPointProvideMethod|0x2
|
---|
265 |
|
---|
266 | gArmTokenSpaceGuid.PcdVFPEnabled|1
|
---|
267 |
|
---|
268 | [PcdsDynamicDefault.common]
|
---|
269 | gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|3
|
---|
270 |
|
---|
271 | gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase | 0
|
---|
272 | gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64 | 0
|
---|
273 | gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64 | 0
|
---|
274 | gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase | 0
|
---|
275 | gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase | 0
|
---|
276 | gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64 | 0
|
---|
277 |
|
---|
278 | ## If TRUE, OvmfPkg/AcpiPlatformDxe will not wait for PCI
|
---|
279 | # enumeration to complete before installing ACPI tables.
|
---|
280 | gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|TRUE
|
---|
281 |
|
---|
282 | gArmTokenSpaceGuid.PcdArmArchTimerSecIntrNum|0x0
|
---|
283 | gArmTokenSpaceGuid.PcdArmArchTimerIntrNum|0x0
|
---|
284 | gArmTokenSpaceGuid.PcdArmArchTimerVirtIntrNum|0x0
|
---|
285 | gArmTokenSpaceGuid.PcdArmArchTimerHypIntrNum|0x0
|
---|
286 | gArmTokenSpaceGuid.PcdArmArchTimerHypVirtIntrNum|0x0
|
---|
287 |
|
---|
288 | #
|
---|
289 | # ARM General Interrupt Controller
|
---|
290 | #
|
---|
291 | gArmTokenSpaceGuid.PcdGicDistributorBase|0x0
|
---|
292 | gArmTokenSpaceGuid.PcdGicRedistributorsBase|0x0
|
---|
293 | gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0x0
|
---|
294 |
|
---|
295 | ## PL031 RealTimeClock
|
---|
296 | gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0x0
|
---|
297 |
|
---|
298 | # set PcdPciExpressBaseAddress to MAX_UINT64, which signifies that this
|
---|
299 | # PCD and PcdPciDisableBusEnumeration above have not been assigned yet
|
---|
300 | gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xFFFFFFFFFFFFFFFF
|
---|
301 |
|
---|
302 | gEfiMdePkgTokenSpaceGuid.PcdPciIoTranslation|0x0
|
---|
303 |
|
---|
304 | #
|
---|
305 | # SMBIOS entry point version
|
---|
306 | #
|
---|
307 | gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0300
|
---|
308 | gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev|0x0
|
---|
309 | gUefiOvmfPkgTokenSpaceGuid.PcdQemuSmbiosValidated|FALSE
|
---|
310 |
|
---|
311 | !include OvmfPkg/Include/Dsc/OvmfDisplayPcds.dsc.inc
|
---|
312 |
|
---|
313 | !include NetworkPkg/NetworkDynamicPcds.dsc.inc
|
---|
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/Sec/Sec.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 | OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf
|
---|
368 | SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.inf {
|
---|
369 | <LibraryClasses>
|
---|
370 | HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterPei.inf
|
---|
371 | NULL|SecurityPkg/Library/HashInstanceLibSha1/HashInstanceLibSha1.inf
|
---|
372 | NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf
|
---|
373 | NULL|SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf
|
---|
374 | NULL|SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf
|
---|
375 | NULL|SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf
|
---|
376 | }
|
---|
377 | !endif
|
---|
378 |
|
---|
379 | MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf {
|
---|
380 | <LibraryClasses>
|
---|
381 | NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
|
---|
382 | }
|
---|
383 |
|
---|
384 | #
|
---|
385 | # DXE
|
---|
386 | #
|
---|
387 | MdeModulePkg/Core/Dxe/DxeMain.inf {
|
---|
388 | <LibraryClasses>
|
---|
389 | NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf
|
---|
390 | DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
|
---|
391 | }
|
---|
392 | MdeModulePkg/Universal/PCD/Dxe/Pcd.inf {
|
---|
393 | <LibraryClasses>
|
---|
394 | PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
|
---|
395 | }
|
---|
396 |
|
---|
397 | #
|
---|
398 | # Architectural Protocols
|
---|
399 | #
|
---|
400 | ArmPkg/Drivers/CpuDxe/CpuDxe.inf
|
---|
401 | MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
|
---|
402 | MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {
|
---|
403 | <LibraryClasses>
|
---|
404 | NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf
|
---|
405 | NULL|EmbeddedPkg/Library/NvVarStoreFormattedLib/NvVarStoreFormattedLib.inf
|
---|
406 | # don't use unaligned CopyMem () on the UEFI varstore NOR flash region
|
---|
407 | BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
|
---|
408 | }
|
---|
409 | !if $(SECURE_BOOT_ENABLE) == TRUE
|
---|
410 | MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf {
|
---|
411 | <LibraryClasses>
|
---|
412 | NULL|SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf
|
---|
413 | !if $(TPM2_ENABLE) == TRUE
|
---|
414 | NULL|SecurityPkg/Library/DxeTpm2MeasureBootLib/DxeTpm2MeasureBootLib.inf
|
---|
415 | !endif
|
---|
416 | }
|
---|
417 | SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
|
---|
418 | OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.inf
|
---|
419 | !else
|
---|
420 | MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
|
---|
421 | !endif
|
---|
422 | MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
|
---|
423 | MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf {
|
---|
424 | <LibraryClasses>
|
---|
425 | NULL|EmbeddedPkg/Library/NvVarStoreFormattedLib/NvVarStoreFormattedLib.inf
|
---|
426 | }
|
---|
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/ArmGicDxe/ArmGicDxe.inf {
|
---|
444 | <LibraryClasses>
|
---|
445 | NULL|ArmVirtPkg/Library/ArmVirtGicArchLib/ArmVirtGicArchLib.inf
|
---|
446 | }
|
---|
447 | ArmPkg/Drivers/TimerDxe/TimerDxe.inf {
|
---|
448 | <LibraryClasses>
|
---|
449 | NULL|ArmVirtPkg/Library/ArmVirtTimerFdtClientLib/ArmVirtTimerFdtClientLib.inf
|
---|
450 | }
|
---|
451 | OvmfPkg/VirtNorFlashDxe/VirtNorFlashDxe.inf {
|
---|
452 | <LibraryClasses>
|
---|
453 | # don't use unaligned CopyMem () on the UEFI varstore NOR flash region
|
---|
454 | BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
|
---|
455 | }
|
---|
456 | MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
|
---|
457 | SecurityPkg/RandomNumberGenerator/RngDxe/RngDxe.inf
|
---|
458 |
|
---|
459 | #
|
---|
460 | # Status Code Routing
|
---|
461 | #
|
---|
462 | MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
|
---|
463 |
|
---|
464 | #
|
---|
465 | # Platform Driver
|
---|
466 | #
|
---|
467 | OvmfPkg/Fdt/VirtioFdtDxe/VirtioFdtDxe.inf
|
---|
468 | EmbeddedPkg/Drivers/FdtClientDxe/FdtClientDxe.inf
|
---|
469 | OvmfPkg/Fdt/HighMemDxe/HighMemDxe.inf
|
---|
470 | OvmfPkg/VirtioBlkDxe/VirtioBlk.inf
|
---|
471 | OvmfPkg/VirtioScsiDxe/VirtioScsi.inf
|
---|
472 | OvmfPkg/VirtioNetDxe/VirtioNet.inf
|
---|
473 | OvmfPkg/VirtioRngDxe/VirtioRng.inf
|
---|
474 | OvmfPkg/VirtioSerialDxe/VirtioSerial.inf {
|
---|
475 | <PcdsFixedAtBuild>
|
---|
476 | gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0
|
---|
477 | }
|
---|
478 | OvmfPkg/VirtioKeyboardDxe/VirtioKeyboard.inf
|
---|
479 |
|
---|
480 | !ifdef $(VBOX)
|
---|
481 | VBoxPkg/VmwSvga3Dxe/VmwSvga3VideoDxe.inf {
|
---|
482 | <LibraryClasses>
|
---|
483 | # Optimized SetMem doesn't work on VGA framebuffer.
|
---|
484 | BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
|
---|
485 | }
|
---|
486 |
|
---|
487 | MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf
|
---|
488 | MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
|
---|
489 | MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
|
---|
490 | !endif
|
---|
491 |
|
---|
492 | #
|
---|
493 | # FAT filesystem + GPT/MBR partitioning + UDF filesystem + virtio-fs
|
---|
494 | #
|
---|
495 | MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
|
---|
496 | MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
|
---|
497 | MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
|
---|
498 | FatPkg/EnhancedFatDxe/Fat.inf
|
---|
499 | MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
|
---|
500 | OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
|
---|
501 |
|
---|
502 | #
|
---|
503 | # Bds
|
---|
504 | #
|
---|
505 | MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf {
|
---|
506 | <LibraryClasses>
|
---|
507 | DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
|
---|
508 | PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
|
---|
509 | }
|
---|
510 | MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
|
---|
511 | MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
|
---|
512 | MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf
|
---|
513 | MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
|
---|
514 | !ifndef $(VBOX)
|
---|
515 | MdeModulePkg/Logo/LogoDxe.inf
|
---|
516 | !else
|
---|
517 | VBoxPkg/Logo/LogoDxe.inf
|
---|
518 | !endif
|
---|
519 | MdeModulePkg/Application/UiApp/UiApp.inf {
|
---|
520 | <LibraryClasses>
|
---|
521 | NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf
|
---|
522 | NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf
|
---|
523 | NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf
|
---|
524 | }
|
---|
525 | OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.inf {
|
---|
526 | <LibraryClasses>
|
---|
527 | NULL|OvmfPkg/Library/BlobVerifierLibNull/BlobVerifierLibNull.inf
|
---|
528 | }
|
---|
529 |
|
---|
530 | #
|
---|
531 | # Networking stack
|
---|
532 | #
|
---|
533 | !include NetworkPkg/NetworkComponents.dsc.inc
|
---|
534 |
|
---|
535 | !if $(NETWORK_ENABLE) == TRUE
|
---|
536 | !if $(NETWORK_PXE_BOOT_ENABLE) == TRUE
|
---|
537 | NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf {
|
---|
538 | <LibraryClasses>
|
---|
539 | NULL|OvmfPkg/Library/PxeBcPcdProducerLib/PxeBcPcdProducerLib.inf
|
---|
540 | }
|
---|
541 | !endif
|
---|
542 |
|
---|
543 | !if $(NETWORK_TLS_ENABLE) == TRUE
|
---|
544 | NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe.inf {
|
---|
545 | <LibraryClasses>
|
---|
546 | NULL|OvmfPkg/Library/TlsAuthConfigLib/TlsAuthConfigLib.inf
|
---|
547 | }
|
---|
548 | !endif
|
---|
549 | !endif
|
---|
550 |
|
---|
551 | #
|
---|
552 | # SCSI Bus and Disk Driver
|
---|
553 | #
|
---|
554 | MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
|
---|
555 | MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
|
---|
556 |
|
---|
557 | #
|
---|
558 | # NVME Driver
|
---|
559 | #
|
---|
560 | MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
|
---|
561 |
|
---|
562 | #
|
---|
563 | # SMBIOS Support
|
---|
564 | #
|
---|
565 | MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf {
|
---|
566 | <LibraryClasses>
|
---|
567 | NULL|OvmfPkg/Library/SmbiosVersionLib/DetectSmbiosVersionLib.inf
|
---|
568 | }
|
---|
569 | OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
|
---|
570 |
|
---|
571 | #
|
---|
572 | # PCI support
|
---|
573 | #
|
---|
574 | UefiCpuPkg/CpuMmio2Dxe/CpuMmio2Dxe.inf {
|
---|
575 | <LibraryClasses>
|
---|
576 | NULL|OvmfPkg/Fdt/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf
|
---|
577 | }
|
---|
578 | MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf
|
---|
579 | MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf {
|
---|
580 | <LibraryClasses>
|
---|
581 | NULL|OvmfPkg/Fdt/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf
|
---|
582 | }
|
---|
583 | OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf
|
---|
584 | OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf
|
---|
585 | OvmfPkg/Virtio10Dxe/Virtio10.inf
|
---|
586 |
|
---|
587 | #
|
---|
588 | # Video support
|
---|
589 | #
|
---|
590 | OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
|
---|
591 | OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
|
---|
592 | OvmfPkg/PlatformDxe/Platform.inf
|
---|
593 |
|
---|
594 | #
|
---|
595 | # USB Support
|
---|
596 | #
|
---|
597 | MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
|
---|
598 | MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
|
---|
599 | MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
|
---|
600 | MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
|
---|
601 | MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
|
---|
602 | MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
|
---|
603 |
|
---|
604 | #
|
---|
605 | # Hash2 Protocol Support
|
---|
606 | #
|
---|
607 | SecurityPkg/Hash2DxeCrypto/Hash2DxeCrypto.inf
|
---|
608 |
|
---|
609 | #
|
---|
610 | # TPM2 support
|
---|
611 | #
|
---|
612 | !if $(TPM2_ENABLE) == TRUE
|
---|
613 | SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf {
|
---|
614 | <LibraryClasses>
|
---|
615 | HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterDxe.inf
|
---|
616 | Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibRouter/Tpm2DeviceLibRouterDxe.inf
|
---|
617 | NULL|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2InstanceLibDTpm.inf
|
---|
618 | NULL|SecurityPkg/Library/HashInstanceLibSha1/HashInstanceLibSha1.inf
|
---|
619 | NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf
|
---|
620 | NULL|SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf
|
---|
621 | NULL|SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf
|
---|
622 | NULL|SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf
|
---|
623 | }
|
---|
624 | !if $(TPM2_CONFIG_ENABLE) == TRUE
|
---|
625 | SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf
|
---|
626 | !endif
|
---|
627 | !endif
|
---|
628 |
|
---|
629 | #
|
---|
630 | # ACPI Support
|
---|
631 | #
|
---|
632 | OvmfPkg/PlatformHasAcpiDtDxe/PlatformHasAcpiDtDxe.inf
|
---|
633 | [Components.AARCH64]
|
---|
634 | MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
|
---|
635 | !ifndef $(VBOX)
|
---|
636 | OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf {
|
---|
637 | <LibraryClasses>
|
---|
638 | NULL|OvmfPkg/Fdt/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf
|
---|
639 | }
|
---|
640 | !else
|
---|
641 | VBoxPkg/VBoxAcpiPlatformDxe/VBoxAcpiPlatformDxe.inf
|
---|
642 | !endif
|
---|