Intel Extensible Firmware Interface Network Router User Manual


  Open as PDF
of 1084
 
Protocols PCI Bus Support
Version 1.10 12/01/02 12-99
It is the PCI Bus Drivers responsibility to verify that the Expansion ROM Header and PCIR Data
Structure are valid. It is the responsibly of the Boot Service LoadImage()
to verify that the
PE/COFF image is valid. The Boot Service LoadImage() may fail for several reasons including
a corrupt PE/COFF image or an unsupported Machine Type.
The PCI Option ROM search may produce one or more Driver Image Handles for the PCI
Controller that is associated with the PCI Option ROM. The PCI Bus Driver is responsible for
producing a Bus Specific Driver Override Protocol instance for every PCI Controller has a PCI
Option ROM that contains one or more EFI Drivers. The Bus Specific Driver Override Protocol
produces an ordered list of Driver Image Handles. The order that the EFI Drivers are placed in the
PCI Option ROM is the order of Driver Image Handles that must be returned by the Bus Specific
Driver Override Protocol. This gives the party that builds the PCI Option ROM control over the
order that the EFI Drivers are used in the Boot Service ConnectController()
.
12.4.2.2 PCI Device Driver Responsibilities
A PCI Device Driver should not be designed to care where it is stored. It can reside in a PCI
Option ROM, the systems motherboard ROM, a hard drive, a CD-ROM drive, etc. All PCI Device
Drivers are compiled and linked to generate a PE/COFF image. When a PE/COFF image is placed
in a PCI Option ROM, it must follow the rules outlined in Section 2.7. The recommended image
layout is to insert an EFI PCI Expansion ROM Header and a PCIR Data Structure in front of the
PE/COFF image, and pad the entire image up to the next 512-byte boundary. Figure 12-15 shows
the format of a single PCI Device Driver that can be added to a PCI Option ROM.
OM13169
PCI Device Driver Image
EFI PCI Expansion ROM Header
Two (2) Bytes of Padding
PCIR Data Structure
PE/COFF Image of PCI Device Driver
Padding to next 512-byte boundary
Figure 12-15. Recommended PCI Driver Image Layout