3.14.2 Loading UEFI option ROM drivers

The following is an interesting use case that tests these precedence rules. Assume that the following three identical adapters are in the system:

  • Adapter A: UEFI driver Version 0x10

  • Adapter B: UEFI driver Version 0x11

  • Adapter C: No UEFI driver

These three adapters have UEFI drivers in the option ROM as defined below. When UEFI drivers connect, the drivers control the devices as follows:

  • UEFI driver Version 0x10 manages Adapter A.

  • UEFI driver Version 0x11 manages Adapter B and Adapter C.

If the UEFI driver version 0x12 is soft loaded through the UEFI Shell, nothing changes until the existing drivers are disconnected and a reconnect is performed. This reconnection can be done in a variety of ways but the UEFI Shell command reconnect r is the easiest.

The drivers now control the devices as follows:

  • UEFI driver Version 0x10 manages Adapter A.

  • UEFI driver Version 0x11 manages Adapter B.

  • UEFI driver Version 0x12 manages Adapter C.

An IHV can override this logic by implementing the Driver Family Override Protocol.

An OEM can override this logic by implementing the Platform Driver Override Protocol.