################################################################################\r
\r
[Defines]\r
-!include OvmfPkgDefines.fdf.inc\r
+!include OvmfPkg/Include/Fdf/OvmfPkgDefines.fdf.inc\r
\r
#\r
# Build the variable store and the firmware code as one unified flash device\r
BlockSize = $(BLOCK_SIZE)\r
NumBlocks = $(FW_BLOCKS)\r
\r
-!include VarStore.fdf.inc\r
+!include OvmfPkg/Include/Fdf/VarStore.fdf.inc\r
\r
$(VARS_SIZE)|$(FVMAIN_SIZE)\r
FV = FVMAIN_COMPACT\r
BlockSize = $(BLOCK_SIZE)\r
NumBlocks = $(VARS_BLOCKS)\r
\r
-!include VarStore.fdf.inc\r
+!include OvmfPkg/Include/Fdf/VarStore.fdf.inc\r
\r
[FD.OVMF_CODE]\r
BaseAddress = $(CODE_BASE_ADDRESS)\r
\r
[FD.MEMFD]\r
BaseAddress = $(MEMFD_BASE_ADDRESS)\r
-Size = 0xD00000\r
+Size = 0xE00000\r
ErasePolarity = 1\r
BlockSize = 0x10000\r
-NumBlocks = 0xD0\r
+NumBlocks = 0xE0\r
\r
0x000000|0x006000\r
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPageTablesBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPageTablesSize\r
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvSize\r
FV = PEIFV\r
\r
-0x100000|0xC00000\r
+0x100000|0xD00000\r
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvSize\r
FV = DXEFV\r
\r
##########################################################################################\r
-# Set the SEV-ES specific work area PCDs\r
+# Set the SEV-ES specific work area PCDs (used for all forms of SEV since the\r
+# the SEV STATUS MSR is now saved in the work area)\r
#\r
SET gUefiCpuPkgTokenSpaceGuid.PcdSevEsWorkAreaBase = $(MEMFD_BASE_ADDRESS) + gUefiOvmfPkgTokenSpaceGuid.PcdOvmfWorkAreaBase + gUefiOvmfPkgTokenSpaceGuid.PcdOvmfConfidentialComputingWorkAreaHeader\r
SET gUefiCpuPkgTokenSpaceGuid.PcdSevEsWorkAreaSize = gUefiOvmfPkgTokenSpaceGuid.PcdOvmfWorkAreaSize - gUefiOvmfPkgTokenSpaceGuid.PcdOvmfConfidentialComputingWorkAreaHeader\r
INF OvmfPkg/SmmAccess/SmmAccessPei.inf\r
!endif\r
INF UefiCpuPkg/CpuMpPei/CpuMpPei.inf\r
+INF FILE_GUID = $(UP_CPU_PEI_GUID) UefiCpuPkg/CpuMpPei/CpuMpPei.inf\r
\r
!include OvmfPkg/OvmfTpmPei.fdf.inc\r
\r
APRIORI DXE {\r
INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf\r
+ # AmdSevDxe must be loaded before TdxDxe. Because in SEV guest AmdSevDxe\r
+ # driver performs a MemEncryptSevClearMmioPageEncMask() call against the\r
+ # PcdPciExpressBaseAddress range to mark it shared/unencrypted.\r
+ # Otherwise #VC handler terminates the guest for trying to do MMIO to an\r
+ # encrypted region (Since the range has not been marked shared/unencrypted).\r
INF OvmfPkg/AmdSevDxe/AmdSevDxe.inf\r
+ INF OvmfPkg/TdxDxe/TdxDxe.inf\r
!if $(SMM_REQUIRE) == FALSE\r
INF OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf\r
!endif\r
INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf\r
INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf\r
INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf\r
-INF OvmfPkg/8259InterruptControllerDxe/8259.inf\r
INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf\r
+\r
INF UefiCpuPkg/CpuDxe/CpuDxe.inf\r
-INF OvmfPkg/8254TimerDxe/8254Timer.inf\r
+INF FILE_GUID = $(UP_CPU_DXE_GUID) UefiCpuPkg/CpuDxe/CpuDxe.inf\r
+\r
+!ifdef $(CSM_ENABLE)\r
+ INF OvmfPkg/8259InterruptControllerDxe/8259.inf\r
+ INF OvmfPkg/8254TimerDxe/8254Timer.inf\r
+!else\r
+ INF OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf\r
+!endif\r
INF OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf\r
INF OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf\r
INF MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf\r
INF MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf\r
INF OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf\r
\r
-!if $(TOOL_CHAIN_TAG) != "XCODE5"\r
+!if $(BUILD_SHELL) == TRUE && $(TOOL_CHAIN_TAG) != "XCODE5"\r
INF ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf\r
INF ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf\r
INF OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf\r
!endif\r
+!if $(BUILD_SHELL) == TRUE\r
INF ShellPkg/Application/Shell/Shell.inf\r
+!endif\r
\r
INF MdeModulePkg/Logo/LogoDxe.inf\r
\r
+INF OvmfPkg/TdxDxe/TdxDxe.inf\r
+\r
#\r
# Network modules\r
#\r
INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf\r
!endif\r
\r
+#\r
+# EFI_CC_MEASUREMENT_PROTOCOL\r
+#\r
+!if $(CC_MEASUREMENT_ENABLE) == TRUE\r
+INF SecurityPkg/Tcg/TdTcg2Dxe/TdTcg2Dxe.inf\r
+!endif\r
+\r
#\r
# TPM support\r
#\r
}\r
}\r
\r
-!include FvmainCompactScratchEnd.fdf.inc\r
+!include OvmfPkg/Include/Fdf/FvmainCompactScratchEnd.fdf.inc\r
\r
################################################################################\r
\r