3 driver-specific elements – Intel Extensible Firmware Interface User Manual
Page 70

Extensible Firmware Interface Specification
2-30
12/01/02
Version 1.10
2.6.3
Driver-Specific Elements
There are a number of EFI elements that can be added or removed depending on the features that a
specific driver requires. Drivers can be implemented by platform firmware developers to support
buses and devices in a specific platform. Drivers can also be implemented by add-in card vendors
for devices that might be integrated into the platform hardware or added to a platform through an
expansion slot. The following list includes possible driver features, and the EFI elements that are
required for each feature type:
1. If a driver follows the EFI 1.10 Driver Model, the
must be
implemented. It is strongly recommended that all drivers that follow the EFI Driver Model
also implement the
2. If a driver requires configuration information, the Driver Configuration Protocol must be
implemented. A driver is not allowed to interact with the user unless the
is invoked.
3. If a driver requires diagnostics, the
must be implemented. In
order to support low boot times, limit diagnostics during normal boots. Time consuming
diagnostics should be deferred until the
is invoked.
4. If a bus supports devices that are able to provide containers for EFI drivers (e.g. option
ROMs), then the bus driver for that bus type must implement the
5. If a driver is written for a console output device, then the
must
be implemented.
6. If a driver is written for a graphical console output device, then the
and
the
must be implemented.
7. If a driver is written for a console input device, then the
must be
implemented.
8. If a driver is written for a pointer device, then the
must be
implemented.
9. If a driver is written for a network device, then the
must be implemented.
10. If a driver is written for a disk device, then the
must be implemented.
11. If a driver is written for a device that is not a block oriented device but one that can provide a
file system-like interface, then the Simple File System Protocol must be implemented.
12. If a driver is written for a PCI root bridge, then the
, the
, and the
must be implemented.
13. If a driver is written for a USB host controller, then the
must
be implemented.
14. If a driver is written for a SCSI controller, then the
must be
implemented.
15. If a driver is written for a boot device that is not a block-oriented device, a file system-based
device, or a console device, then the
must be implemented.