Specifications

3
The PCI Environment
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1
PCI Variants and Form Factors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1
Big Vs Little Endian Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
RISC Vs CISC CPU Processor Issues. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
Types of PCI Resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
Configuration Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
Base Address Registers(BAR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
Decode into I/O Space. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
Decode into Memory Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
ROM Base Address Registers(BAR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
Decode into Memory Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
System Memory and PCI bus Master Devices . . . . . . . . . . . . . . . . . . . . . . 3-5
Effects of PCI to PCI Bridges. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
PowerMax OS Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
Finding the Correct Adapter Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6
Accessing the Configuration Space Registers . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6
Getting/Releasing the Base Address Register Assignments. . . . . . . . . . . . . . . . 3-6
Determining the Kernel Virtual Address of PCI Base Address Register . . . . . . 3-6
Accessing PCI Device Registers and Memory Space
Though Kernel Virtual Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7
Determining PCI Memory Address of Particular System Memory
Location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7
Attaching and Releasing a PCI Interrupt Vector Assigned to a
PCI Slot/Function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7