                        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. Notice that many of the newly
introduced functions have no corresponding utility.

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).

Now there is a SAS-2.1 standard at the draft stage and it has been
split into 2 documents. The document containing the SMP functions
is called the SAS Protocol Layer (SPL). So far only a small number
of changes have been made to the SMP functions in the SPL draft.
Work is ongoing on a SAS-3 standard in which a phy can run up to
12 Gbps. The document containing the SMP functions corresponding
to SAS-3 is called SPL-2 and the first draft was recently
placed on the t10 ftp site.


Doug Gilbert
23rd September 2011
