Intel Extensible Firmware Interface User Manual
Page 13

Contents
Version 1.10
12/01/02
xiii
12.3
PCI Driver Model............................................................................................. 12-46
12.3.1
PCI Driver Initialization ........................................................................... 12-46
12.3.1.1
Driver Configuration Protocol....................................................... 12-48
12.3.1.2
Driver Diagnostics Protocol ......................................................... 12-48
12.3.1.3
Component Name Protocol ......................................................... 12-48
12.3.2
PCI Bus Drivers...................................................................................... 12-49
12.3.2.1
Driver Binding Protocol for PCI Bus Drivers................................. 12-50
12.3.2.2
PCI Enumeration ......................................................................... 12-53
12.3.3
PCI Device Drivers ................................................................................. 12-53
12.3.3.1
Driver Binding Protocol for PCI Device Drivers ............................ 12-53
12.4
EFI PCI I/O Protocol ....................................................................................... 12-55
EFI_PCI_IO_PROTOCOL............................................................................ 12-56
EFI_PCI_IO_PROTOCOL.PollMem() ........................................................ 12-65
EFI_PCI_IO_PROTOCOL.PollIo() ............................................................. 12-67
EFI_PCI_IO_PROTOCOL.Mem.Read() EFI_PCI_IO_PROTOCOL.
Mem.Write()............................................................................................... 12-69
EFI_PCI_IO_PROTOCOL.Io.Read() EFI_PCI_IO_PROTOCOL.
Io.Write().................................................................................................... 12-71
EFI_PCI_IO_PROTOCOL.Pci.Read() EFI_PCI_IO_PROTOCOL.
Pci.Write().................................................................................................. 12-73
EFI_PCI_IO_PROTOCOL.CopyMem() ...................................................... 12-75
EFI_PCI_IO_PROTOCOL.Map() ............................................................... 12-78
EFI_PCI_IO_PROTOCOL.Unmap()........................................................... 12-80
EFI_PCI_IO_PROTOCOL.AllocateBuffer() ................................................ 12-81
EFI_PCI_IO_PROTOCOL.FreeBuffer() ..................................................... 12-83
EFI_PCI_IO_PROTOCOL.Flush() ............................................................. 12-84
EFI_PCI_IO_PROTOCOL.GetLocation() ................................................... 12-85
EFI_PCI_IO_PROTOCOL.Attributes() ....................................................... 12-86
EFI_PCI_IO_PROTOCOL.GetBarAttributes() ............................................ 12-89
EFI_PCI_IO_PROTOCOL.SetBarAttributes() ............................................ 12-92
12.4.1
PCI Device Paths ................................................................................... 12-94
12.4.2
PCI Option ROMs................................................................................... 12-96
12.4.2.1
PCI Bus Driver Responsibilities ................................................... 12-98
12.4.2.2
PCI Device Driver Responsibilities .............................................. 12-99
12.4.3
Nonvolatile Storage .............................................................................. 12-101
12.4.4
PCI Hot-Plug Events ............................................................................ 12-102
13 Protocols — SCSI Bus Support
13.1
SCSI Pass Thru Protocol .................................................................................. 13-1
EFI_SCSI_PASS_THRU Protocol.................................................................. 13-1
EFI_SCSI_PASS_THRU_PROTOCOL.PassThru() ..................................... 13-5
EFI_SCSI_PASS_THRU_PROTOCOL.GetNextDevice()........................... 13-10
EFI_SCSI_PASS_THRU_PROTOCOL.BuildDevicePath() ........................ 13-12
EFI_SCSI_PASS_THRU_PROTOCOL.GetTargetLun()............................. 13-14
EFI_SCSI_PASS_THRU_PROTOCOL.ResetChannel() ............................ 13-16
EFI_SCSI_PASS_THRU_PROTOCOL.ResetTarget() ............................... 13-17
13.2
SCSI Pass Thru Device Paths ........................................................................ 13-18