## @file\r
# Open Virtual Machine Firmware: FDF\r
#\r
-# Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>\r
#\r
# This program and the accompanying materials\r
# are licensed and made available under the terms and conditions of the BSD License\r
################################################################################\r
\r
[FD.MEMFD]\r
-BaseAddress = 0x800000\r
-Size = 0x900000\r
+BaseAddress = $(MEMFD_BASE_ADDRESS)\r
+Size = 0xA00000\r
ErasePolarity = 1\r
BlockSize = 0x10000\r
-NumBlocks = 0x90\r
+NumBlocks = 0xA0\r
\r
0x000000|0x006000\r
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPageTablesBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPageTablesSize\r
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvSize\r
FV = PEIFV\r
\r
-0x100000|0x800000\r
+0x100000|0x900000\r
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvSize\r
FV = DXEFV\r
\r
INF OvmfPkg/PlatformPei/PlatformPei.inf\r
INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf\r
INF UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf\r
+!if $(SMM_REQUIRE) == TRUE\r
+INF OvmfPkg/SmmAccess/SmmAccessPei.inf\r
+!endif\r
\r
################################################################################\r
\r
APRIORI DXE {\r
INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf\r
+!if $(SMM_REQUIRE) == FALSE\r
INF OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf\r
+!endif\r
}\r
\r
#\r
INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf\r
INF UefiCpuPkg/CpuDxe/CpuDxe.inf\r
INF PcAtChipsetPkg/8254TimerDxe/8254Timer.inf\r
-INF PcAtChipsetPkg/PciHostBridgeDxe/PciHostBridgeDxe.inf\r
+INF OvmfPkg/PciHostBridgeDxe/PciHostBridgeDxe.inf\r
INF MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf\r
INF PcAtChipsetPkg/KbcResetDxe/Reset.inf\r
INF MdeModulePkg/Universal/Metronome/Metronome.inf\r
INF OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf\r
INF OvmfPkg/VirtioBlkDxe/VirtioBlk.inf\r
INF OvmfPkg/VirtioScsiDxe/VirtioScsi.inf\r
-INF OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf\r
-INF OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.inf\r
-INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf\r
+INF OvmfPkg/XenIoPciDxe/XenIoPciDxe.inf\r
INF OvmfPkg/XenBusDxe/XenBusDxe.inf\r
INF OvmfPkg/XenPvBlkDxe/XenPvBlkDxe.inf\r
\r
!if $(SECURE_BOOT_ENABLE) == TRUE\r
- INF SecurityPkg/VariableAuthenticated/RuntimeDxe/VariableRuntimeDxe.inf\r
INF SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf\r
-!else\r
- INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf\r
!endif\r
\r
INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf\r
INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf\r
INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf\r
INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf\r
-INF IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBusDxe.inf\r
-INF PcAtChipsetPkg/Bus/Pci/IdeControllerDxe/IdeControllerDxe.inf\r
+INF OvmfPkg/SataControllerDxe/SataControllerDxe.inf\r
+INF MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf\r
+INF MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf\r
INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf\r
INF MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf\r
INF MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf\r
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf\r
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf\r
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf\r
- INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf\r
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf\r
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf\r
- INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf\r
INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf\r
+!if $(NETWORK_IP6_ENABLE) == TRUE\r
+ INF NetworkPkg/Ip6Dxe/Ip6Dxe.inf\r
+ INF NetworkPkg/TcpDxe/TcpDxe.inf\r
+ INF NetworkPkg/Udp6Dxe/Udp6Dxe.inf\r
+ INF NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf\r
+ INF NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf\r
+ INF NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf\r
+!if $(SECURE_BOOT_ENABLE) == TRUE\r
+ INF NetworkPkg/IScsiDxe/IScsiDxe.inf\r
+!else\r
+ INF MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf\r
+!endif\r
+!else\r
+ INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf\r
INF MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf\r
INF MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf\r
+!endif\r
+!if $(HTTP_BOOT_ENABLE) == TRUE\r
+ INF NetworkPkg/DnsDxe/DnsDxe.inf\r
+ INF NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf\r
+ INF NetworkPkg/HttpDxe/HttpDxe.inf\r
+ INF NetworkPkg/HttpBootDxe/HttpBootDxe.inf\r
+!endif\r
INF OvmfPkg/VirtioNetDxe/VirtioNet.inf\r
\r
#\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
INF OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf\r
INF OvmfPkg/PlatformDxe/Platform.inf\r
\r
+!if $(SMM_REQUIRE) == TRUE\r
+INF OvmfPkg/SmmAccess/SmmAccess2Dxe.inf\r
+INF OvmfPkg/SmmControl2Dxe/SmmControl2Dxe.inf\r
+INF UefiCpuPkg/CpuS3DataDxe/CpuS3DataDxe.inf\r
+INF MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf\r
+INF MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf\r
+INF UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf\r
+INF MdeModulePkg/Universal/LockBox/SmmLockBox/SmmLockBox.inf\r
+INF UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf\r
+\r
+#\r
+# Variable driver stack (SMM)\r
+#\r
+INF OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesSmm.inf\r
+INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmm.inf\r
+INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.inf\r
+INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmmRuntimeDxe.inf\r
+\r
+!else\r
+\r
+#\r
+# Variable driver stack (non-SMM)\r
+#\r
+INF OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf\r
+INF OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.inf\r
+INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf\r
+INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf\r
+!endif\r
+\r
################################################################################\r
\r
[FV.FVMAIN_COMPACT]\r
}\r
}\r
\r
+!include DecomprScratchEnd.fdf.inc\r
+\r
################################################################################\r
\r
[Rule.Common.SEC]\r
\r
[Rule.Common.PEI_CORE]\r
FILE PEI_CORE = $(NAMED_GUID) {\r
- PE32 PE32 Align=32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
+ PE32 PE32 Align=Auto $(INF_OUTPUT)/$(MODULE_NAME).efi\r
UI STRING ="$(MODULE_NAME)" Optional\r
VERSION STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
}\r
[Rule.Common.PEIM]\r
FILE PEIM = $(NAMED_GUID) {\r
PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
- PE32 PE32 Align=32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
+ PE32 PE32 Align=Auto $(INF_OUTPUT)/$(MODULE_NAME).efi\r
UI STRING="$(MODULE_NAME)" Optional\r
VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
}\r
FILE RAW = $(NAMED_GUID) {\r
RAW BIN Align = 16 |.bin\r
}\r
+\r
+[Rule.Common.SMM_CORE]\r
+ FILE SMM_CORE = $(NAMED_GUID) {\r
+ PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
+ UI STRING="$(MODULE_NAME)" Optional\r
+ VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
+ }\r
+\r
+[Rule.Common.DXE_SMM_DRIVER]\r
+ FILE SMM = $(NAMED_GUID) {\r
+ SMM_DEPEX SMM_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
+ PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
+ UI STRING="$(MODULE_NAME)" Optional\r
+ VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
+ }\r