sdevice(F)


sdevice -- local device configuration file

Format

xnamex config unit IPL type vector SIOA EIOA SCMA ECMA

Description

Files in the directory /etc/conf/sdevice.d are System file components; either these form part of the base system, or they may be installed subsequently from a Driver Software Package (DSP) using idinstall. Each file contains one or more entries of local system configuration information for each of the devices specified in the mdevice(F) file.

When idbuild builds a new kernel, the files in /etc/conf/sdevice.d are coalesced into the single file /etc/conf/cf.d/sdevice.

Each entry in sdevice occupies one line and consists of the following 10 whitespace-separated fields (xnamex-ECMA):


xnamex
is the internal name of the driver. This must match one of the names in the first field (xnamex) of an entry in the mdevice file.

config
contains the character ``Y'' if the device is to be configured into the kernel. For testing purposes, an ``N'' may be entered to indicate that the device will not be installed.

unit
contains a free format numeric value; the interpretation of this field depends on the device driver being installed. It is usually used to represent the number of subdevices on a controller or pseudo-device. In the case of serial devices, however, the value in this field selects an entry from the serial board configuration table (sio_sup_brds) in the file /etc/conf/pack.d/sio/space.c.

The value of unit must lie within the minimum and maximum values specified by fields 7 (minu) and 8 (maxu) of the corresponding mdevice entry for the device.


IPL
(Interrupt Priority Level) specifying the Software Priority Level (SPL) at which the driver's interrupt handler will run in the new system kernel. Legal values are 1 through 7. If the driver does not have an interrupt handling routine, set this field to 0. All sdevice entries for the same driver must specify the same IPL.

type
the interrupt scheme required by the device. Permitted values for type are:

0
The device does not require an interrupt vector.

1
The device requires an interrupt vector. If the driver supports more than one hardware controller, each controller requires a separate vector.

2
The device requires an interrupt vector. If the driver supports more than one hardware controller, each controller will share the same vector.

3
The device requires an interrupt vector. If the driver supports more than one hardware controller, each controller will share the same interrupt vector. Multiple device drivers having the same IPL can share this interrupt.

4
The device requires an interrupt vector. If the driver supports more than one hardware controller, each of those controllers may either share an interrupt vector with one of the other controllers or use a separate interrupt vector. Multiple device drivers having the same IPL can share this interrupt.

5
The device requires an interrupt vector. If the device supports more than one hardware controller, each controller will share the same interrupt. This interrupt type is used by hard disk drivers to prevent other devices from sharing the same interrupt vector.

Note that, by default, up to 8 devices can share the same interrupt vector. The NSHINTR tunable parameter can be modified to allow up to 20 devices to share an interrupt.


vector
is the interrupt vector number used by the device. If the type field contains a 0 (that is, no interrupt required), this field is ignored. Note that more than one device can share an interrupt number provided that both devices are type 3, 4 or 5.

SIOA
(Start I/O Address) contains the starting address on the I/O bus through which the device communicates. The value entered in this field must be in the range 0x0 to 0xFFFF inclusive, and cannot be larger than EIOA. (Set this field to 0 if it is not used.)

EIOA
(End I/O Address) contains the end address on the I/O bus through which the device communicates. The value entered in this field must be in the range 0x0 to 0xFFFF inclusive, and cannot be smaller than SIOA. (Set this field to 0 if not used.)

SCMA
(Start Controller Memory Address) specifies the starting address of internal memory for the controller. The value entered in this field must be at least 0x10000, and cannot be larger than ECMA. (Set this field to 0 if not used.)

ECMA
(End Controller Memory Address) specifies the end of the internal memory for the device. The value entered in this field must be at least 0x10000, and cannot be smaller than SCMA. (Set this field to 0 if not used.)

Limitations

Some I/O Address ranges are reserved and cannot be used, including:

SIOA EIOA  
0x00 0x0F  
0x20 0x21  
0x40 0x43  
0x63 0x63  
0x70 0x7F  
0x80 0x83  
0xA0 0xA7  

 +-------+------+----+
 |SIOA   | EIOA |    |
 +-------+------+----+
 |0x00   | 0x0F |    |
 +-------+------+----+
 |0x20   | 0x21 |    |
 +-------+------+----+
 |0x40   | 0x43 |    |
 +-------+------+----+
 |0x63   | 0x63 |    |
 +-------+------+----+
 |0x70   | 0x7F |    |
 +-------+------+----+
 |0x80   | 0x83 |    |
 +-------+------+----+
 |0xA0   | 0xA7 |    |
 +-------+------+----+

See also

idbuild(ADM), idinstall(ADM), mdevice(F)
© 2005 The SCO Group, Inc. All rights reserved.
SCO OpenServer Release 6.0.0 -- 03 June 2005