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

Reply via email to