# EFI/Framework Open Virtual Machine Firmware (OVMF) platform\r
#\r
# Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>\r
+# (C) Copyright 2016 Hewlett Packard Enterprise Development LP<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
DSC_SPECIFICATION = 0x00010005\r
OUTPUT_DIRECTORY = Build/OvmfX64\r
SUPPORTED_ARCHITECTURES = X64\r
- BUILD_TARGETS = DEBUG|RELEASE\r
+ BUILD_TARGETS = NOOPT|DEBUG|RELEASE\r
SKUID_IDENTIFIER = DEFAULT\r
FLASH_DEFINITION = OvmfPkg/OvmfPkgX64.fdf\r
\r
DEFINE NETWORK_IP6_ENABLE = FALSE\r
DEFINE HTTP_BOOT_ENABLE = FALSE\r
DEFINE SMM_REQUIRE = FALSE\r
- DEFINE USE_OLD_PCI_HOST = FALSE\r
\r
[BuildOptions]\r
GCC:*_UNIXGCC_*_CC_FLAGS = -DMDEPKG_NDEBUG\r
INTEL:*_*_X64_GENFW_FLAGS = --keepexceptiontable\r
!endif\r
\r
+ #\r
+ # Disable deprecated APIs.\r
+ #\r
+ MSFT:*_*_*_CC_FLAGS = /D DISABLE_NEW_DEPRECATED_INTERFACES\r
+ INTEL:*_*_*_CC_FLAGS = /D DISABLE_NEW_DEPRECATED_INTERFACES\r
+ GCC:*_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES\r
+\r
[BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]\r
GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000\r
\r
+# Force PE/COFF sections to be aligned at 4KB boundaries to support page level\r
+# protection of DXE_SMM_DRIVER/SMM_CORE modules\r
+[BuildOptions.common.EDKII.DXE_SMM_DRIVER, BuildOptions.common.EDKII.SMM_CORE]\r
+ GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000\r
+\r
################################################################################\r
#\r
# SKU Identification section - list of all SKU IDs supported by this Platform.\r
UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf\r
UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf\r
HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf\r
- GenericBdsLib|IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf\r
+ SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf\r
+ UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf\r
+ BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf\r
+ FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf\r
CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf\r
DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf\r
DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf\r
PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf\r
PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf\r
-!if $(USE_OLD_PCI_HOST) == FALSE\r
PciExpressLib|MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf\r
-!endif\r
PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf\r
PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf\r
IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf\r
LockBoxLib|OvmfPkg/Library/LockBoxLib/LockBoxBaseLib.inf\r
!endif\r
CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf\r
+ FrameBufferBltLib|MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf\r
\r
!ifdef $(SOURCE_DEBUG_ENABLE)\r
PeCoffExtraActionLib|SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLibDebug.inf\r
!ifdef $(SOURCE_DEBUG_ENABLE)\r
DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf\r
!endif\r
+ CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/PeiCpuExceptionHandlerLib.inf\r
+ MpInitLib|UefiCpuPkg/Library/MpInitLib/PeiMpInitLib.inf\r
\r
[LibraryClasses.common.DXE_CORE]\r
HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf\r
!if $(SECURE_BOOT_ENABLE) == TRUE\r
BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf\r
!endif\r
-!if $(USE_OLD_PCI_HOST) == FALSE\r
PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf\r
-!endif\r
\r
[LibraryClasses.common.UEFI_DRIVER]\r
PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf\r
!endif\r
UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf\r
-!if $(USE_OLD_PCI_HOST) == FALSE\r
PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf\r
-!endif\r
\r
[LibraryClasses.common.DXE_DRIVER]\r
PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
IpIoLib|MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf\r
UdpIoLib|MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf\r
DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf\r
- PlatformBdsLib|OvmfPkg/Library/PlatformBdsLib/PlatformBdsLib.inf\r
+ PlatformBootManagerLib|OvmfPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf\r
+ QemuBootOrderLib|OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.inf\r
CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf\r
!if $(SMM_REQUIRE) == TRUE\r
LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxDxeLib.inf\r
!ifdef $(SOURCE_DEBUG_ENABLE)\r
DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf\r
!endif\r
- QemuBootOrderLib|OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.inf\r
- FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf\r
-!if $(USE_OLD_PCI_HOST) == FALSE\r
PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf\r
-!endif\r
+ MpInitLib|UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf\r
\r
[LibraryClasses.common.UEFI_APPLICATION]\r
PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
TimerLib|OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf\r
HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf\r
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
+ ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf\r
!ifdef $(DEBUG_ON_SERIAL_PORT)\r
DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf\r
!else\r
DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf\r
!endif\r
-!if $(USE_OLD_PCI_HOST) == FALSE\r
PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf\r
-!endif\r
\r
[LibraryClasses.common.DXE_SMM_DRIVER]\r
PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SmmDebugAgentLib.inf\r
!endif\r
BaseCryptLib|CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf\r
-!if $(USE_OLD_PCI_HOST) == FALSE\r
PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf\r
-!endif\r
\r
[LibraryClasses.common.SMM_CORE]\r
PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
!else\r
DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf\r
!endif\r
-!if $(USE_OLD_PCI_HOST) == FALSE\r
PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf\r
-!endif\r
\r
################################################################################\r
#\r
gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode|FALSE\r
gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE\r
gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdInstallAcpiSdtProtocol|TRUE\r
!if $(SECURE_BOOT_ENABLE) == TRUE\r
gUefiOvmfPkgTokenSpaceGuid.PcdSecureBootEnable|TRUE\r
!endif\r
!if $(SMM_REQUIRE) == TRUE\r
gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmSyncMode|0x01\r
gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmApSyncTimeout|100000\r
+ gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStackSize|0x4000\r
!endif\r
\r
!if $(SECURE_BOOT_ENABLE) == TRUE\r
# IRQs 5, 9, 10, 11 are level-triggered\r
gPcAtChipsetPkgTokenSpaceGuid.Pcd8259LegacyModeEdgeLevel|0x0E20\r
\r
+ # Point to the MdeModulePkg/Application/UiApp/UiApp.inf\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }\r
+\r
################################################################################\r
#\r
# Pcd Dynamic Section - list of all EDK II PCD Entries defined by this Platform\r
gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|600\r
gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiS3Enable|FALSE\r
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfHostBridgePciDevId|0\r
+ gUefiOvmfPkgTokenSpaceGuid.PcdPciIoBase|0x0\r
+ gUefiOvmfPkgTokenSpaceGuid.PcdPciIoSize|0x0\r
gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio32Base|0x0\r
gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio32Size|0x0\r
gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio64Base|0x0\r
gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|FALSE\r
gEfiMdeModulePkgTokenSpaceGuid.PcdPropertiesTableEnable|FALSE\r
\r
+ # UefiCpuPkg PCDs related to initial AP bringup and general AP management.\r
+ gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber|64\r
+ gUefiCpuPkgTokenSpaceGuid.PcdCpuApInitTimeOutInMicroSeconds|50000\r
+\r
################################################################################\r
#\r
# Components Section - list of all EDK II Modules needed by this Platform.\r
#\r
OvmfPkg/Sec/SecMain.inf {\r
<LibraryClasses>\r
- NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
+ NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
}\r
\r
#\r
<LibraryClasses>\r
PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
}\r
- IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf\r
+ MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf\r
+ MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf\r
MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf {\r
<LibraryClasses>\r
PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf\r
PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf\r
}\r
!endif\r
+ UefiCpuPkg/CpuMpPei/CpuMpPei.inf {\r
+ <LibraryClasses>\r
+ PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf\r
+ }\r
\r
#\r
# DXE Phase modules\r
#\r
MdeModulePkg/Core/Dxe/DxeMain.inf {\r
<LibraryClasses>\r
- NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
+ NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf\r
}\r
\r
- IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/StatusCodeRuntimeDxe.inf\r
+ MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf\r
+ MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf\r
MdeModulePkg/Universal/PCD/Dxe/Pcd.inf {\r
<LibraryClasses>\r
PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf\r
UefiCpuPkg/CpuDxe/CpuDxe.inf\r
PcAtChipsetPkg/8254TimerDxe/8254Timer.inf\r
-!if $(USE_OLD_PCI_HOST) == TRUE\r
- OvmfPkg/PciHostBridgeDxe/PciHostBridgeDxe.inf\r
-!else\r
+ OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf\r
+ OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf\r
MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf {\r
<LibraryClasses>\r
PciHostBridgeLib|OvmfPkg/Library/PciHostBridgeLib/PciHostBridgeLib.inf\r
}\r
-!endif\r
MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf {\r
<LibraryClasses>\r
PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
}\r
- PcAtChipsetPkg/KbcResetDxe/Reset.inf\r
+ MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf\r
MdeModulePkg/Universal/Metronome/Metronome.inf\r
PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf\r
- IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf {\r
+ MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf\r
+ MdeModulePkg/Universal/BdsDxe/BdsDxe.inf {\r
<LibraryClasses>\r
!ifdef $(CSM_ENABLE)\r
NULL|OvmfPkg/Csm/CsmSupportLib/CsmSupportLib.inf\r
+ NULL|IntelFrameworkModulePkg/Library/LegacyBootManagerLib/LegacyBootManagerLib.inf\r
+!endif\r
+ }\r
+ MdeModulePkg/Logo/LogoDxe.inf\r
+ MdeModulePkg/Application/UiApp/UiApp.inf {\r
+ <LibraryClasses>\r
+ NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf\r
+ NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf\r
+ NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf\r
+!ifdef $(CSM_ENABLE)\r
+ NULL|IntelFrameworkModulePkg/Library/LegacyBootManagerLib/LegacyBootManagerLib.inf\r
+ NULL|IntelFrameworkModulePkg/Library/LegacyBootMaintUiLib/LegacyBootMaintUiLib.inf\r
!endif\r
}\r
-\r
OvmfPkg/BlockMmioToBlockIoDxe/BlockIo.inf\r
OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf\r
OvmfPkg/Virtio10Dxe/Virtio10.inf\r
MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf\r
MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf\r
MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf\r
+ FatPkg/EnhancedFatDxe/Fat.inf\r
MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf\r
MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf\r
OvmfPkg/SataControllerDxe/SataControllerDxe.inf\r
MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf\r
MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf\r
\r
- OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf {\r
- <LibraryClasses>\r
- BltLib|OptionRomPkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf\r
- }\r
+ OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf\r
+ OvmfPkg/VirtioGpuDxe/VirtioGpu.inf\r
\r
#\r
# ISA Support\r
HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf\r
ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf\r
FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf\r
- SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf\r
PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf\r
# SafeBlockIoLib|ShellPkg/Library/SafeBlockIoLib/SafeBlockIoLib.inf\r
# SafeOpenProtocolLib|ShellPkg/Library/SafeOpenProtocolLib/SafeOpenProtocolLib.inf\r