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