From eb46fe87cc0e594c5f78fc23b3904f8a55a9a08c Mon Sep 17 00:00:00 2001 From: David Woodhouse <David.Woodhouse@intel.com> Date: Fri, 8 Feb 2013 21:44:08 +0000 Subject: [PATCH] OvmfPkg: Don't build in QemuVideoDxe when we have CSM Windows 2008r2 will stupidly try to use int 10h calls even when booted via EFI. If we don't have a VGA BIOS installed, it doesn't work very well. So where we can, just use BiosVideoDxe instead of the native QemuVideoDxe and then Windows will work fine. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> --- OvmfPkg/OvmfPkgIa32.dsc | 2 ++ OvmfPkg/OvmfPkgIa32.fdf | 5 +++-- OvmfPkg/OvmfPkgIa32X64.dsc | 2 ++ OvmfPkg/OvmfPkgIa32X64.fdf | 5 +++-- OvmfPkg/OvmfPkgX64.dsc | 2 ++ OvmfPkg/OvmfPkgX64.fdf | 5 +++-- 6 files changed, 15 insertions(+), 6 deletions(-) diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc index 6f2e7f3..5d86a6c 100644 --- a/OvmfPkg/OvmfPkgIa32.dsc +++ b/OvmfPkg/OvmfPkgIa32.dsc @@ -551,10 +551,12 @@ MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf +!ifndef $(CSM_ENABLE) OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf { <LibraryClasses> BltLib|OptionRomPkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf } +!endif # # ISA Support diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf index 1c1936c..26ea838 100644 --- a/OvmfPkg/OvmfPkgIa32.fdf +++ b/OvmfPkg/OvmfPkgIa32.fdf @@ -348,9 +348,10 @@ INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf INF IntelFrameworkModulePkg/Csm/BiosThunk/VideoDxe/VideoDxe.inf INF IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf INF RuleOverride=CSM OvmfPkg/Csm/Csm16/Csm16.inf -!endif - +!else INF OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf +!endif + INF OvmfPkg/PlatformDxe/Platform.inf !if $(SMM_REQUIRE) == TRUE diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc index 63fbb25..6b9268b 100644 --- a/OvmfPkg/OvmfPkgIa32X64.dsc +++ b/OvmfPkg/OvmfPkgIa32X64.dsc @@ -558,10 +558,12 @@ MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf +!ifndef $(CSM_ENABLE) OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf { <LibraryClasses> BltLib|OptionRomPkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf } +!endif # # ISA Support diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf index ffed58a..c9d826c 100644 --- a/OvmfPkg/OvmfPkgIa32X64.fdf +++ b/OvmfPkg/OvmfPkgIa32X64.fdf @@ -348,9 +348,10 @@ INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf INF IntelFrameworkModulePkg/Csm/BiosThunk/VideoDxe/VideoDxe.inf INF IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf INF RuleOverride=CSM OvmfPkg/Csm/Csm16/Csm16.inf -!endif - +!else INF OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf +!endif + INF OvmfPkg/PlatformDxe/Platform.inf !if $(SMM_REQUIRE) == TRUE diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc index 76ef00a..b12c6ed 100644 --- a/OvmfPkg/OvmfPkgX64.dsc +++ b/OvmfPkg/OvmfPkgX64.dsc @@ -556,10 +556,12 @@ MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf +!ifndef $(CSM_ENABLE) OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf { <LibraryClasses> BltLib|OptionRomPkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf } +!endif # # ISA Support diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf index ae9f348..d6370a1 100644 --- a/OvmfPkg/OvmfPkgX64.fdf +++ b/OvmfPkg/OvmfPkgX64.fdf @@ -348,9 +348,10 @@ INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf INF IntelFrameworkModulePkg/Csm/BiosThunk/VideoDxe/VideoDxe.inf INF IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf INF RuleOverride=CSM OvmfPkg/Csm/Csm16/Csm16.inf -!endif - +!else INF OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf +!endif + INF OvmfPkg/PlatformDxe/Platform.inf !if $(SMM_REQUIRE) == TRUE -- 1.8.3.1