smp_read_gpio − invoke READ GPIO REGISTER SMP function
smp_read_gpio [−−count=CO] [−−help] [−−hex] [−−index=IN] [−−interface=PARAMS] [−−raw] [−−sa=SAS_ADDR] [−−type=TY] [−−verbose] [−−version] SMP_DEVICE[,N]
Sends a SAS Management Protocol (SMP) READ GPIO REGISTER request to a SMP target. The SMP target is identified by the SMP_DEVICE and the SAS_ADDR. Depending on the interface, the SAS_ADDR may be deduced from the SMP_DEVICE. With one interface there is one SMP_DEVICE per machine so the SMP_DEVICE,N syntax is needed to differentiate between HBAs if there are multiple present.
This function is defined in SFF−8485 ( see www.sffcommittee.com ) together with its corresponding WRITE GPIO REGISTER SMP function. The other SMP functions are defined in SAS documents at www.t10.org . SFF−8485 defines a curious device called a "virtual SMP port" that lives in a host bus adapter (HBA) and allows SMP to manipulate the sideband signals on wide internal cables. To stop other initiators in a multi−initiator domain from accessing those sideband signals, the virtual SMP (target) port is not indicated in a DISCOVER response.
Mandatory arguments to long options are mandatory for short options as well.
−c, −−count=CO
where CO is the register count. This is the number of (4 byte) registers to request. The default value is 1.
−h, −−help
output the usage message then exit.
−H, −−hex
output the response in hexadecimal.
−i, −−index=IN
where IN is the register index. This value is origin zero and its default value is 0. If the request succeeds, then −−count=CO registers starting from −−index=IN of the given −−type=TY should be in the response.
−I, −−interface=PARAMS
interface specific parameters. In this case "interface" refers to the path through the operating system to the SMP initiator. See the smp_utils man page for more information.
−r, −−raw
send the response to stdout in binary. All error messages are sent to stderr.
−s, −−sa=SAS_ADDR
specifies the SAS address of the SMP target device. Typically this is an expander. This option may not be needed if the SMP_DEVICE has the target’s SAS address within it. The SAS_ADDR is in decimal but most SAS addresses are shown in hexadecimal. To give a number in hexadecimal either prefix it with ’0x’ or put a trailing ’h’ on it.
−t, −−type=TY
where TY is the register type. The default value is 0 (GPIO_CFG). If the request succeeds, then −−count=CO registers starting from −−index=IN of the given −−type=TY should be in the response.
−v, −−verbose
increase the verbosity of the output. Can be used multiple times
−V, −−version
print the version string and then exit.
The SMP READ GPIO REGISTER function is defined in SFF−8485 (see www.sffcommittee.com ) together with its corresponding WRITE GPIO REGISTER SMP function.
Written by Douglas Gilbert.
Report bugs to <dgilbert at interlog dot com>.
Copyright © 2006−2008 Douglas Gilbert
This software is distributed under a FreeBSD license. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
smp_utils, smp_write_gpio(smp_utils)