6.4 Service Drivers
A service driver does not manage any devices nor does it produce any instances
of the EFI_DRIVER_BINDING_PROTOCOL
. It is a simple driver that produces one
or more protocols on one or more new service handles. These service handles do
not have a Device Path Protocol because they do not represent physical devices.
The driver entry point returns EFI_SUCCESS
after the service handles are
created and the protocols are installed, leaving the driver resident in system
memory. The list of features that a service 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.
- 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. This protocol is required only if a driver must provide the ability for a user to change configuration settings.
- 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 Service Drivers,
implementation of this feature is still recommended
.