You could use DXE dependency expressions (on a tag protocol) around the drivers in your firmware volume. This way, you can control which driver gets dispatched depending on whether that protocol is installed or not. You can then have a configuration option to control the installation of that tag protocol.
-----Original Message----- From: Laszlo Ersek [mailto:[email protected]] Sent: Saturday, February 09, 2013 7:22 PM To: Andrew Fish Cc: [email protected]; David Woodhouse Subject: Re: [edk2] [PATCH] OvmfPkg: Don't build in QemuVideoDxe when we have CSM Hello Andrew, On 02/10/13 00:14, Laszlo Ersek wrote: > On 02/08/13 22:49, David Woodhouse wrote: >> 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 <[email protected]> >> --- >> OvmfPkg/OvmfPkgIa32.fdf | 4 ++-- >> OvmfPkg/OvmfPkgIa32X64.fdf | 4 ++-- >> OvmfPkg/OvmfPkgX64.fdf | 4 ++-- >> 3 files changed, 6 insertions(+), 6 deletions(-) >> >> diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf index >> 36c9756..1f6e837 100644 >> --- a/OvmfPkg/OvmfPkgIa32.fdf >> +++ b/OvmfPkg/OvmfPkgIa32.fdf >> @@ -281,9 +281,9 @@ 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 >> >> >> ##################################################################### >> ########### > Besides the *presumed* OpenProtocol(... BY_DRIVER ...) / > EFI_ACCESS_DENIED conflict between the two drivers that we've been > discussing, which IMHO would merit an update to the commit message, I > think the DSC files should be modified similarly: > > "OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf {...}" should depend on > > !ifndef $(CSM_ENABLE) > > ; the GOP shouldn't be built at all if we're not including it in the > firmware image. supposing we have two GOPs in the OVMF image: - IntelFrameworkModulePkg/Csm/BiosThunk/VideoDxe - OvmfPkg/QemuVideoDxe both UEFI_DRIVER modules, and both trying to drive the same VGA card: can we use the DriverOrder and Driver#### firmware variables to select which one loads and Start()s first? Thank you, Laszlo ------------------------------------------------------------------------------ Free Next-Gen Firewall Hardware Offer Buy your Sophos next-gen firewall before the end March 2013 and get the hardware for free! Learn more. http://p.sf.net/sfu/sophos-d2d-feb _______________________________________________ edk2-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/edk2-devel ------------------------------------------------------------------------------ Free Next-Gen Firewall Hardware Offer Buy your Sophos next-gen firewall before the end March 2013 and get the hardware for free! Learn more. http://p.sf.net/sfu/sophos-d2d-feb _______________________________________________ edk2-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/edk2-devel
