If you carry your UEFI drivers in a Firmware Volume, you can use Depex around 
them. The DXE dispatcher will resolve the DepEx and load the  UEFI driver 
image, just like it does for DXE drivers.  The Connect sequence later on in BDS 
will cause your loaded drivers to bind to devices (by calling Start() ). Look 
at the DSC spec for examples on adding a depex section.


Tag protocols are used to trigger events or depex on their installation. They 
usually do not have any member functions or variables in the protocol calling 
API; you just need the GUID.

DriverOrder would work, but what if some external entity modify the value (or 
even delete the variables)?




Laszlo Ersek <[email protected]> wrote:
Hello Samer,

On 02/10/13 06:27, El-Haj-Mahmoud, Samer wrote:

> 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.

DepExes did cross my mind (although not with reference to tag protocols
-- I don't know what those are). But aren't DepExes meant for "early DXE
phase drivers" only (ie. MODULE_TYPE=DXE_DRIVER)? I got that impression
from the tutorial (screenshots attached).

The drivers in question are MODULE_TYPE=UEFI_DRIVER; rather than
producing architectural protocols, they are needed to boot the OS.

BdsEntry() [IntelFrameworkModulePkg/Universal/BdsDxe/BdsEntry.c]
  BdsLibLoadDrivers() [IntelFrameworkModulePkg/Library/GenericBdsLib/BdsMisc.c]
  PlatformBdsPolicyBehavior() [OvmfPkg/Library/PlatformBdsLib/BdsPlatform.c]
    - connects various devices

DriverOrder and Driver#### should steer BdsLibLoadDrivers() before the
OVMF specific BDS policy connects / installs a driver (any driver) for
the VGA card. I figured driver load order would influence which of the
two GOPs is installed first.

Thanks!
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

Reply via email to