                        Function coverage
                        =================
The following table lists SAS Serial Management Protocol (SMP) functions
in alphabetical order in the left column. The second column is the
standard or draft that the function first appeared in or was extended.
The final column is the utility in the smp_utils package that invokes
that function on a given SMP target.

SMP Function                          Standard         smp_utils utility
------------------------------------  ---------------  ---------------------
CONFIGURE GENERAL                     2                smp_conf_general
CONFIGURE PHY EVENT                   2                smp_conf_phy_event
CONFIGURE ROUTE INFORMATION           1, 2             smp_conf_route_info
CONFIGURE ZONE MANAGER PASSWORD       2                smp_conf_zone_man_pass
CONFIGURE ZONE PERMISSION TABLE       2                smp_conf_zone_perm_tbl
CONFIGURE ZONE PHY INFORMATION        2                smp_conf_zone_phy_info
DISCOVER                              1, 1.1, 2        smp_discover
DISCOVER LIST                         2                smp_discover_list
ENABLE DISABLE ZONING                 2                smp_ena_dis_zoning
PHY CONTROL                           1, 2             smp_phy_control
PHY TEST FUNCTION                     1.1, 2           smp_phy_test
READ GPIO REGISTER                    SFF-8485*        smp_read_gpio
READ GPIO REGISTER ENHANCED           SFF-8485*        smp_read_gpio
REPORT BROADCAST                      2                smp_rep_broadcast
REPORT EXPANDER ROUTE TABLE LIST      2                smp_rep_exp_route_tbl
REPORT GENERAL                        1, 1.1, 2        smp_rep_general
REPORT MANUFACTURER INFORMATION       1, 1.1, 2        smp_rep_manufacturer
/* REPORT PHY BROADCAST COUNTS           2             removed in sas2r13 */
REPORT PHY ERROR LOG                  1, 2             smp_rep_phy_err_log
REPORT PHY EVENT                      2                smp_rep_phy_event
REPORT PHY EVENT LIST                 2                smp_rep_phy_event_list
REPORT PHY SATA                       1, 2             smp_rep_phy_sata
REPORT ROUTE INFORMATION              1, 2             smp_rep_route_info
REPORT SELF-CONFIGURATION STATUS      2                smp_rep_self_conf_stat
REPORT ZONE MANAGER PASSWORD          2                smp_rep_zone_man_pass
REPORT ZONE PERMISSION TABLE          2                smp_rep_zone_perm_tbl
WRITE GPIO REGISTER                   SFF-8485*        smp_write_gpio
WRITE GPIO REGISTER ENHANCED          SFF-8485*        smp_write_gpio
ZONE ACTIVATE                         2                smp_zone_activate
ZONE LOCK                             2                smp_zone_lock
ZONE UNLOCK                           2                smp_zone_unlock
ZONED BROADCAST                       2                smp_zoned_broadcast

*  in sas2r16 the non-ENHANCED versions are marked as obsolete but the
   ENHANCED version are not yet defined in the most recent SFF-8485
   (rev 0.7). In SAS-2.1 (spl-r07) and SAS-3 (spl2r03) these 4 functions
   are not defined (the ENHANCED function codes are "restricted for
   SFF").

The sas-r05.pdf draft is taken to represent the original SAS standard
(ANSI INCITS 376-2003). The sas1r10.pdf draft is taken to represent the
SAS-1.1 standard (ANSI INCITS 417-2006). The sas2r16.pdf draft is taken
to represent the SAS-2 standard (ANSI INCITS 457-2010).

After the SAS-2.1 standard the standard was split in two: SAS and SPL
where the latter stands for SAS Protocol Layer. The SMP functions are
now found in the SPL standard (under application layer, management
application layer) and drafts. Work on the SAS-4 (24 or 22.5 Gbps) standard
is almost complete and the most recent SPL standard is SPL-3 (ANSI INCITS
492-2015). The latest SPL-4 draft is revision 11 (spl4r11.pdf at t10).


Doug Gilbert
4th October 2017
