6.5 Root Bridge Drivers

A root bridge driver does not produce any instances of the EFI_DRIVER_BINDING_PROTOCOL. It is responsible for initializing and immediately creating physical controller handles for the root bridge controllers in a platform. It is the UEFI driver's responsibility to install the Device Path Protocol onto the physical controller handles because the root bridge controllers represent physical devices.

The most common example of a root bridge driver is a driver that produces the PCI Root Bridge I/O Protocol and a Device Path Protocol for each PCI Root Bridge in a platform supporting PCI.

A list of features a root bridge driver can optionally implement follows. Recommended and optional features are noted below.

  • Register one or more HII packages in the driver's entry point.

These HII packages provide strings, fonts, and forms that allow users (such as IT administrators) to change the driver's configuration. These HII packages are required only if a driver must provide the ability for a user to change configuration settings for a device.

  • Install one or more instances of the EFI_HII_CONFIG_ACCESS_PROTOCOL in the driver's entry point.

This protocol provides the services to save and restore configuration settings for a device. It is required only if a driver must provide the ability for a user to change configuration settings for a device.

  • Install an instance of the EFI_DRIVER_SUPPORTED_EFI_VERSION_PROTOCOL in the driver's entry point.

The UEFI Specification requires this protocol for PCI controllers or other plug-in cards. Even though this requirement does not apply to Root Bridge Drivers, implementation of this feature is still recommended.