Intel Extensible Firmware Interface Network Router User Manual


  Open as PDF
of 1084
 
Overview
Version 1.10 12/01/02 2-15
Table 2-4. EFI Protocols (continued)
Protocol Description
SCSI_PASS_THRU
Protocol interfaces for a SCSI channel that allow SCSI Request
Packets to be sent to SCSI devices.
USB_HC
Protocol interfaces to abstract access to a USB Host Controller.
USB_IO
Protocol interfaces to abstract access to a USB controller.
SIMPLE_NETWORK
Provides interface for devices that support packet based
transfers.
PXE_BC
Protocol interfaces for devices that support network booting.
BIS
Protocol interfaces to validate boot images before they are
loaded and invoked.
DEBUG_SUPPORT
Protocol interfaces to save and restore processor context and
hook processor exceptions.
DEBUG_PORT
Protocol interface that abstracts a byte stream connection
between a debug host and a debug target system.
DECOMPRESS
Protocol interfaces to decompress an image that was
compressed using the EFI Compression Algorithm.
DEVICE_IO
Protocol interfaces for performing device I/O.
EBC
Protocols interfaces required to support an EFI Byte Code
interpreter.
2.5 EFI Driver Model
The EFI Driver Model is intended to simplify the design and implementation of device drivers, and
produce small executable image sizes. As a result, some complexity has been moved into bus
drivers and in a larger part into common firmware services.
A device driver is required to produce a Driver Binding Protocol on the same image handle on
which the driver was loaded. It then waits for the system firmware to connect the driver to a
controller. When that occurs, the device driver is responsible for producing a protocol on the
controller’s device handle that abstracts the I/O operations that the controller supports. A bus
driver performs these exact same tasks. In addition, a bus driver is also responsible for discovering
any child controllers on the bus, and creating a device handle for each child controller found.
One assumption is that the architecture of a system can be viewed as a set of one or more
processors connected to one or more core chipsets. The core chipsets are responsible for producing
one or more I/O buses. The EFI Driver Model does not attempt to describe the processors or the
core chipsets. Instead, the EFI Driver Model describes the set of I/O buses produced by the core
chipsets, and any children of these I/O buses. These children can either be devices or additional
I/O buses. This can be viewed as a tree of buses and devices with the core chipsets at the root
of that tree.