devconfig(D5) devconfig(D5)
NAME
devconfig - data format of the device configuration space
SYNOPSIS
#include <sys/eisa.h>
#include <sys/ddi.h>
DESCRIPTION
Device configuration space is persistent memory provided by
the hardware/firmware associated with an I/O bus which is used
to store parameters of the devices attached to the bus.
The format of device configuration space is specific to each
bus type. The format for each supported bus type is described
below:
MCA
Device configuration space for MCA devices is simply an array
of uchar_t bytes, one for each of the eight POS (Programmable
Option Select) registers.
PCI
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
-------------------------------------------------
Copyright 1994 Novell, Inc. Page 1
devconfig(D5) devconfig(D5)
| | 0x24
-------------------------------------------------
| Reserved | 0x28
-------------------------------------------------
| Reserved | 0x2c
-------------------------------------------------
| Expansion ROM base address | 0x30
-------------------------------------------------
| Reserved | 0x34
-------------------------------------------------
| Reserved | 0x38
-------------------------------------------------
| Max_Lat | Min_Gnt | Intr Pin. | Intr line | 0x3c
-------------------------------------------------
Please refer to PCI Local Bus Specification, Revision 2.0 for
details on the configuration header fields.
EISA
For EISA devices, the device configuration space is composed
of a slot information structure (of type eisa_slotinfo_t)
followed by one or more function block structures (of type
eisa_funcinfo_t). The order of these function blocks is
undefined.
The figure below depicts this layout:
-------------------------------------------------
| Slot Information (eisa_slotinfo_t) |
-------------------------------------------------
| 1st Function Info. (eisa_funcinfo_t) |
-------------------------------------------------
| 2nd Function Info. (eisa_funcinfo_t) |
-------------------------------------------------
| |
-------------------------------------------------
| nth Function Info. (eisa_funcinfo_t) |
-------------------------------------------------
Refer to eisa(D4) for details on the data format of
eisa_slotinfo_t and eisa_funcinfo_t.
REFERENCES
cm_read_devconfig(D3), cm_write_devconfig(D3), eisa(D4), PCI
Local Bus Specification, Revision 2.0
Copyright 1994 Novell, Inc. Page 2
devconfig(D5) devconfig(D5)
NOTICES
Portability
AT-compatible architectures
Copyright 1994 Novell, Inc. Page 3