File Formats sysbus(4)
NAME
sysbus, isa - device tree properties for ISA bus device
drivers
DESCRIPTION
Solaris for x86 supports the ISA bus as the system bus.
Drivers for devices on this buse use the device tree built
by the booting system to retrieve the necessary system
resources used by the driver. These resources include device
I/O port addresses, any interrupt capabilities that the
device can have, any DMA channels it can require, and any
memory-mapped addresses it can occupy.
Configuration files for ISA device drivers are only neces-
sary to describe properties used by a particular driver that
are not part of the standard properties found in the device
tree. See driver.conf(4) for further details of configura-
tion file syntax.
The ISA nexus drivers all belong to class sysbus. All bus
drivers of class sysbus recognize the following properties:
interrupts An arbitrary-length array where each element
of the array represents a hardware interrupt
(IRQ) that is used by the device. In gen-
eral, this array only has one entry unless a
particular device uses more than one IRQ.
Solaris defaults all ISA interrupts to IPL
5. This interrupt priority can be overrid-
den by placing an interrupt-priorities pro-
perty in a .conf file for the driver. Each
entry in the array of integers for the
interrupt-priorities property is matched
one-to-one with the elements in the inter-
rupts property to specify the IPL value that
is used by the system for this interrupt in
this driver. This is the priority that this
device's interrupt handler receives relative
to the interrupt handlers of other drivers.
The priority is an integer from 1 to 16.
Generally, disks are assigned a priority of
5, while mice and printers are lower, and
serial communication devices are higher,
typically 7. 10 is reserved by the system
and must not be used. Priorities 11 and
greater are high level priorities and are
generally not recommended (see
ddiintrhilevel(9F)).
SunOS 5.11 Last change: 18 Nov 2004 1
File Formats sysbus(4)
The driver can refer to the elements of this
array by index using ddiaddintr(9F). The
index into the array is passed as the
inumber argument of ddiaddintr().
Only devices that generate interrupts have
an interrupts property.
reg An arbitrary-length array where each element
of the array consists of a 3-tuple of
integers. Each array element describes a
contiguous memory address range associated
with the device on the bus.
The first integer of the tuple specifies the
memory type, 0 specifies a memory range and
1 specifies an I/O range. The second integer
specifies the base address of the memory
range. The third integer of each 3-tuple
specifies the size, in bytes, of the mappa-
ble region.
The driver can refer to the elements of this
array by index, and construct kernel map-
pings to these addresses using
ddimapregs(9F). The index into the array
is passed as the rnumber argument of
ddimapregs().
All sysbus devices have reg properties.
The first tuple of this property is used to
construct the address part of the device
name under /devices. In the case of Plug
and Play ISA devices, the first tuple is a
special tuple that does not denote a memory
range, but is used by the system only to
create the address part of the device name.
This special tuple can be recognized by
determining if the top bit of the first
integer is set to a one.
The order of the tuples in the reg property
is determined by the boot system probe code
and depends on the characteristics of each
particular device. However, the reg pro-
perty maintains the same order of entries
from system boot to system boot. The recom-
mended way to determine the reg property for
a particular device is to use the
prtconf(1M) command after installing the
particular device. The output of the
SunOS 5.11 Last change: 18 Nov 2004 2
File Formats sysbus(4)
prtconf command can be examined to determine
the reg property for any installed device.
You can use the ddiget* and ddiput* family
of functions to access register space from a
high-level interrupt context.
dma-channels A list of integers that specifies the DMA
channels used by this device. Only devices
that use DMA channels have a dma-channels
property.
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
ATRIBUTE TYPE ATRIBUTE VALUE
Architecture x86
SEE ALSO
prtconf(1M), driver.conf(4), scsi(4), attributes(5),
ddiaddintr(9F), ddiintrhilevel(9F), ddimapregs(9F),
ddipropop(9F)
Writing Device Drivers
SunOS 5.11 Last change: 18 Nov 2004 3
|