|
@@ -0,0 +1,504 @@
|
|
|
+## @file
|
|
|
+# RISC-V EFI on RiscVVirtQem platform
|
|
|
+#
|
|
|
+# Copyright (c) 2021, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
|
|
|
+# Copyright (c) 2022, Ventana Micro Systems Inc. All rights reserved.<BR>
|
|
|
+#
|
|
|
+# SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
|
+#
|
|
|
+##
|
|
|
+
|
|
|
+################################################################################
|
|
|
+#
|
|
|
+# Defines Section - statements that will be processed to create a Makefile.
|
|
|
+#
|
|
|
+################################################################################
|
|
|
+[Defines]
|
|
|
+ PLATFORM_NAME = RiscVVirtQemu
|
|
|
+ PLATFORM_GUID = 39DADB39-1B21-4867-838E-830B6149B9E0
|
|
|
+ PLATFORM_VERSION = 0.1
|
|
|
+ DSC_SPECIFICATION = 0x0001001c
|
|
|
+ OUTPUT_DIRECTORY = Build/$(PLATFORM_NAME)
|
|
|
+ SUPPORTED_ARCHITECTURES = RISCV64
|
|
|
+ BUILD_TARGETS = DEBUG|RELEASE|NOOPT
|
|
|
+ SKUID_IDENTIFIER = DEFAULT
|
|
|
+ FLASH_DEFINITION = OvmfPkg/RiscVVirt/RiscVVirtQemu.fdf
|
|
|
+
|
|
|
+ #
|
|
|
+ # Enable below options may cause build error or may not work on
|
|
|
+ # the initial version of RISC-V package
|
|
|
+ # Defines for default states. These can be changed on the command line.
|
|
|
+ # -D FLAG=VALUE
|
|
|
+ #
|
|
|
+ DEFINE TTY_TERMINAL = FALSE
|
|
|
+ DEFINE SECURE_BOOT_ENABLE = FALSE
|
|
|
+ DEFINE TPM2_ENABLE = FALSE
|
|
|
+ DEFINE TPM2_CONFIG_ENABLE = FALSE
|
|
|
+ DEFINE DEBUG_ON_SERIAL_PORT = TRUE
|
|
|
+
|
|
|
+ #
|
|
|
+ # Network definition
|
|
|
+ #
|
|
|
+ DEFINE NETWORK_IP6_ENABLE = FALSE
|
|
|
+ DEFINE NETWORK_HTTP_BOOT_ENABLE = FALSE
|
|
|
+ DEFINE NETWORK_SNP_ENABLE = FALSE
|
|
|
+ DEFINE NETWORK_TLS_ENABLE = FALSE
|
|
|
+ DEFINE NETWORK_ALLOW_HTTP_CONNECTIONS = TRUE
|
|
|
+ DEFINE NETWORK_ISCSI_ENABLE = FALSE
|
|
|
+
|
|
|
+!if $(NETWORK_SNP_ENABLE) == TRUE
|
|
|
+ !error "NETWORK_SNP_ENABLE is IA32/X64/EBC only"
|
|
|
+!endif
|
|
|
+
|
|
|
+
|
|
|
+!include MdePkg/MdeLibs.dsc.inc
|
|
|
+
|
|
|
+[BuildOptions]
|
|
|
+ GCC:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG
|
|
|
+!ifdef $(SOURCE_DEBUG_ENABLE)
|
|
|
+ GCC:*_*_RISCV64_GENFW_FLAGS = --keepexceptiontable
|
|
|
+!endif
|
|
|
+
|
|
|
+[BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
|
|
|
+ GCC: *_*_*_DLINK_FLAGS = -z common-page-size=0x1000
|
|
|
+ MSFT: *_*_*_DLINK_FLAGS = /ALIGN:4096
|
|
|
+
|
|
|
+################################################################################
|
|
|
+#
|
|
|
+# Library Class section - list of all Library Classes needed by this Platform.
|
|
|
+#
|
|
|
+################################################################################
|
|
|
+
|
|
|
+!include NetworkPkg/NetworkDefines.dsc.inc
|
|
|
+
|
|
|
+!include OvmfPkg/RiscVVirt/RiscVVirt.dsc.inc
|
|
|
+
|
|
|
+!include MdePkg/MdeLibs.dsc.inc
|
|
|
+
|
|
|
+[LibraryClasses.common]
|
|
|
+ # Virtio Support
|
|
|
+ VirtioLib|OvmfPkg/Library/VirtioLib/VirtioLib.inf
|
|
|
+ VirtioMmioDeviceLib|OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceLib.inf
|
|
|
+ QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLibMmio.inf
|
|
|
+ QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/BaseQemuFwCfgS3LibNull.inf
|
|
|
+ QemuFwCfgSimpleParserLib|OvmfPkg/Library/QemuFwCfgSimpleParserLib/QemuFwCfgSimpleParserLib.inf
|
|
|
+ QemuLoadImageLib|OvmfPkg/Library/GenericQemuLoadImageLib/GenericQemuLoadImageLib.inf
|
|
|
+
|
|
|
+ TimerLib|UefiCpuPkg/Library/BaseRiscV64CpuTimerLib/BaseRiscV64CpuTimerLib.inf
|
|
|
+ VirtNorFlashPlatformLib|OvmfPkg/RiscVVirt/Library/VirtNorFlashPlatformLib/VirtNorFlashStaticLib.inf
|
|
|
+
|
|
|
+ CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
|
|
|
+ BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf
|
|
|
+ PlatformBootManagerLib|OvmfPkg/RiscVVirt/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
|
|
|
+ PlatformBmPrintScLib|OvmfPkg/Library/PlatformBmPrintScLib/PlatformBmPrintScLib.inf
|
|
|
+ CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
|
|
|
+ FrameBufferBltLib|MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf
|
|
|
+ QemuBootOrderLib|OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.inf
|
|
|
+ FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
|
|
|
+ PciPcdProducerLib|OvmfPkg/Fdt/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf
|
|
|
+ PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf
|
|
|
+ PciHostBridgeLib|OvmfPkg/Fdt/FdtPciHostBridgeLib/FdtPciHostBridgeLib.inf
|
|
|
+ PciHostBridgeUtilityLib|OvmfPkg/Library/PciHostBridgeUtilityLib/PciHostBridgeUtilityLib.inf
|
|
|
+ PeiHardwareInfoLib|OvmfPkg/Library/HardwareInfoLib/PeiHardwareInfoLib.inf
|
|
|
+ PlatformHookLib|MdeModulePkg/Library/BasePlatformHookLibNull/BasePlatformHookLibNull.inf
|
|
|
+
|
|
|
+!if $(TPM2_ENABLE) == TRUE
|
|
|
+ Tpm2CommandLib|SecurityPkg/Library/Tpm2CommandLib/Tpm2CommandLib.inf
|
|
|
+ Tcg2PhysicalPresenceLib|OvmfPkg/Library/Tcg2PhysicalPresenceLibQemu/DxeTcg2PhysicalPresenceLib.inf
|
|
|
+ TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf
|
|
|
+ TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLib/PeiDxeTpmPlatformHierarchyLib.inf
|
|
|
+!else
|
|
|
+ TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf
|
|
|
+ TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLibNull/PeiDxeTpmPlatformHierarchyLib.inf
|
|
|
+!endif
|
|
|
+
|
|
|
+[LibraryClasses.common.DXE_DRIVER]
|
|
|
+ ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
|
|
|
+ PciExpressLib|OvmfPkg/Library/BaseCachingPciExpressLib/BaseCachingPciExpressLib.inf
|
|
|
+
|
|
|
+!if $(TPM2_ENABLE) == TRUE
|
|
|
+ Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTcg2/Tpm2DeviceLibTcg2.inf
|
|
|
+!endif
|
|
|
+
|
|
|
+[LibraryClasses.common.UEFI_DRIVER]
|
|
|
+ UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
|
|
|
+ PciExpressLib|OvmfPkg/Library/BaseCachingPciExpressLib/BaseCachingPciExpressLib.inf
|
|
|
+
|
|
|
+#!include NetworkPkg/NetworkBuildOptions.dsc.inc
|
|
|
+
|
|
|
+################################################################################
|
|
|
+#
|
|
|
+# Pcd Section - list of all EDK II PCD Entries defined by this Platform.
|
|
|
+#
|
|
|
+################################################################################
|
|
|
+[PcdsFeatureFlag.common]
|
|
|
+ gUefiOvmfPkgTokenSpaceGuid.PcdQemuBootOrderPciTranslation|TRUE
|
|
|
+ gUefiOvmfPkgTokenSpaceGuid.PcdQemuBootOrderMmioTranslation|TRUE
|
|
|
+
|
|
|
+ ## If TRUE, Graphics Output Protocol will be installed on virtual handle created by ConsplitterDxe.
|
|
|
+ # It could be set FALSE to save size.
|
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
|
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE
|
|
|
+
|
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|TRUE
|
|
|
+
|
|
|
+[PcdsFixedAtBuild.common]
|
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x2000
|
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdMaxAuthVariableSize|0x2800
|
|
|
+!if $(NETWORK_TLS_ENABLE) == TRUE
|
|
|
+ #
|
|
|
+ # The cumulative and individual VOLATILE variable size limits should be set
|
|
|
+ # high enough for accommodating several and/or large CA certificates.
|
|
|
+ #
|
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0x80000
|
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVolatileVariableSize|0x40000
|
|
|
+!endif
|
|
|
+
|
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString|L"2.7"
|
|
|
+
|
|
|
+ # Serial Port
|
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseMmio|TRUE
|
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x10000000
|
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSerialBaudRate|9600
|
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseHardwareFlowControl|FALSE
|
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSerialClockRate|3686400
|
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterStride|1
|
|
|
+
|
|
|
+ #
|
|
|
+ # Network Pcds
|
|
|
+ #
|
|
|
+!include NetworkPkg/NetworkPcds.dsc.inc
|
|
|
+
|
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE
|
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }
|
|
|
+
|
|
|
+
|
|
|
+ #
|
|
|
+ # Enable the non-executable DXE stack. (This gets set up by DxeIpl)
|
|
|
+ #
|
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|TRUE
|
|
|
+
|
|
|
+!if $(SECURE_BOOT_ENABLE) == TRUE
|
|
|
+ # override the default values from SecurityPkg to ensure images from all sources are verified in secure boot
|
|
|
+ gEfiSecurityPkgTokenSpaceGuid.PcdOptionRomImageVerificationPolicy|0x04
|
|
|
+ gEfiSecurityPkgTokenSpaceGuid.PcdFixedMediaImageVerificationPolicy|0x04
|
|
|
+ gEfiSecurityPkgTokenSpaceGuid.PcdRemovableMediaImageVerificationPolicy|0x04
|
|
|
+!endif
|
|
|
+
|
|
|
+ gEfiShellPkgTokenSpaceGuid.PcdShellFileOperationSize|0x20000
|
|
|
+ gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x02
|
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory|FALSE
|
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|TRUE
|
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeMemorySize|1
|
|
|
+
|
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosEntryPointProvideMethod|0x2
|
|
|
+
|
|
|
+[PcdsDynamicDefault.common]
|
|
|
+ gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|3
|
|
|
+
|
|
|
+ ## If TRUE, OvmfPkg/AcpiPlatformDxe will not wait for PCI
|
|
|
+ # enumeration to complete before installing ACPI tables.
|
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|TRUE
|
|
|
+
|
|
|
+ # set PcdPciExpressBaseAddress to MAX_UINT64, which signifies that this
|
|
|
+ # PCD and PcdPciDisableBusEnumeration above have not been assigned yet
|
|
|
+ gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xFFFFFFFFFFFFFFFF
|
|
|
+
|
|
|
+ gEfiMdePkgTokenSpaceGuid.PcdPciIoTranslation|0x0
|
|
|
+
|
|
|
+ #
|
|
|
+ # Set video resolution for boot options and for text setup.
|
|
|
+ # PlatformDxe can set the former at runtime.
|
|
|
+ #
|
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|1280
|
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|800
|
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution|640
|
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution|480
|
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow|0
|
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn|0
|
|
|
+
|
|
|
+ #
|
|
|
+ # SMBIOS entry point version
|
|
|
+ #
|
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0300
|
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev|0x0
|
|
|
+ gUefiOvmfPkgTokenSpaceGuid.PcdQemuSmbiosValidated|FALSE
|
|
|
+
|
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
|
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
|
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0
|
|
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0
|
|
|
+
|
|
|
+ #
|
|
|
+ # IPv4 and IPv6 PXE Boot support.
|
|
|
+ #
|
|
|
+ gEfiNetworkPkgTokenSpaceGuid.PcdIPv4PXESupport|0x01
|
|
|
+ gEfiNetworkPkgTokenSpaceGuid.PcdIPv6PXESupport|0x01
|
|
|
+
|
|
|
+ #
|
|
|
+ # TPM2 support
|
|
|
+ #
|
|
|
+!if $(TPM2_ENABLE) == TRUE
|
|
|
+ gEfiSecurityPkgTokenSpaceGuid.PcdTpmBaseAddress|0x0
|
|
|
+ gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid|{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
|
|
|
+ gEfiSecurityPkgTokenSpaceGuid.PcdTpm2HashMask|0
|
|
|
+!else
|
|
|
+[PcdsPatchableInModule]
|
|
|
+ # make this PCD patchable instead of dynamic when TPM support is not enabled
|
|
|
+ # this permits setting the PCD in unreachable code without pulling in dynamic PCD support
|
|
|
+ gEfiSecurityPkgTokenSpaceGuid.PcdTpmBaseAddress|0x0
|
|
|
+!endif
|
|
|
+
|
|
|
+[PcdsDynamicHii]
|
|
|
+ gUefiOvmfPkgTokenSpaceGuid.PcdForceNoAcpi|L"ForceNoAcpi"|gOvmfVariableGuid|0x0|FALSE|NV,BS
|
|
|
+
|
|
|
+!if $(TPM2_CONFIG_ENABLE) == TRUE
|
|
|
+ gEfiSecurityPkgTokenSpaceGuid.PcdTcgPhysicalPresenceInterfaceVer|L"TCG2_VERSION"|gTcg2ConfigFormSetGuid|0x0|"1.3"|NV,BS
|
|
|
+ gEfiSecurityPkgTokenSpaceGuid.PcdTpm2AcpiTableRev|L"TCG2_VERSION"|gTcg2ConfigFormSetGuid|0x8|3|NV,BS
|
|
|
+!endif
|
|
|
+
|
|
|
+ gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|L"Timeout"|gEfiGlobalVariableGuid|0x0|5
|
|
|
+
|
|
|
+[LibraryClasses.common.PEI_CORE, LibraryClasses.common.PEIM]
|
|
|
+!if $(TPM2_ENABLE) == TRUE
|
|
|
+ PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
|
|
|
+!else
|
|
|
+ PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
|
|
|
+!endif
|
|
|
+
|
|
|
+################################################################################
|
|
|
+#
|
|
|
+# Components Section - list of all EDK II Modules needed by this Platform.
|
|
|
+#
|
|
|
+################################################################################
|
|
|
+[Components]
|
|
|
+
|
|
|
+ #
|
|
|
+ # SEC Phase modules
|
|
|
+ #
|
|
|
+ OvmfPkg/RiscVVirt/Sec/SecMain.inf {
|
|
|
+ <LibraryClasses>
|
|
|
+ ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf
|
|
|
+ LzmaDecompressLib|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
|
|
|
+ PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
|
|
|
+ HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf
|
|
|
+ PrePiHobListPointerLib|OvmfPkg/RiscVVirt/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf
|
|
|
+ MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf
|
|
|
+ }
|
|
|
+
|
|
|
+ #
|
|
|
+ # DXE
|
|
|
+ #
|
|
|
+ MdeModulePkg/Core/Dxe/DxeMain.inf {
|
|
|
+ <LibraryClasses>
|
|
|
+ NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf
|
|
|
+ DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
|
|
|
+ }
|
|
|
+
|
|
|
+ MdeModulePkg/Universal/PCD/Dxe/Pcd.inf {
|
|
|
+ <LibraryClasses>
|
|
|
+ PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
|
|
|
+ DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
|
|
|
+ DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
|
|
|
+ }
|
|
|
+
|
|
|
+ #
|
|
|
+ # Architectural Protocols
|
|
|
+ #
|
|
|
+ UefiCpuPkg/CpuDxeRiscV64/CpuDxeRiscV64.inf
|
|
|
+ MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
|
|
|
+ MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {
|
|
|
+ <LibraryClasses>
|
|
|
+ NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf
|
|
|
+ # don't use unaligned CopyMem () on the UEFI varstore NOR flash region
|
|
|
+ BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
|
|
|
+ }
|
|
|
+
|
|
|
+!if $(SECURE_BOOT_ENABLE) == TRUE
|
|
|
+ MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf {
|
|
|
+ <LibraryClasses>
|
|
|
+ NULL|SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf
|
|
|
+!if $(TPM2_ENABLE) == TRUE
|
|
|
+ NULL|SecurityPkg/Library/DxeTpm2MeasureBootLib/DxeTpm2MeasureBootLib.inf
|
|
|
+!endif
|
|
|
+ }
|
|
|
+ SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
|
|
|
+ OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.inf
|
|
|
+!else
|
|
|
+ MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
|
|
|
+!endif
|
|
|
+ MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
|
|
|
+ MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
|
|
|
+ MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
|
|
|
+ MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf
|
|
|
+ EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
|
|
|
+ EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf
|
|
|
+
|
|
|
+ MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
|
|
|
+ MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
|
|
|
+ MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
|
|
|
+ MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
|
|
|
+ MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
|
|
|
+
|
|
|
+ MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
|
|
|
+
|
|
|
+ UefiCpuPkg/CpuTimerDxeRiscV64/CpuTimerDxeRiscV64.inf
|
|
|
+ OvmfPkg/VirtNorFlashDxe/VirtNorFlashDxe.inf
|
|
|
+ MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
|
|
|
+
|
|
|
+ #
|
|
|
+ # Status Code Routing
|
|
|
+ #
|
|
|
+ MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
|
|
|
+ MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf
|
|
|
+
|
|
|
+ #
|
|
|
+ # Platform Driver
|
|
|
+ #
|
|
|
+ OvmfPkg/Fdt/VirtioFdtDxe/VirtioFdtDxe.inf
|
|
|
+ EmbeddedPkg/Drivers/FdtClientDxe/FdtClientDxe.inf {
|
|
|
+ <LibraryClasses>
|
|
|
+ DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
|
|
|
+ PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
|
|
|
+ DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
|
|
|
+ }
|
|
|
+ OvmfPkg/Fdt/HighMemDxe/HighMemDxe.inf
|
|
|
+ OvmfPkg/VirtioBlkDxe/VirtioBlk.inf
|
|
|
+ OvmfPkg/VirtioScsiDxe/VirtioScsi.inf
|
|
|
+ OvmfPkg/VirtioNetDxe/VirtioNet.inf
|
|
|
+ OvmfPkg/VirtioRngDxe/VirtioRng.inf
|
|
|
+
|
|
|
+ #
|
|
|
+ # FAT filesystem + GPT/MBR partitioning + UDF filesystem + virtio-fs
|
|
|
+ #
|
|
|
+ MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
|
|
|
+ MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
|
|
|
+ MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
|
|
|
+ FatPkg/EnhancedFatDxe/Fat.inf
|
|
|
+ MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
|
|
|
+ OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
|
|
|
+
|
|
|
+ #
|
|
|
+ # Bds
|
|
|
+ #
|
|
|
+ MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf {
|
|
|
+ <LibraryClasses>
|
|
|
+ DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
|
|
|
+ PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
|
|
|
+ DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
|
|
|
+ }
|
|
|
+ MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
|
|
|
+ MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
|
|
|
+ MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf
|
|
|
+ MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
|
|
|
+ MdeModulePkg/Logo/LogoDxe.inf
|
|
|
+ MdeModulePkg/Application/UiApp/UiApp.inf {
|
|
|
+ <LibraryClasses>
|
|
|
+ NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf
|
|
|
+ NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf
|
|
|
+ NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf
|
|
|
+ }
|
|
|
+ OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.inf {
|
|
|
+ <LibraryClasses>
|
|
|
+ NULL|OvmfPkg/Library/BlobVerifierLibNull/BlobVerifierLibNull.inf
|
|
|
+ }
|
|
|
+
|
|
|
+ #
|
|
|
+ # Networking stack
|
|
|
+ #
|
|
|
+!include NetworkPkg/NetworkComponents.dsc.inc
|
|
|
+
|
|
|
+ NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf {
|
|
|
+ <LibraryClasses>
|
|
|
+ NULL|OvmfPkg/Library/PxeBcPcdProducerLib/PxeBcPcdProducerLib.inf
|
|
|
+ }
|
|
|
+
|
|
|
+!if $(NETWORK_TLS_ENABLE) == TRUE
|
|
|
+ NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe.inf {
|
|
|
+ <LibraryClasses>
|
|
|
+ NULL|OvmfPkg/Library/TlsAuthConfigLib/TlsAuthConfigLib.inf
|
|
|
+ }
|
|
|
+!endif
|
|
|
+
|
|
|
+ #
|
|
|
+ # SCSI Bus and Disk Driver
|
|
|
+ #
|
|
|
+ MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
|
|
|
+ MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
|
|
|
+
|
|
|
+ #
|
|
|
+ # NVME Driver
|
|
|
+ #
|
|
|
+ MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
|
|
|
+
|
|
|
+ #
|
|
|
+ # SMBIOS Support
|
|
|
+ #
|
|
|
+ MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf {
|
|
|
+ <LibraryClasses>
|
|
|
+ NULL|OvmfPkg/Library/SmbiosVersionLib/DetectSmbiosVersionLib.inf
|
|
|
+ }
|
|
|
+ OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
|
|
|
+
|
|
|
+ #
|
|
|
+ # PCI support
|
|
|
+ #
|
|
|
+ OvmfPkg/RiscVVirt/PciCpuIo2Dxe/PciCpuIo2Dxe.inf {
|
|
|
+ <LibraryClasses>
|
|
|
+ NULL|OvmfPkg/Fdt/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf
|
|
|
+ }
|
|
|
+ MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf
|
|
|
+ MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf {
|
|
|
+ <LibraryClasses>
|
|
|
+ NULL|OvmfPkg/Fdt/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf
|
|
|
+ }
|
|
|
+ OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf
|
|
|
+ OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf
|
|
|
+ OvmfPkg/Virtio10Dxe/Virtio10.inf
|
|
|
+
|
|
|
+ #
|
|
|
+ # Video support
|
|
|
+ #
|
|
|
+ OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
|
|
|
+ OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
|
|
|
+ OvmfPkg/PlatformDxe/Platform.inf
|
|
|
+
|
|
|
+ #
|
|
|
+ # USB Support
|
|
|
+ #
|
|
|
+ MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
|
|
|
+ MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
|
|
|
+ MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
|
|
|
+ MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
|
|
|
+ MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
|
|
|
+ MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
|
|
|
+
|
|
|
+ #
|
|
|
+ # TPM2 support
|
|
|
+ #
|
|
|
+!if $(TPM2_ENABLE) == TRUE
|
|
|
+ SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf {
|
|
|
+ <LibraryClasses>
|
|
|
+ HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterDxe.inf
|
|
|
+ Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibRouter/Tpm2DeviceLibRouterDxe.inf
|
|
|
+ NULL|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2InstanceLibDTpm.inf
|
|
|
+ NULL|SecurityPkg/Library/HashInstanceLibSha1/HashInstanceLibSha1.inf
|
|
|
+ NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf
|
|
|
+ NULL|SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf
|
|
|
+ NULL|SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf
|
|
|
+ NULL|SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf
|
|
|
+ }
|
|
|
+!if $(TPM2_CONFIG_ENABLE) == TRUE
|
|
|
+ SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf
|
|
|
+!endif
|
|
|
+!endif
|
|
|
+
|
|
|
+ #
|
|
|
+ # ACPI Support
|
|
|
+ #
|
|
|
+ OvmfPkg/PlatformHasAcpiDtDxe/PlatformHasAcpiDtDxe.inf
|
|
|
+ MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
|
|
|
+ OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf {
|
|
|
+ <LibraryClasses>
|
|
|
+ NULL|OvmfPkg/Fdt/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf
|
|
|
+ }
|