################################################################################\r
\r
[Defines]\r
-!include OvmfPkg/OvmfPkgDefines.fdf.inc\r
+!include CloudHvDefines.fdf.inc\r
\r
#\r
-# Build the variable store and the firmware code as one unified flash device\r
-# image.\r
+# This will allow the flash device image to be recognize as an ELF, with first\r
+# an ELF headers, then the firmware code.\r
#\r
[FD.CLOUDHV]\r
BaseAddress = $(FW_BASE_ADDRESS)\r
BlockSize = $(BLOCK_SIZE)\r
NumBlocks = $(FW_BLOCKS)\r
\r
-!include OvmfPkg/VarStore.fdf.inc\r
-\r
-$(VARS_SIZE)|$(FVMAIN_SIZE)\r
-FV = FVMAIN_COMPACT\r
-\r
-$(SECFV_OFFSET)|$(SECFV_SIZE)\r
-FV = SECFV\r
-\r
#\r
-# Build the variable store and the firmware code as separate flash device\r
-# images.\r
+# Leaving 4kiB for the PVH ELF header. This is more than enough.\r
#\r
-[FD.CLOUDHV_VARS]\r
-BaseAddress = $(FW_BASE_ADDRESS)\r
-Size = $(VARS_SIZE)\r
-ErasePolarity = 1\r
-BlockSize = $(BLOCK_SIZE)\r
-NumBlocks = $(VARS_BLOCKS)\r
+0x00000000|0x00001000\r
\r
-!include OvmfPkg/VarStore.fdf.inc\r
+!include CloudHvElfHeader.fdf.inc\r
\r
-[FD.CLOUDHV_CODE]\r
-BaseAddress = $(CODE_BASE_ADDRESS)\r
-Size = $(CODE_SIZE)\r
-ErasePolarity = 1\r
-BlockSize = $(BLOCK_SIZE)\r
-NumBlocks = $(CODE_BLOCKS)\r
-\r
-0x00000000|$(FVMAIN_SIZE)\r
+0x00001000|$(FVMAIN_SIZE)\r
FV = FVMAIN_COMPACT\r
\r
-$(FVMAIN_SIZE)|$(SECFV_SIZE)\r
+$(SECFV_OFFSET)|$(SECFV_SIZE)\r
FV = SECFV\r
\r
################################################################################\r
0x00E000|0x001000\r
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfCpuidBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfCpuidSize\r
\r
+0x00F000|0x001000\r
+gUefiOvmfPkgTokenSpaceGuid.PcdXenPvhStartOfDayStructPtr|gUefiOvmfPkgTokenSpaceGuid.PcdXenPvhStartOfDayStructPtrSize\r
+\r
0x010000|0x010000\r
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPeiTempRamBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPeiTempRamSize\r
\r
#\r
INF OvmfPkg/Sec/SecMain.inf\r
\r
-INF RuleOverride=RESET_VECTOR OvmfPkg/ResetVector/ResetVector.inf\r
+INF RuleOverride=RESET_VECTOR OvmfPkg/XenResetVector/XenResetVector.inf\r
\r
################################################################################\r
[FV.PEIFV]\r
INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf\r
INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf\r
INF UefiCpuPkg/CpuDxe/CpuDxe.inf\r
-INF OvmfPkg/XenTimerDxe/XenTimerDxe.inf\r
+INF OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf\r
INF OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf\r
INF OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf\r
INF MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf\r
!include NetworkPkg/Network.fdf.inc\r
INF OvmfPkg/VirtioNetDxe/VirtioNet.inf\r
\r
-#\r
-# Usb Support\r
-#\r
-INF MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf\r
-INF MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf\r
-INF MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf\r
-INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf\r
-INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf\r
-INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf\r
-\r
-!ifdef $(CSM_ENABLE)\r
-INF OvmfPkg/Csm/BiosThunk/VideoDxe/VideoDxe.inf\r
-INF OvmfPkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf\r
-INF RuleOverride=CSM OvmfPkg/Csm/Csm16/Csm16.inf\r
-!endif\r
-\r
INF OvmfPkg/PlatformDxe/Platform.inf\r
INF OvmfPkg/AmdSevDxe/AmdSevDxe.inf\r
INF OvmfPkg/IoMmuDxe/IoMmuDxe.inf\r
}\r
}\r
\r
-!include OvmfPkg/FvmainCompactScratchEnd.fdf.inc\r
+!include OvmfPkg/Include/Fdf/FvmainCompactScratchEnd.fdf.inc\r
\r
################################################################################\r
\r