The bit-masking format, also known as the Version1 format, includes the sd-config-list property, which contains entries for the property array.
Use the following syntax for an sd driver:
sd-config-list = duplet [, duplet ]*; sd-ver1-conf-data = 1, mask, value-sequence;
Use the following syntax for an ssd driver:
ssd-config-list = duplet [, duplet ]*; sd-ver1-conf-data = 1, mask, value-sequence;
where duplet is "VIDPID", "sd-ver1-conf-data"
Content of the vendor identification (VID) field of the device response to a SCSI INQUIRY command. The VID field must be eight characters in length. If the vendor identification field is less than eight characters, you must add whitespaces to make the length of the VID eight characters.
Content of the product identification (PID) field of the device response to a SCSI INQUIRY command. The PID can contain a maximum of 16 left-adjusted characters. If you provide less than 16 characters, then the comparison is limited to the length of the PID that you have provided.
Property array consisting of a version number which is 1, a mask number, and tunable values to be set.
Value between 0x01 to 0x7FFFF. The value of mask can sometimes be the OR result of multiple desired flags. Figure 3, Table 3, Supported Tunables and Their Flag Values on Different Platforms shows the bit value of each tunable parameter.
Sequence of valid property values and number of 0's corresponding to the value of mask. The length limit for value-sequence is 19 characters. See Tunable Parameters for Disk Drivers for the data type of tunable parameters.
The PID value is considered a match when the prefix value returned by the SCSI INQUIRY command and the PID in the sd-config-list or ssd-config-list are same. For example, if CMS200 is the PID in the sd-config-list or ssd-config-list entry and if the PID returned by the SCSI INQUIRY command is CMS200-R, CMS200-T, or CMS200-UV10 would all be considered a match.
The definition of each bit's position depends on the platform. A tunable might correspond to a different flag value on a different platform. Both Oracle Solaris 11 and Oracle Solaris 10 support the same set of 19 tunable parameters in the bit-masking format.
The following table lists the tunable parameters and their flag values on different platforms.
|
This example shows how to tune the parameters in an sd.conf file on an x86 platform.
sd-config-list = "SUM ABC200_R","sd-ver1-x86-example"; sd-ver1-x86-example = 1,0x801,300,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0;
In this example, for the device SUM, the VID is SUM and the PID is ABC200_R.
The mask value 0x801 is the bitwise OR value of 0x00800 and 0x00001 flags. These values are retries-busy and throttle-max tunable parameters on an x86 platform.
Example 16 Configuring the Tunable Parameters for an ssd Driver on a SPARC PlatformThis example shows how to tune the parameters in an ssd.conf file on a SPARC platform.
ssd-config-list = "SUM XYZ200_R","sd-ver1-ssd-example"; sd-ver1-ssd-example = 1,0x5,300,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;
In this example, for the device SUM, the VID is SUM and the PID is XYZ200_R.
The mask value 0x5 is the bitwise OR value of 0x00004 and 0x00001 flags. These values are retries-busy and throttle-max tunable parameters on a SPARC platform.
If a .conf file contains multiple sd-config-list or ssd-config-list entries tune the same target device, only the first entry takes effect. All subsequent entries with the same VID and PID are ignored. This behavior is the same for both the bit-masking format and the name:value pair format.
If an sd-config-list property contains more than one duplet with the same with the same VID and PID, the succeeding specifications in the order of entries take precedence and replace the values that appeared in earlier duplets. This behavior is the same for both the bit-masking format and the name:value pair format.
In the bit-masking format, if the length of the value-sequence parameter is more than 19 characters, values after the 19th character are ignored. If the length of the value-sequence is less than 19 characters, the configuration result depends on its preceding mask value. If the corresponding value position of the flagged bit in the mask value is empty, then it results in a random value is assigned for that property in the target driver.
The target driver does not provide a syntax check for the .conf file so no warning messages for errors like misspelling of tunable names and incorrect entries for value-sequence.