Writing Device Drivers for Oracle® Solaris 11.2

Exit Print View

Updated: September 2014
 
 

x86 Target Driver Configuration Properties

Some x86 SCSI target drivers, such as the driver for cmdk disk, use the following configuration properties:

  • disk

  • queue

  • flow_control

If you use the cmdk sample driver to write an HBA driver for an x86 platform, any appropriate properties must be defined in the driver.conf(4) file.


Note - These property definitions should appear only in an HBA driver's driver.conf(4) file. The HBA driver itself should not inspect or attempt to interpret these properties in any way. These properties are advisory only and serve as an adjunct to the cmdk driver. The properties should not be relied upon in any way. The property definitions might not be used in future releases.

The disk property can be used to define the type of disk supported by cmdk. For a SCSI HBA, the only possible value for the disk property is:

  • disk="scdk" – Disk type is a SCSI disk

The queue property defines how the disk driver sorts the queue of incoming requests during strategy(9E). Two values are possible:

  • queue="qsort" – One-way elevator queuing model, provided by disksort(9F)

  • queue="qfifo" – FIFO, that is, first in, first out queuing model

The flow_control property defines how commands are transported to the HBA driver. Three values are possible:

  • flow_control="dsngl" – Single command per HBA driver

  • flow_control="dmult" – Multiple commands per HBA driver. When the HBA queue is full, the driver returns TRAN_BUSY.

  • flow_control="duplx" – The HBA can support separate read and write queues, with multiple commands per queue. FIFO ordering is used for the write queue. The queuing model that is used for the read queue is described by the queue property. When an HBA queue is full, the driver returns TRAN_BUSY

The following example is a driver.conf(4) file for use with an x86 HBA PCI device that has been designed for use with the cmdk sample driver:

#
# config file for ISP 1020 SCSI HBA driver     
#
       flow_control="dsngl" queue="qsort" disk="scdk"
       scsi-initiator-id=7;