Intel Extensible Firmware Interface Network Router User Manual


  Open as PDF
of 1084
 
Extensible Firmware Interface Specification
9-24 12/01/02 Version 1.10
Description
The EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL is used by the EFI boot service
ConnectController()
to determine if there is a platform specific driver override for a
controller that is about to be started. The bus drivers in a platform will use a bus defined matching
algorithm for matching drivers to controllers. This protocol allows the platform to override the bus
drivers default driver matching algorithm. This protocol can be used to specify the drivers for on-
board devices whose drivers may be in a system ROM not directly associated with the on-board
controller, or it can even be used to manage the matching of drivers and controllers in add-in cards.
This can be very useful if there are two adapters that are identical except for the revision of the
driver in the adapters ROM. This protocol, along with a platform configuration utility, could
specify which of the two drivers to use for each of the adapters.
The drivers that this protocol returns can be either in the form of an image handle or a device path.
ConnectController() can only use image handles, so ConnectController() is
required to use the GetDriver()
service. A different component, such as the Boot Manager,
will have to use the GetDriverPath()
service to retrieve the list of drivers that need to be
loaded from I/O devices. Once a driver has been loaded and started, this same component can use
the DriverLoaded()
service to associate the device path of a driver with the image handle of
the loaded driver. Once this association has been established, the image handle can then be
returned by the GetDriver() service the next time it is called by ConnectController().