UnixWare 7 and SCO OpenServer

pci(D5)


pci -- data format of the PCI configuration space

Synopsis

   #include <sys/pci.h>

Description

PCI configuration space is persistent memory that is used to store parameters for configured PCI devices.

The PCI configuration space accessed by UnixWare 7 and SCO OpenServer drivers is the same, although the conventions used to access that space are different; see ``PCI'' for more information.

The figure below depicts the layout of the 64-byte predefined header portion of the 256-byte configuration space that every PCI device supports.

   31                    16 15                     0
   -------------------------------------------------
   |       Device ID       |       Vendor ID       | 0x00
   -------------------------------------------------
   |       Status          |       Command         | 0x04
   -------------------------------------------------
   |            Class Code           |   Rev ID.   | 0x08
   -------------------------------------------------
   |    BIST   | Hdr_Type  | Lat_Timer |Cache_Ln_Sz| 0x0c
   -------------------------------------------------
   |                                               | 0x10
   -------------------------------------------------
   |                                               | 0x14
   -------------------------------------------------
   |                                               | 0x18
   -------------------------------------------------
   |                                               | 0x1c
   -------------------------------------------------
   |                                               | 0x20
   -------------------------------------------------
   |                                               | 0x24
   -------------------------------------------------
   |              Cardbus CIS Pointer**            | 0x28
   -------------------------------------------------
   |     Subsystem ID**    | Subsystem Vendor ID** | 0x2c
   -------------------------------------------------
   |       Expansion ROM base address              | 0x30
   -------------------------------------------------
   |               Reserved                        | 0x34
   -------------------------------------------------
   |               Reserved                        | 0x38
   -------------------------------------------------
   |  Max_Lat  | Min_Gnt   | Intr Pin. | Intr line | 0x3c
   -------------------------------------------------
   

** Field is reserved in PCI 2.0 specification

See the appropriate version of the PCI Local Bus Specification for details on the configuration header fields.

Usage

UnixWare 7 and SCO OpenServer drivers use different conventions to access PCI configuration space. See ``PCI'' for information about accessing PCI configuration space from the command line; the following information discusses how device driver code accesses PCI configuration information.

DDI access to PCI configuration information

DDI drivers can access PCI configuration space in the following ways:

ODDI access to PCI configuration information

SCO OpenServer ODDI drivers access PCI configuration space using the functions documented on the pci_read(D3oddi) and pci_write(D3oddi) manual pages.

HPCI access to PCI configuration information

HPCD drivers that use the HPCI interface can access all fields in PCI configuration space using the functions documented on the pci_read(D3hpci) and pci_write(D3hpci) manual pages.

Hardware applicability

x86/Pentium compatible architectures with a PCI bus configured.

Version pplicability

ddi: 1, 2, 3, 4, 5, 5mp, 6, 6mp, 7, 7mp, 7.1, 7.1mp, 8, 8mp

oddi: 3, 3mp, 4, 4mp, 5, 5mp, 6, 6mp

SCO OpenServer and UnixWare 7 compatibility

The configuration space layout is determined by industry standards boards; drivers written for UnixWare 7 and SCO OpenServer access the same configuration space, although they use different methods for that access. See ``PCI'' for details about how drivers on both platforms access device configuration space.

References

cm_read_devconfig(D3), cm_write_devconfig(D3), cm_params(D5)

pci(HW), cm_params(D5), eisa_parse_devconfig(D3), pci_read(D3oddi), pci_write(D3oddi), pci(D4oddi)

``PCI''
PCI Local Bus Specification, Revision 2.0



© 2000 The Santa Cruz Operation, Inc. All rights reserved.
HDK 7.1.0b - 15 March 2000