| ## @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 | |
| # | |
| # Option to enable PEI booting. | |
| # | |
| DEFINE RISCVVIRT_PEI_BOOTING = FALSE | |
| # | |
| # 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 QEMU_PV_VARS = FALSE | |
| DEFINE TPM2_ENABLE = FALSE | |
| DEFINE TPM2_CONFIG_ENABLE = FALSE | |
| DEFINE DEBUG_ON_SERIAL_PORT = TRUE | |
| # | |
| # Shell can be useful for debugging but should not be enabled for production | |
| # | |
| DEFINE BUILD_SHELL = 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 | |
| DEFINE NETWORK_PXE_BOOT_ENABLE = TRUE | |
| !if $(NETWORK_SNP_ENABLE) == TRUE | |
| !error "NETWORK_SNP_ENABLE is IA32/X64/EBC only" | |
| !endif | |
| # | |
| # UPDATE/RECOVERY definition | |
| # | |
| DEFINE CAPSULE_ENABLE = FALSE | |
| DEFINE FMP_SYSTEM_DEVICE = BCBACAC2-1D1D-4C14-89A3-5E27496B702D | |
| !include MdePkg/MdeLibs.dsc.inc | |
| !include NetworkPkg/Network.dsc.inc | |
| !if $(CAPSULE_ENABLE) == TRUE | |
| POSTBUILD = python OvmfPkg/RiscVVirt/Feature/Capsule/GenerateCapsule/GenCapsule.py | |
| !include OvmfPkg/RiscVVirt/RiscVVirtSystemFW.dsc.inc | |
| !endif | |
| [BuildOptions] | |
| !if $(RISCVVIRT_PEI_BOOTING) == TRUE | |
| GCC:*_*_*_CC_FLAGS = -DRISCVVIRT_PEI_BOOTING | |
| !endif | |
| 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 | |
| CLANGPDB: *_*_*_DLINK_FLAGS = /ALIGN:4096 | |
| ################################################################################ | |
| # | |
| # Library Class section - list of all Library Classes needed by this Platform. | |
| # | |
| ################################################################################ | |
| !include OvmfPkg/RiscVVirt/RiscVVirt.dsc.inc | |
| !include MdePkg/MdeLibs.dsc.inc | |
| [LibraryClasses.common] | |
| PlatformSecLib|OvmfPkg/RiscVVirt/Library/PlatformSecLib/PlatformSecLib.inf | |
| # Virtio Support | |
| VirtioLib|OvmfPkg/Library/VirtioLib/VirtioLib.inf | |
| VirtioMmioDeviceLib|OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceLib.inf | |
| QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgMmioDxeLib.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 | |
| VirtNorFlashDeviceLib|OvmfPkg/Library/VirtNorFlashDeviceLib/VirtNorFlashDeviceLib.inf | |
| VirtNorFlashPlatformLib|OvmfPkg/RiscVVirt/Library/VirtNorFlashPlatformLib/VirtNorFlashDeviceTreeLib.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 | |
| ImagePropertiesRecordLib|MdeModulePkg/Library/ImagePropertiesRecordLib/ImagePropertiesRecordLib.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 | |
| !if $(CAPSULE_ENABLE) == TRUE | |
| CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.inf | |
| BmpSupportLib|MdeModulePkg/Library/BaseBmpSupportLib/BaseBmpSupportLib.inf | |
| SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf | |
| OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf | |
| IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf | |
| BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf | |
| FmpAuthenticationLib|SecurityPkg/Library/FmpAuthenticationLibPkcs7/FmpAuthenticationLibPkcs7.inf | |
| DisplayUpdateProgressLib|MdeModulePkg/Library/DisplayUpdateProgressLibText/DisplayUpdateProgressLibText.inf | |
| RngLib|MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf | |
| !endif | |
| [LibraryClasses.common.DXE_DRIVER] | |
| AcpiPlatformLib|OvmfPkg/Library/AcpiPlatformLib/DxeAcpiPlatformLib.inf | |
| 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 | |
| [LibraryClasses.common.DXE_RUNTIME_DRIVER] | |
| !if $(CAPSULE_ENABLE) == TRUE | |
| CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibFmp/DxeRuntimeCapsuleLib.inf | |
| !endif | |
| ################################################################################ | |
| # | |
| # 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.PcdTurnOffUsbLegacySupport|TRUE | |
| !if $(QEMU_PV_VARS) == TRUE | |
| gUefiOvmfPkgTokenSpaceGuid.PcdQemuVarsRequire|TRUE | |
| gEfiMdeModulePkgTokenSpaceGuid.PcdEnableVariableRuntimeCache|FALSE | |
| !endif | |
| [PcdsFixedAtBuild.common] | |
| gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x2000 | |
| gEfiMdeModulePkgTokenSpaceGuid.PcdMaxAuthVariableSize|0x2800 | |
| !if $(NETWORK_TLS_ENABLE) == TRUE || $(SECURE_BOOT_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 | |
| gEfiMdeModulePkgTokenSpaceGuid.PcdMaxAuthVariableSize|0x8400 | |
| !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 | |
| gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE | |
| gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 } | |
| !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 | |
| # | |
| # 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 | |
| !include OvmfPkg/Include/Dsc/OvmfDisplayPcds.dsc.inc | |
| !include NetworkPkg/NetworkDynamicPcds.dsc.inc | |
| # | |
| # 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 | |
| !if $(CAPSULE_ENABLE) == TRUE | |
| gEfiMdeModulePkgTokenSpaceGuid.PcdSystemFmpCapsuleImageTypeIdGuid|{GUID("$(FMP_SYSTEM_DEVICE)")}|VOID*|0x10 | |
| !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 | |
| BaseCryptLib|CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf | |
| Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.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 | |
| # | |
| !if $(RISCVVIRT_PEI_BOOTING) == TRUE | |
| UefiCpuPkg/SecCore/SecCoreNative.inf | |
| OvmfPkg/RiscVVirt/PlatformPei/PlatformPeim.inf | |
| MdeModulePkg/Core/Pei/PeiMain.inf | |
| MdeModulePkg/Universal/PCD/Pei/Pcd.inf { | |
| <LibraryClasses> | |
| PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf | |
| } | |
| MdeModulePkg/Universal/Variable/Pei/VariablePei.inf | |
| MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf { | |
| <LibraryClasses> | |
| NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf | |
| } | |
| !if $(TPM2_ENABLE) == TRUE | |
| OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf | |
| SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.inf { | |
| <LibraryClasses> | |
| Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibRouter/Tpm2DeviceLibRouterPei.inf | |
| NULL|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2InstanceLibDTpm.inf | |
| HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterPei.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 | |
| } | |
| SecurityPkg/Tcg/Tcg2PlatformPei/Tcg2PlatformPei.inf { | |
| <LibraryClasses> | |
| TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLib/PeiDxeTpmPlatformHierarchyLib.inf | |
| } | |
| !endif | |
| !else | |
| UefiCpuPkg/SecCore/SecCoreNative.inf { | |
| <LibraryClasses> | |
| ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf | |
| NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf | |
| HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf | |
| PrePiHobListPointerLib|OvmfPkg/RiscVVirt/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf | |
| MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf | |
| } | |
| !endif | |
| # | |
| # 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 | |
| !if $(QEMU_PV_VARS) == TRUE | |
| OvmfPkg/VirtMmCommunicationDxe/VirtMmCommunication.inf | |
| MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmmRuntimeDxe.inf | |
| !else | |
| 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 | |
| } | |
| !endif | |
| !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/RiscVVirt/Feature/SecureBoot/SecureBootDefaultKeysInit/SecureBootDefaultKeysInit.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 | |
| } | |
| !if $(NETWORK_ENABLE) == TRUE | |
| !if $(NETWORK_PXE_BOOT_ENABLE) == TRUE | |
| NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf { | |
| <LibraryClasses> | |
| NULL|OvmfPkg/Library/PxeBcPcdProducerLib/PxeBcPcdProducerLib.inf | |
| } | |
| !endif | |
| !if $(NETWORK_TLS_ENABLE) == TRUE | |
| NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe.inf { | |
| <LibraryClasses> | |
| NULL|OvmfPkg/Library/TlsAuthConfigLib/TlsAuthConfigLib.inf | |
| } | |
| !endif | |
| !endif | |
| # | |
| # SCSI Bus and Disk Driver | |
| # | |
| MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf | |
| MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf | |
| # | |
| # SATA | |
| # | |
| MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf | |
| MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf | |
| MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.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 | |
| # | |
| UefiCpuPkg/CpuMmio2Dxe/CpuMmio2Dxe.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/QemuVideoDxe/QemuVideoDxe.inf | |
| 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 | |
| } | |
| !if $(CAPSULE_ENABLE) == TRUE | |
| MdeModulePkg/Universal/EsrtFmpDxe/EsrtFmpDxe.inf | |
| MdeModulePkg/Application/CapsuleApp/CapsuleApp.inf { | |
| <LibraryClasses> | |
| PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf | |
| } | |
| !endif |