5 UEFI Drivers
The UEFI Specification defines the UEFI Driver Model. Drivers that follow the
UEFI Driver Model are UEFI drivers. The driver initialization routine of a UEFI
driver is not allowed to touch any hardware. Instead, it installs an instance
of the EFI_DRIVER_BINDING_PROTOCOL
on the ImageHandle of the UEFI driver.
Later on, the driver may get calls through the EFI_DRIVER_BINDING_PROTOCOL
to
test for support of a given piece of hardware. The test to determine if a
driver supports a given controller must be performed in as little time as
possible without causing any side effects on any of the controllers it is
testing. Most of the controller initialization is done in the start and stop
services of the EFI_DRIVER_BINDING_PROTOCOL
.