2020-07-13 07:41:31 +02:00
|
|
|
#
|
|
|
|
# Copyright (c) 2020, Rebecca Cran <rebecca@bsdio.com>
|
|
|
|
# Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
|
|
|
|
# (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
|
|
|
|
# Copyright (c) 2014, Pluribus Networks, Inc.
|
|
|
|
#
|
|
|
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
|
|
#
|
|
|
|
##
|
|
|
|
|
|
|
|
################################################################################
|
|
|
|
|
|
|
|
[Defines]
|
2020-08-18 04:10:35 +02:00
|
|
|
!include OvmfPkg/Bhyve/BhyveDefines.fdf.inc
|
2020-07-13 07:41:31 +02:00
|
|
|
|
|
|
|
#
|
|
|
|
# Build the variable store and the firmware code as one unified flash device
|
|
|
|
# image.
|
|
|
|
#
|
|
|
|
[FD.BHYVE]
|
|
|
|
BaseAddress = $(FW_BASE_ADDRESS)
|
|
|
|
Size = $(FW_SIZE)
|
|
|
|
ErasePolarity = 1
|
|
|
|
BlockSize = $(BLOCK_SIZE)
|
|
|
|
NumBlocks = $(FW_BLOCKS)
|
|
|
|
|
2022-12-09 14:03:48 +01:00
|
|
|
!include OvmfPkg/Include/Fdf/VarStore.fdf.inc
|
2020-07-13 07:41:31 +02:00
|
|
|
|
|
|
|
$(VARS_SIZE)|$(FVMAIN_SIZE)
|
|
|
|
FV = FVMAIN_COMPACT
|
|
|
|
|
|
|
|
$(SECFV_OFFSET)|$(SECFV_SIZE)
|
|
|
|
FV = SECFV
|
|
|
|
|
|
|
|
#
|
|
|
|
# Build the variable store and the firmware code as separate flash device
|
|
|
|
# images.
|
|
|
|
#
|
|
|
|
[FD.BHYVE_VARS]
|
|
|
|
BaseAddress = $(FW_BASE_ADDRESS)
|
|
|
|
Size = $(VARS_SIZE)
|
|
|
|
ErasePolarity = 1
|
|
|
|
BlockSize = $(BLOCK_SIZE)
|
|
|
|
NumBlocks = $(VARS_BLOCKS)
|
|
|
|
|
2022-12-09 14:03:48 +01:00
|
|
|
!include OvmfPkg/Include/Fdf/VarStore.fdf.inc
|
2020-07-13 07:41:31 +02:00
|
|
|
|
|
|
|
[FD.BHYVE_CODE]
|
|
|
|
BaseAddress = $(CODE_BASE_ADDRESS)
|
|
|
|
Size = $(CODE_SIZE)
|
|
|
|
ErasePolarity = 1
|
|
|
|
BlockSize = $(BLOCK_SIZE)
|
|
|
|
NumBlocks = $(CODE_BLOCKS)
|
|
|
|
|
|
|
|
0x00000000|$(FVMAIN_SIZE)
|
|
|
|
FV = FVMAIN_COMPACT
|
|
|
|
|
|
|
|
$(FVMAIN_SIZE)|$(SECFV_SIZE)
|
|
|
|
FV = SECFV
|
|
|
|
|
|
|
|
################################################################################
|
|
|
|
|
|
|
|
[FD.MEMFD]
|
|
|
|
BaseAddress = $(MEMFD_BASE_ADDRESS)
|
|
|
|
Size = 0xC00000
|
|
|
|
ErasePolarity = 1
|
|
|
|
BlockSize = 0x10000
|
|
|
|
NumBlocks = 0xC0
|
|
|
|
|
|
|
|
0x000000|0x006000
|
|
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPageTablesBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPageTablesSize
|
|
|
|
|
|
|
|
0x006000|0x001000
|
|
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfLockBoxStorageBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfLockBoxStorageSize
|
|
|
|
|
|
|
|
0x007000|0x001000
|
|
|
|
gEfiMdePkgTokenSpaceGuid.PcdGuidedExtractHandlerTableAddress|gUefiOvmfPkgTokenSpaceGuid.PcdGuidedExtractHandlerTableSize
|
|
|
|
|
|
|
|
0x010000|0x010000
|
|
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPeiTempRamBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPeiTempRamSize
|
|
|
|
|
|
|
|
0x020000|0x0E0000
|
|
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvSize
|
|
|
|
FV = PEIFV
|
|
|
|
|
|
|
|
0x100000|0xB00000
|
|
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvSize
|
|
|
|
FV = DXEFV
|
|
|
|
|
|
|
|
################################################################################
|
|
|
|
|
|
|
|
[FV.SECFV]
|
|
|
|
FvNameGuid = 763BED0D-DE9F-48F5-81F1-3E90E1B1A015
|
|
|
|
BlockSize = 0x1000
|
|
|
|
FvAlignment = 16
|
|
|
|
ERASE_POLARITY = 1
|
|
|
|
MEMORY_MAPPED = TRUE
|
|
|
|
STICKY_WRITE = TRUE
|
|
|
|
LOCK_CAP = TRUE
|
|
|
|
LOCK_STATUS = TRUE
|
|
|
|
WRITE_DISABLED_CAP = TRUE
|
|
|
|
WRITE_ENABLED_CAP = TRUE
|
|
|
|
WRITE_STATUS = TRUE
|
|
|
|
WRITE_LOCK_CAP = TRUE
|
|
|
|
WRITE_LOCK_STATUS = TRUE
|
|
|
|
READ_DISABLED_CAP = TRUE
|
|
|
|
READ_ENABLED_CAP = TRUE
|
|
|
|
READ_STATUS = TRUE
|
|
|
|
READ_LOCK_CAP = TRUE
|
|
|
|
READ_LOCK_STATUS = TRUE
|
|
|
|
|
|
|
|
#
|
|
|
|
# SEC Phase modules
|
|
|
|
#
|
|
|
|
# The code in this FV handles the initial firmware startup, and
|
|
|
|
# decompresses the PEI and DXE FVs which handles the rest of the boot sequence.
|
|
|
|
#
|
|
|
|
INF OvmfPkg/Sec/SecMain.inf
|
|
|
|
|
2020-11-12 06:31:53 +01:00
|
|
|
INF RuleOverride=RESET_VECTOR OvmfPkg/Bhyve/ResetVector/ResetVector.inf
|
2020-07-13 07:41:31 +02:00
|
|
|
|
|
|
|
################################################################################
|
|
|
|
[FV.PEIFV]
|
|
|
|
FvNameGuid = 6938079B-B503-4E3D-9D24-B28337A25806
|
|
|
|
BlockSize = 0x10000
|
|
|
|
FvAlignment = 16
|
|
|
|
ERASE_POLARITY = 1
|
|
|
|
MEMORY_MAPPED = TRUE
|
|
|
|
STICKY_WRITE = TRUE
|
|
|
|
LOCK_CAP = TRUE
|
|
|
|
LOCK_STATUS = TRUE
|
|
|
|
WRITE_DISABLED_CAP = TRUE
|
|
|
|
WRITE_ENABLED_CAP = TRUE
|
|
|
|
WRITE_STATUS = TRUE
|
|
|
|
WRITE_LOCK_CAP = TRUE
|
|
|
|
WRITE_LOCK_STATUS = TRUE
|
|
|
|
READ_DISABLED_CAP = TRUE
|
|
|
|
READ_ENABLED_CAP = TRUE
|
|
|
|
READ_STATUS = TRUE
|
|
|
|
READ_LOCK_CAP = TRUE
|
|
|
|
READ_LOCK_STATUS = TRUE
|
|
|
|
|
|
|
|
APRIORI PEI {
|
|
|
|
INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf
|
|
|
|
}
|
|
|
|
|
|
|
|
#
|
|
|
|
# PEI Phase modules
|
|
|
|
#
|
|
|
|
INF MdeModulePkg/Core/Pei/PeiMain.inf
|
|
|
|
INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf
|
|
|
|
INF MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf
|
|
|
|
INF MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf
|
|
|
|
INF OvmfPkg/Bhyve/PlatformPei/PlatformPei.inf
|
|
|
|
INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
|
|
|
|
INF UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf
|
|
|
|
!if $(SMM_REQUIRE) == TRUE
|
|
|
|
INF OvmfPkg/Bhyve/SmmAccess/SmmAccessPei.inf
|
|
|
|
!endif
|
|
|
|
|
2023-06-19 13:54:12 +02:00
|
|
|
!include OvmfPkg/Include/Fdf/OvmfTpmPei.fdf.inc
|
|
|
|
|
2020-07-13 07:41:31 +02:00
|
|
|
################################################################################
|
|
|
|
|
|
|
|
[FV.DXEFV]
|
|
|
|
FvForceRebase = FALSE
|
|
|
|
FvNameGuid = 7CB8BDC9-F8EB-4F34-AAEA-3EE4AF6516A1
|
|
|
|
BlockSize = 0x10000
|
|
|
|
FvAlignment = 16
|
|
|
|
ERASE_POLARITY = 1
|
|
|
|
MEMORY_MAPPED = TRUE
|
|
|
|
STICKY_WRITE = TRUE
|
|
|
|
LOCK_CAP = TRUE
|
|
|
|
LOCK_STATUS = TRUE
|
|
|
|
WRITE_DISABLED_CAP = TRUE
|
|
|
|
WRITE_ENABLED_CAP = TRUE
|
|
|
|
WRITE_STATUS = TRUE
|
|
|
|
WRITE_LOCK_CAP = TRUE
|
|
|
|
WRITE_LOCK_STATUS = TRUE
|
|
|
|
READ_DISABLED_CAP = TRUE
|
|
|
|
READ_ENABLED_CAP = TRUE
|
|
|
|
READ_STATUS = TRUE
|
|
|
|
READ_LOCK_CAP = TRUE
|
|
|
|
READ_LOCK_STATUS = TRUE
|
|
|
|
|
|
|
|
APRIORI DXE {
|
|
|
|
INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
|
|
|
|
INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
|
|
|
|
INF OvmfPkg/AmdSevDxe/AmdSevDxe.inf
|
|
|
|
!if $(SMM_REQUIRE) == FALSE
|
|
|
|
INF OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf
|
|
|
|
!endif
|
|
|
|
}
|
|
|
|
|
|
|
|
#
|
|
|
|
# DXE Phase modules
|
|
|
|
#
|
|
|
|
INF MdeModulePkg/Core/Dxe/DxeMain.inf
|
|
|
|
|
|
|
|
INF MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
|
|
|
|
INF MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf
|
|
|
|
INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
|
|
|
|
|
|
|
|
INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
|
|
|
|
INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
|
|
|
|
INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
|
|
|
|
INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
|
|
|
|
INF UefiCpuPkg/CpuDxe/CpuDxe.inf
|
|
|
|
INF PcAtChipsetPkg/HpetTimerDxe/HpetTimerDxe.inf
|
2023-07-11 09:16:37 +02:00
|
|
|
INF OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf
|
2020-07-13 07:41:31 +02:00
|
|
|
INF OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf
|
|
|
|
INF MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf
|
|
|
|
INF MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
|
|
|
|
INF MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf
|
|
|
|
INF MdeModulePkg/Universal/Metronome/Metronome.inf
|
|
|
|
INF PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf
|
|
|
|
|
|
|
|
INF OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf
|
|
|
|
INF OvmfPkg/Virtio10Dxe/Virtio10.inf
|
|
|
|
INF OvmfPkg/VirtioBlkDxe/VirtioBlk.inf
|
|
|
|
INF OvmfPkg/VirtioScsiDxe/VirtioScsi.inf
|
|
|
|
INF OvmfPkg/VirtioRngDxe/VirtioRng.inf
|
|
|
|
|
|
|
|
!if $(SECURE_BOOT_ENABLE) == TRUE
|
|
|
|
INF SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
|
|
|
|
!endif
|
|
|
|
|
|
|
|
INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
|
|
|
|
INF MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
|
|
|
|
INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
|
|
|
|
INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
|
|
|
|
INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
|
|
|
|
INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
|
|
|
|
INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
|
|
|
|
INF MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf
|
|
|
|
INF MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
|
|
|
|
INF MdeModulePkg/Application/UiApp/UiApp.inf
|
|
|
|
INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
|
|
|
|
INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
|
|
|
|
INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
|
|
|
|
INF MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
|
|
|
|
INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
|
|
|
|
INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
|
|
|
|
INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
|
2023-06-01 19:27:35 +02:00
|
|
|
INF MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf
|
2020-07-13 07:41:31 +02:00
|
|
|
INF MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
|
|
|
|
INF MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
|
|
|
|
INF MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
|
|
|
|
INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
|
|
|
|
INF MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
|
|
|
|
INF MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
|
|
|
|
INF MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
|
|
|
|
|
|
|
|
|
|
|
|
INF OvmfPkg/SioBusDxe/SioBusDxe.inf
|
|
|
|
INF MdeModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe.inf
|
|
|
|
INF MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf
|
|
|
|
INF MdeModulePkg/Bus/Isa/Ps2MouseDxe/Ps2MouseDxe.inf
|
|
|
|
|
|
|
|
INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
|
|
|
|
INF OvmfPkg/Bhyve/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
|
|
|
|
|
|
|
|
INF MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
|
|
|
|
INF OvmfPkg/Bhyve/AcpiPlatformDxe/AcpiPlatformDxe.inf
|
|
|
|
INF RuleOverride=ACPITABLE OvmfPkg/Bhyve/AcpiTables/AcpiTables.inf
|
|
|
|
INF MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf
|
|
|
|
INF MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf
|
|
|
|
INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
|
|
|
|
|
|
|
|
INF FatPkg/EnhancedFatDxe/Fat.inf
|
|
|
|
INF MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
|
|
|
|
|
|
|
|
!if $(TOOL_CHAIN_TAG) != "XCODE5"
|
|
|
|
INF ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf
|
|
|
|
!endif
|
|
|
|
INF ShellPkg/Application/Shell/Shell.inf
|
|
|
|
|
|
|
|
INF MdeModulePkg/Logo/LogoDxe.inf
|
|
|
|
|
|
|
|
#
|
|
|
|
# Network modules
|
|
|
|
#
|
|
|
|
!if $(E1000_ENABLE)
|
|
|
|
FILE DRIVER = 5D695E11-9B3F-4b83-B25F-4A8D5D69BE07 {
|
|
|
|
SECTION PE32 = Intel3.5/EFIX64/E3522X2.EFI
|
|
|
|
}
|
|
|
|
!endif
|
|
|
|
!include NetworkPkg/Network.fdf.inc
|
|
|
|
INF OvmfPkg/VirtioNetDxe/VirtioNet.inf
|
|
|
|
|
2021-07-05 13:08:41 +02:00
|
|
|
#
|
|
|
|
# Usb Support
|
|
|
|
#
|
|
|
|
INF MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
|
|
|
|
INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
|
|
|
|
INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
|
|
|
|
INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
|
|
|
|
|
2020-07-13 07:41:31 +02:00
|
|
|
!ifdef $(CSM_ENABLE)
|
|
|
|
INF IntelFrameworkModulePkg/Csm/BiosThunk/VideoDxe/VideoDxe.inf
|
|
|
|
!endif
|
|
|
|
#INF OvmfPkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf
|
|
|
|
!ifdef $(CSM_ENABLE)
|
|
|
|
INF RuleOverride=CSM OvmfPkg/Bhyve/Csm/BhyveCsm16/BhyveCsm16.inf
|
|
|
|
!endif
|
|
|
|
|
|
|
|
INF OvmfPkg/PlatformDxe/Platform.inf
|
|
|
|
INF OvmfPkg/AmdSevDxe/AmdSevDxe.inf
|
|
|
|
INF OvmfPkg/IoMmuDxe/IoMmuDxe.inf
|
|
|
|
INF OvmfPkg/Bhyve/BhyveRfbDxe/BhyveRfbDxe.inf
|
|
|
|
|
|
|
|
!if $(SMM_REQUIRE) == TRUE
|
|
|
|
INF OvmfPkg/Bhyve/SmmAccess/SmmAccess2Dxe.inf
|
|
|
|
INF OvmfPkg/Bhyve/SmmControl2Dxe/SmmControl2Dxe.inf
|
|
|
|
INF UefiCpuPkg/CpuS3DataDxe/CpuS3DataDxe.inf
|
|
|
|
INF MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf
|
|
|
|
INF MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf
|
|
|
|
INF UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf
|
|
|
|
INF MdeModulePkg/Universal/LockBox/SmmLockBox/SmmLockBox.inf
|
|
|
|
INF UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf
|
|
|
|
|
|
|
|
#
|
|
|
|
# Variable driver stack (SMM)
|
|
|
|
#
|
|
|
|
INF OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesSmm.inf
|
|
|
|
INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmm.inf
|
|
|
|
INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.inf
|
|
|
|
INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmmRuntimeDxe.inf
|
|
|
|
|
|
|
|
!else
|
|
|
|
|
|
|
|
#
|
|
|
|
# Variable driver stack (non-SMM)
|
|
|
|
#
|
|
|
|
INF OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf
|
|
|
|
INF OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.inf
|
|
|
|
INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
|
|
|
|
INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
|
|
|
|
!endif
|
|
|
|
|
2023-06-19 13:54:12 +02:00
|
|
|
#
|
|
|
|
# TPM support
|
|
|
|
#
|
|
|
|
!include OvmfPkg/Include/Fdf/OvmfTpmDxe.fdf.inc
|
|
|
|
|
2020-07-13 07:41:31 +02:00
|
|
|
################################################################################
|
|
|
|
|
|
|
|
[FV.FVMAIN_COMPACT]
|
|
|
|
FvNameGuid = 48DB5E17-707C-472D-91CD-1613E7EF51B0
|
|
|
|
FvAlignment = 16
|
|
|
|
ERASE_POLARITY = 1
|
|
|
|
MEMORY_MAPPED = TRUE
|
|
|
|
STICKY_WRITE = TRUE
|
|
|
|
LOCK_CAP = TRUE
|
|
|
|
LOCK_STATUS = TRUE
|
|
|
|
WRITE_DISABLED_CAP = TRUE
|
|
|
|
WRITE_ENABLED_CAP = TRUE
|
|
|
|
WRITE_STATUS = TRUE
|
|
|
|
WRITE_LOCK_CAP = TRUE
|
|
|
|
WRITE_LOCK_STATUS = TRUE
|
|
|
|
READ_DISABLED_CAP = TRUE
|
|
|
|
READ_ENABLED_CAP = TRUE
|
|
|
|
READ_STATUS = TRUE
|
|
|
|
READ_LOCK_CAP = TRUE
|
|
|
|
READ_LOCK_STATUS = TRUE
|
|
|
|
|
|
|
|
FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 {
|
|
|
|
SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE {
|
|
|
|
#
|
|
|
|
# These firmware volumes will have files placed in them uncompressed,
|
|
|
|
# and then both firmware volumes will be compressed in a single
|
|
|
|
# compression operation in order to achieve better overall compression.
|
|
|
|
#
|
|
|
|
SECTION FV_IMAGE = PEIFV
|
|
|
|
SECTION FV_IMAGE = DXEFV
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-12-09 14:03:48 +01:00
|
|
|
!include OvmfPkg/Include/Fdf/FvmainCompactScratchEnd.fdf.inc
|
2020-07-13 07:41:31 +02:00
|
|
|
|
|
|
|
################################################################################
|
|
|
|
|
|
|
|
[Rule.Common.SEC]
|
|
|
|
FILE SEC = $(NAMED_GUID) {
|
|
|
|
PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
|
|
|
|
UI STRING ="$(MODULE_NAME)" Optional
|
|
|
|
VERSION STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
|
|
|
|
}
|
|
|
|
|
|
|
|
[Rule.Common.PEI_CORE]
|
|
|
|
FILE PEI_CORE = $(NAMED_GUID) {
|
|
|
|
PE32 PE32 Align=Auto $(INF_OUTPUT)/$(MODULE_NAME).efi
|
|
|
|
UI STRING ="$(MODULE_NAME)" Optional
|
|
|
|
VERSION STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
|
|
|
|
}
|
|
|
|
|
|
|
|
[Rule.Common.PEIM]
|
|
|
|
FILE PEIM = $(NAMED_GUID) {
|
|
|
|
PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
|
|
|
|
PE32 PE32 Align=Auto $(INF_OUTPUT)/$(MODULE_NAME).efi
|
|
|
|
UI STRING="$(MODULE_NAME)" Optional
|
|
|
|
VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
|
|
|
|
}
|
|
|
|
|
|
|
|
[Rule.Common.DXE_CORE]
|
|
|
|
FILE DXE_CORE = $(NAMED_GUID) {
|
|
|
|
PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
|
|
|
|
UI STRING="$(MODULE_NAME)" Optional
|
|
|
|
VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
|
|
|
|
}
|
|
|
|
|
|
|
|
[Rule.Common.DXE_DRIVER]
|
|
|
|
FILE DRIVER = $(NAMED_GUID) {
|
|
|
|
DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
|
|
|
|
PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
|
|
|
|
UI STRING="$(MODULE_NAME)" Optional
|
|
|
|
VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
|
|
|
|
RAW ACPI Optional |.acpi
|
|
|
|
RAW ASL Optional |.aml
|
|
|
|
}
|
|
|
|
|
|
|
|
[Rule.Common.DXE_RUNTIME_DRIVER]
|
|
|
|
FILE DRIVER = $(NAMED_GUID) {
|
|
|
|
DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
|
|
|
|
PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
|
|
|
|
UI STRING="$(MODULE_NAME)" Optional
|
|
|
|
VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
|
|
|
|
}
|
|
|
|
|
|
|
|
[Rule.Common.UEFI_DRIVER]
|
|
|
|
FILE DRIVER = $(NAMED_GUID) {
|
|
|
|
DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
|
|
|
|
PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
|
|
|
|
UI STRING="$(MODULE_NAME)" Optional
|
|
|
|
VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
|
|
|
|
}
|
|
|
|
|
|
|
|
[Rule.Common.UEFI_DRIVER.BINARY]
|
|
|
|
FILE DRIVER = $(NAMED_GUID) {
|
|
|
|
DXE_DEPEX DXE_DEPEX Optional |.depex
|
|
|
|
PE32 PE32 |.efi
|
|
|
|
UI STRING="$(MODULE_NAME)" Optional
|
|
|
|
VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
|
|
|
|
}
|
|
|
|
|
|
|
|
[Rule.Common.UEFI_APPLICATION]
|
|
|
|
FILE APPLICATION = $(NAMED_GUID) {
|
|
|
|
PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
|
|
|
|
UI STRING="$(MODULE_NAME)" Optional
|
|
|
|
VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
|
|
|
|
}
|
|
|
|
|
|
|
|
[Rule.Common.UEFI_APPLICATION.BINARY]
|
|
|
|
FILE APPLICATION = $(NAMED_GUID) {
|
|
|
|
PE32 PE32 |.efi
|
|
|
|
UI STRING="$(MODULE_NAME)" Optional
|
|
|
|
VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
|
|
|
|
}
|
|
|
|
|
|
|
|
[Rule.Common.USER_DEFINED.ACPITABLE]
|
OvmfPkg: fix DEC spec violation introduced by Bhyve addition
Sean reports that having two DEC files under OvmfPkg violates the DEC
spec:
> An EDK II Package (directory) is a directory that contains an EDK II
> package declaration (DEC) file. Only one DEC file is permitted per
> directory. EDK II Packages cannot be nested within other EDK II
> Packages.
This issue originates from commit 656419f922c0 ("Add BhyvePkg, to support
the bhyve hypervisor", 2020-07-31).
Remedy the problem as follows. (Note that these steps are not split to
multiple patches in order to keep Bhyve buildable across the transition.)
(1) Delete "OvmfPkg/Bhyve/BhyvePkg.dec".
(2) Point the [Packages] sections of the Bhyve-specific AcpiPlatformDxe,
BhyveRfbDxe, and BhyveFwCtlLib INF files to "OvmfPkg.dec".
(3) Migrate the artifacts that "BhyvePkg.dec" used to have on top of
"OvmfPkg.dec" as follows:
(3a) Merge the copyright notices from Rebecca Cran and Pluribus Networks
into "OvmfPkg.dec".
(3b) Merge the "BhyveFwCtlLib" class header definition into "OvmfPkg.dec".
(3c) Merge value 0x2F8 for the fixed PcdDebugIoPort into
"BhyvePkgX64.dsc".
(4) Unnest the the Include/Library/ and Library/ subtrees from under
OvmfPkg/Bhyve to the corresponding, preexistent subtrees in OvmfPkg.
The goal is to keep the [Includes] section in the "OvmfPkg.dec" file
unchanged, plus simplify references in "BhyvePkgX64.dsc". Non-library
modules remain under "OvmfPkg/Bhyve/".
(4a) The BhyveFwCtlLib class header, and sole instance, are already
uniquely named, so their movements need not involve file renames.
(4b) Rename the Bhyve-specific PlatformBootManagerLib instance to
PlatformBootManagerLibBhyve, in additon to moving it, for
distinguishing it from OvmfPkg's preexistent lib instance. Apply the
name change to all three of the lib instance directory name, the INF
file, and the BASE_NAME define in the INF file.
(4c) Update lib class resolutions in "BhyvePkgX64.dsc" accordingly.
(5) Replace the "ACPI table storage" FILE_GUID in
"OvmfPkg/Bhyve/AcpiTables/AcpiTables.inf" with a new GUID, and
open-code the "ACPI table storage" GUID in the "ACPITABLE" FDF rule
instead, replacing $(NAMED_GUID). This step is necessary because CI
requires unique FILE_GUIDs over all INF files, and OVMF's original
"AcpiTables.inf" already uses the "ACPI table storage" GUID as
FILE_GUID.
Cc: Ard Biesheuvel <ard.biesheuvel@arm.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
Cc: Rebecca Cran <rebecca@bsdio.com>
Cc: Sean Brogan <spbrogan@outlook.com>
Fixes: 656419f922c047a3c48bd3f4ecea7d8e87d0b761
Reported-by: Sean Brogan <spbrogan@outlook.com>
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Message-Id: <20200801155024.16439-1-lersek@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Rebecca Cran <rebecca@bsdio.com>
2020-08-01 17:50:24 +02:00
|
|
|
FILE FREEFORM = 7E374E25-8E01-4FEE-87F2-390C23C606CD {
|
2020-07-13 07:41:31 +02:00
|
|
|
RAW ACPI |.acpi
|
|
|
|
RAW ASL |.aml
|
|
|
|
}
|
|
|
|
|
|
|
|
[Rule.Common.USER_DEFINED.CSM]
|
|
|
|
FILE FREEFORM = $(NAMED_GUID) {
|
|
|
|
RAW BIN |.bin
|
|
|
|
}
|
|
|
|
|
|
|
|
[Rule.Common.SEC.RESET_VECTOR]
|
|
|
|
FILE RAW = $(NAMED_GUID) {
|
|
|
|
RAW BIN Align = 16 |.bin
|
|
|
|
}
|
|
|
|
|
|
|
|
[Rule.Common.SMM_CORE]
|
|
|
|
FILE SMM_CORE = $(NAMED_GUID) {
|
|
|
|
PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
|
|
|
|
UI STRING="$(MODULE_NAME)" Optional
|
|
|
|
VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
|
|
|
|
}
|
|
|
|
|
|
|
|
[Rule.Common.DXE_SMM_DRIVER]
|
|
|
|
FILE SMM = $(NAMED_GUID) {
|
|
|
|
SMM_DEPEX SMM_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
|
|
|
|
PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
|
|
|
|
UI STRING="$(MODULE_NAME)" Optional
|
|
|
|
VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
|
|
|
|
}
|