DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 
HDK Technical Reference

Extended SCSI addressing scheme

The SVR5 extended SCSI addressing scheme removes the limitations regarding the maximum number of devices. This is required for Fibre Channel support.

The conventional address model supported 32 devices with 32 Logical Units per device. With the extended SCSI addressing scheme, this is replaced by a simple integer (providing 2^32 unique addresses) and can be translated by SDI into whatever address is appropriate for the given HBA). Both the conventional and extended addressing schemes are supported by SDI 4, but SDI 4 drivers must use the function set that supports extended addressing.

Drivers written for HBAs that use the extended addressing scheme must set the flag HBA_EXT_ADDRESS in the version_num member of the hba_idata_v5(D4sdi) structure and use the macros documented on the scsi_ad(D4sdi) manual page to access configuration information.

The scsi_ad(D4sdi) structure contains a pointer to the scsi_extended_adr structure that is used when the extended address forms of the SDI functions are used. Use the sdi_ext_address(D3sdi) function to determine if the HBA driver is using the extended addressing scheme.

The following table lists the SDI functions that have alternate forms when used with extended addressing:

Non-extended address form (SDI 3) Extended address form (SDI 4)
sdi_freeblk(D3sdi) sdi_xfreeblk(D3sdi)
sdi_getbcb(D3sdi) sdi_xgetbcb(D3sdi)
sdi_getblk(D3sdi) sdi_xgetblk(D3sdi)
sdi_icmd(D3sdi) sdi_xicmd(D3sdi)
sdi_name(D3sdi) sdi_xname(D3sdi)
sdi_send(D3sdi) sdi_xsend(D3sdi)
sdi_translate(D3sdi) sdi_xtranslate(D3sdi)

The sdi_x* versions of these functions have an additional parameter that is set to HBA_EXT_ADDRESS for drivers that understand the extended SCSI addressing scheme, or to 0 (zero) if conventional SCSI addressing is used.

For compatibility, a default translation for the simple SCSI addresses is provided by using the sa_lun, sa_bus, sa_exta, and sa_ct members.


© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 6 and UnixWare (SVR5) HDK - June 2005