6.1.2 Optional Device Driver Features
The following lists features that a device driver can optionally implement.
Install one or more instances of the
EFI_COMPONENT_NAME2_PROTOCOL
in the driver's entry point.Implementing this feature is strongly recommended. It allows a driver to provide human-readable names for the name of the driver and the controllers that the driver manages.
Register one or more HII packages in the driver's entry point.
HII packages provide strings, fonts, and forms that allow users (such as IT administrators) to change the driver's configuration. They are only required 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_DRIVER_DIAGNOSTICS2_PROTOCOL
in the driver's entry point.If a driver needs to provide diagnostics for the controllers that the driver manages, this protocol is required.
Provide an
EFI_LOADED_IMAGE_PROTOCOL.Unload()
service so the driver can be dynamically unloaded.It is
recommended
that this feature be implemented during driver development, driver debug, and system integration. It isstrongly recommended
that this service remain in drivers for add-in adapters to help debug interaction issues during system integration.
Install one or more instances of the
EFI_DRIVER_FAMILY_OVERRIDE_PROTOCOL
in the driver's entry point.This protocol is required only if a driver needs a higher priority rule for connecting drivers to controllers through the UEFI Boot Service
ConnectController()
.
Install one or more instances of the
EFI_DRIVER_HEALTH_PROTOCOL
in the driver's entry point.This protocol is only required for drivers that manage devices that can be in a bad state that is recoverable through either a repair operation or a configuration operation.
Install an instance of the
EFI_DRIVER_SUPPORTED_EFI_VERSION_PROTOCOL
in the driver's entry point.This protocol is required for PCI controller or other plug-in cards. Implementation of this feature is
recommended
.
Create an Exit Boot Services event in the driver's entry point.
This feature is required only if the driver is required to place the devices it manages in a specific state just before control is handed to an operating system.
Creates a Set Virtual Address Map event in the driver's entry point.
This feature is required only for a device driver that is a UEFI runtime driver.