svn commit: r309560 - in stable: 10/sys/conf 10/sys/dev/cxgbe 10/sys/dev/cxgbe/common 10/sys/dev/cxgbe/firmware 10/sys/dev/cxgbe/tom 10/sys/modules/cxgbe 10/sys/modules/cxgbe/if_cc 10/sys/modules/c...

John Baldwin jhb at FreeBSD.org
Mon Dec 5 20:43:27 UTC 2016


Author: jhb
Date: Mon Dec  5 20:43:25 2016
New Revision: 309560
URL: https://svnweb.freebsd.org/changeset/base/309560

Log:
  MFC 305695,305696,305699,305702,305703,305713,305715,305827,305852,305906,
  305908,306062,306063,306137,306138,306206,306216,306273,306295,306301,
  306465,309302:
  Add support for adapters using the Terminator T6 ASIC.
  
  305695:
  cxgbe(4): Set up fl_starve_threshold2 accurately for T6.
  
  305696:
  cxgbe(4): Use correct macro for header length with T6 ASICs.  This
  affects the transmit of the VF driver only.
  
  305699:
  cxgbe(4): Update the pad_boundary calculation for T6, which has a
  different range of boundaries.
  
  305702:
  cxgbe(4): Use smaller min/max bursts for fl descriptors with a T6.
  
  305703:
  cxgbe(4): Deal with the slightly different SGE_STAT_CFG in T6.
  
  305713:
  cxgbe(4): Add support for additional port types and link speeds.
  
  305715:
  cxgbe(4): Catch up with the rename of tlscaps -> cryptocaps.  TLS is one
  of the capabilities of the crypto engine in T6.
  
  305827:
  cxgbe(4): Use the interface's viid to calculate the PF/VF/VFValid fields
  to use in tx work requests.
  
  305852:
  cxgbe(4): Attach to cards with the Terminator 6 ASIC.  T6 cards will
  come up as 't6nex' nexus devices with 'cc' ports hanging off them.
  
  The T6 firmware and configuration files will be added as soon as they
  are released.  For now the driver will try to work with whatever
  firmware and configuration is on the card's flash.
  
  305906:
  cxgbe/t4_tom: The SMAC entry for a VI is at a different location in the T6.
  
  305908:
  cxgbe/t4_tom: Update the active/passive open code to support T6.  Data
  path works as-is.
  
  306062:
  cxgbe(4): Show wcwr_stats for T6 cards.
  
  306063:
  cxgbe(4): Setup congestion response for T6 rx queues.
  
  306137:
  cxgbetool: Add T6 support to the SGE context decoder.
  
  306138:
  Fix typo.
  
  306206:
  cxgbe(4): Catch up with the different layout of WHOAMI in T6.
  
  Note that the code moved below t4_prep_adapter() as part of this change
  because now it needs a working chip_id().
  
  306216:
  cxgbe(4): Fix the output of the "tids" sysctl on T6.
  
  306273:
  cxgbe(4): Fix netmap with T6, which doesn't encapsulate SGE_EGR_UPDATE
  message inside a FW_MSG.  The base NIC already deals with updates in
  either form.
  
  306295:
  cxgbe(4): Support SIOGIFXMEDIA so that ifconfig displays correct media
  for 25Gbps and 100Gbps ports.   This should have been part of r305713,
  which is when the driver first started reporting extended media types.
  
  306301:
  cxgbe(4): Use the port's top speed to figure out whether it is "high
  speed" or not (for the purpose of calculating the number of queues etc.)
  This does the right thing for 25Gbps and 100Gbps ports.
  
  306465:
  cxgbe(4): Claim the T6 -DBG card.
  
  309302:
  cxgbe(4): Include firmware for T6 cards in the driver.  Update all
  firmwares to 1.16.12.0.
  
  Sponsored by:	Chelsio Communications

Added:
  stable/11/sys/dev/cxgbe/firmware/t4fw-1.16.12.0.bin.uu
     - copied unchanged from r309302, head/sys/dev/cxgbe/firmware/t4fw-1.16.12.0.bin.uu
  stable/11/sys/dev/cxgbe/firmware/t5fw-1.16.12.0.bin.uu
     - copied unchanged from r309302, head/sys/dev/cxgbe/firmware/t5fw-1.16.12.0.bin.uu
  stable/11/sys/dev/cxgbe/firmware/t6fw-1.16.12.0.bin.uu
     - copied unchanged from r309302, head/sys/dev/cxgbe/firmware/t6fw-1.16.12.0.bin.uu
  stable/11/sys/dev/cxgbe/firmware/t6fw_cfg.txt
     - copied unchanged from r309302, head/sys/dev/cxgbe/firmware/t6fw_cfg.txt
  stable/11/sys/dev/cxgbe/firmware/t6fw_cfg_fpga.txt
     - copied unchanged from r309302, head/sys/dev/cxgbe/firmware/t6fw_cfg_fpga.txt
  stable/11/sys/dev/cxgbe/firmware/t6fw_cfg_uwire.txt
     - copied unchanged from r309302, head/sys/dev/cxgbe/firmware/t6fw_cfg_uwire.txt
  stable/11/sys/dev/cxgbe/if_cc.c
     - copied unchanged from r305852, head/sys/dev/cxgbe/if_cc.c
  stable/11/sys/dev/cxgbe/if_ccv.c
     - copied unchanged from r305852, head/sys/dev/cxgbe/if_ccv.c
  stable/11/sys/modules/cxgbe/if_cc/
     - copied from r305852, head/sys/modules/cxgbe/if_cc/
  stable/11/sys/modules/cxgbe/if_ccv/
     - copied from r305852, head/sys/modules/cxgbe/if_ccv/
  stable/11/sys/modules/cxgbe/t6_firmware/
     - copied from r309302, head/sys/modules/cxgbe/t6_firmware/
Deleted:
  stable/11/sys/dev/cxgbe/firmware/t4fw-1.15.37.0.bin.uu
  stable/11/sys/dev/cxgbe/firmware/t5fw-1.15.37.0.bin.uu
Modified:
  stable/11/sys/conf/files
  stable/11/sys/dev/cxgbe/adapter.h
  stable/11/sys/dev/cxgbe/common/common.h
  stable/11/sys/dev/cxgbe/common/t4_hw.c
  stable/11/sys/dev/cxgbe/common/t4vf_hw.c
  stable/11/sys/dev/cxgbe/firmware/t4fw_interface.h
  stable/11/sys/dev/cxgbe/firmware/t5fw_cfg_uwire.txt
  stable/11/sys/dev/cxgbe/t4_iov.c
  stable/11/sys/dev/cxgbe/t4_main.c
  stable/11/sys/dev/cxgbe/t4_netmap.c
  stable/11/sys/dev/cxgbe/t4_sge.c
  stable/11/sys/dev/cxgbe/t4_tracer.c
  stable/11/sys/dev/cxgbe/t4_vf.c
  stable/11/sys/dev/cxgbe/tom/t4_connect.c
  stable/11/sys/dev/cxgbe/tom/t4_listen.c
  stable/11/sys/dev/cxgbe/tom/t4_tom.c
  stable/11/sys/modules/cxgbe/Makefile
  stable/11/sys/modules/cxgbe/t4_firmware/Makefile
  stable/11/sys/modules/cxgbe/t5_firmware/Makefile
  stable/11/tools/tools/cxgbetool/cxgbetool.c
Directory Properties:
  stable/11/   (props changed)

Changes in other areas also in this revision:
Added:
  stable/10/sys/dev/cxgbe/firmware/t4fw-1.16.12.0.bin.uu
     - copied unchanged from r309302, head/sys/dev/cxgbe/firmware/t4fw-1.16.12.0.bin.uu
  stable/10/sys/dev/cxgbe/firmware/t5fw-1.16.12.0.bin.uu
     - copied unchanged from r309302, head/sys/dev/cxgbe/firmware/t5fw-1.16.12.0.bin.uu
  stable/10/sys/dev/cxgbe/firmware/t6fw-1.16.12.0.bin.uu
     - copied unchanged from r309302, head/sys/dev/cxgbe/firmware/t6fw-1.16.12.0.bin.uu
  stable/10/sys/dev/cxgbe/firmware/t6fw_cfg.txt
     - copied unchanged from r309302, head/sys/dev/cxgbe/firmware/t6fw_cfg.txt
  stable/10/sys/dev/cxgbe/firmware/t6fw_cfg_fpga.txt
     - copied unchanged from r309302, head/sys/dev/cxgbe/firmware/t6fw_cfg_fpga.txt
  stable/10/sys/dev/cxgbe/firmware/t6fw_cfg_uwire.txt
     - copied unchanged from r309302, head/sys/dev/cxgbe/firmware/t6fw_cfg_uwire.txt
  stable/10/sys/dev/cxgbe/if_cc.c
     - copied unchanged from r305852, head/sys/dev/cxgbe/if_cc.c
  stable/10/sys/dev/cxgbe/if_ccv.c
     - copied unchanged from r305852, head/sys/dev/cxgbe/if_ccv.c
  stable/10/sys/modules/cxgbe/if_cc/
     - copied from r305852, head/sys/modules/cxgbe/if_cc/
  stable/10/sys/modules/cxgbe/if_ccv/
     - copied from r305852, head/sys/modules/cxgbe/if_ccv/
  stable/10/sys/modules/cxgbe/t6_firmware/
     - copied from r309302, head/sys/modules/cxgbe/t6_firmware/
Deleted:
  stable/10/sys/dev/cxgbe/firmware/t4fw-1.15.37.0.bin.uu
  stable/10/sys/dev/cxgbe/firmware/t5fw-1.15.37.0.bin.uu
Modified:
  stable/10/sys/conf/files
  stable/10/sys/dev/cxgbe/adapter.h
  stable/10/sys/dev/cxgbe/common/common.h
  stable/10/sys/dev/cxgbe/common/t4_hw.c
  stable/10/sys/dev/cxgbe/common/t4vf_hw.c
  stable/10/sys/dev/cxgbe/firmware/t4fw_interface.h
  stable/10/sys/dev/cxgbe/firmware/t5fw_cfg_uwire.txt
  stable/10/sys/dev/cxgbe/t4_main.c
  stable/10/sys/dev/cxgbe/t4_netmap.c
  stable/10/sys/dev/cxgbe/t4_sge.c
  stable/10/sys/dev/cxgbe/t4_tracer.c
  stable/10/sys/dev/cxgbe/t4_vf.c
  stable/10/sys/dev/cxgbe/tom/t4_connect.c
  stable/10/sys/dev/cxgbe/tom/t4_listen.c
  stable/10/sys/dev/cxgbe/tom/t4_tom.c
  stable/10/sys/modules/cxgbe/Makefile
  stable/10/sys/modules/cxgbe/t4_firmware/Makefile
  stable/10/sys/modules/cxgbe/t5_firmware/Makefile
  stable/10/tools/tools/cxgbetool/cxgbetool.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/11/sys/conf/files
==============================================================================
--- stable/11/sys/conf/files	Mon Dec  5 19:37:15 2016	(r309559)
+++ stable/11/sys/conf/files	Mon Dec  5 20:43:25 2016	(r309560)
@@ -1307,7 +1307,7 @@ t4fw.fwo		optional cxgbe					\
 	no-implicit-rule						\
 	clean		"t4fw.fwo"
 t4fw.fw			optional cxgbe					\
-	dependency	"$S/dev/cxgbe/firmware/t4fw-1.15.37.0.bin.uu"	\
+	dependency	"$S/dev/cxgbe/firmware/t4fw-1.16.12.0.bin.uu"	\
 	compile-with	"${NORMAL_FW}"					\
 	no-obj no-implicit-rule						\
 	clean		"t4fw.fw"
@@ -1331,10 +1331,34 @@ t5fw.fwo		optional cxgbe					\
 	no-implicit-rule						\
 	clean		"t5fw.fwo"
 t5fw.fw			optional cxgbe					\
-	dependency	"$S/dev/cxgbe/firmware/t5fw-1.15.37.0.bin.uu"	\
+	dependency	"$S/dev/cxgbe/firmware/t5fw-1.16.12.0.bin.uu"	\
 	compile-with	"${NORMAL_FW}"					\
 	no-obj no-implicit-rule						\
 	clean		"t5fw.fw"
+t6fw_cfg.c		optional cxgbe					\
+	compile-with	"${AWK} -f $S/tools/fw_stub.awk t6fw_cfg.fw:t6fw_cfg t6fw.fw:t6fw -mt6fw_cfg -c${.TARGET}" \
+	no-implicit-rule before-depend local				\
+	clean		"t6fw_cfg.c"
+t6fw_cfg.fwo		optional cxgbe					\
+	dependency	"t6fw_cfg.fw"					\
+	compile-with	"${NORMAL_FWO}"					\
+	no-implicit-rule						\
+	clean		"t6fw_cfg.fwo"
+t6fw_cfg.fw		optional cxgbe					\
+	dependency	"$S/dev/cxgbe/firmware/t6fw_cfg.txt"		\
+	compile-with	"${CP} ${.ALLSRC} ${.TARGET}"			\
+	no-obj no-implicit-rule						\
+	clean		"t6fw_cfg.fw"
+t6fw.fwo		optional cxgbe					\
+	dependency	"t6fw.fw"					\
+	compile-with	"${NORMAL_FWO}"					\
+	no-implicit-rule						\
+	clean		"t6fw.fwo"
+t6fw.fw			optional cxgbe					\
+	dependency	"$S/dev/cxgbe/firmware/t6fw-1.16.12.0.bin.uu"	\
+	compile-with	"${NORMAL_FW}"					\
+	no-obj no-implicit-rule						\
+	clean		"t6fw.fw"
 dev/cy/cy.c			optional cy
 dev/cy/cy_isa.c			optional cy isa
 dev/cy/cy_pci.c			optional cy pci

Modified: stable/11/sys/dev/cxgbe/adapter.h
==============================================================================
--- stable/11/sys/dev/cxgbe/adapter.h	Mon Dec  5 19:37:15 2016	(r309559)
+++ stable/11/sys/dev/cxgbe/adapter.h	Mon Dec  5 20:43:25 2016	(r309560)
@@ -231,6 +231,7 @@ struct vi_info {
 	int if_flags;
 
 	uint16_t *rss, *nm_rss;
+	int smt_idx;		/* for convenience */
 	uint16_t viid;
 	int16_t  xact_addr_filt;/* index of exact MAC address filter */
 	uint16_t rss_size;	/* size of VI's RSS table slice */
@@ -752,10 +753,20 @@ struct sge {
 	struct hw_buf_info hw_buf_info[SGE_FLBUF_SIZES];
 };
 
+struct devnames {
+	const char *nexus_name;
+	const char *ifnet_name;
+	const char *vi_ifnet_name;
+	const char *pf03_drv_name;
+	const char *vf_nexus_name;
+	const char *vf_ifnet_name;
+};
+
 struct adapter {
 	SLIST_ENTRY(adapter) link;
 	device_t dev;
 	struct cdev *cdev;
+	const struct devnames *names;
 
 	/* PCIe register resources */
 	int regs_rid;
@@ -835,7 +846,7 @@ struct adapter {
 	uint16_t niccaps;
 	uint16_t toecaps;
 	uint16_t rdmacaps;
-	uint16_t tlscaps;
+	uint16_t cryptocaps;
 	uint16_t iscsicaps;
 	uint16_t fcoecaps;
 
@@ -1040,12 +1051,26 @@ is_10G_port(const struct port_info *pi)
 }
 
 static inline bool
+is_25G_port(const struct port_info *pi)
+{
+
+	return ((pi->link_cfg.supported & FW_PORT_CAP_SPEED_25G) != 0);
+}
+
+static inline bool
 is_40G_port(const struct port_info *pi)
 {
 
 	return ((pi->link_cfg.supported & FW_PORT_CAP_SPEED_40G) != 0);
 }
 
+static inline bool
+is_100G_port(const struct port_info *pi)
+{
+
+	return ((pi->link_cfg.supported & FW_PORT_CAP_SPEED_100G) != 0);
+}
+
 static inline int
 port_top_speed(const struct port_info *pi)
 {
@@ -1054,6 +1079,8 @@ port_top_speed(const struct port_info *p
 		return (100);
 	if (pi->link_cfg.supported & FW_PORT_CAP_SPEED_40G)
 		return (40);
+	if (pi->link_cfg.supported & FW_PORT_CAP_SPEED_25G)
+		return (25);
 	if (pi->link_cfg.supported & FW_PORT_CAP_SPEED_10G)
 		return (10);
 	if (pi->link_cfg.supported & FW_PORT_CAP_SPEED_1G)
@@ -1101,6 +1128,7 @@ int t4_os_pci_restore_state(struct adapt
 void t4_os_portmod_changed(const struct adapter *, int);
 void t4_os_link_changed(struct adapter *, int, int, int);
 void t4_iterate(void (*)(struct adapter *, void *), void *);
+void t4_init_devnames(struct adapter *);
 void t4_add_adapter(struct adapter *);
 int t4_detach_common(device_t);
 int t4_filter_rpl(struct sge_iq *, const struct rss_header *, struct mbuf *);

Modified: stable/11/sys/dev/cxgbe/common/common.h
==============================================================================
--- stable/11/sys/dev/cxgbe/common/common.h	Mon Dec  5 19:37:15 2016	(r309559)
+++ stable/11/sys/dev/cxgbe/common/common.h	Mon Dec  5 20:43:25 2016	(r309560)
@@ -578,7 +578,8 @@ int t4_config_rss_range(struct adapter *
 int t4_config_glbl_rss(struct adapter *adapter, int mbox, unsigned int mode,
 		       unsigned int flags);
 int t4_config_vi_rss(struct adapter *adapter, int mbox, unsigned int viid,
-		     unsigned int flags, unsigned int defq);
+		     unsigned int flags, unsigned int defq, unsigned int skeyidx,
+		     unsigned int skey);
 int t4_read_rss(struct adapter *adapter, u16 *entries);
 void t4_fw_tp_pio_rw(struct adapter *adap, u32 *vals, unsigned int nregs,
 		  unsigned int start_index, unsigned int rw);

Modified: stable/11/sys/dev/cxgbe/common/t4_hw.c
==============================================================================
--- stable/11/sys/dev/cxgbe/common/t4_hw.c	Mon Dec  5 19:37:15 2016	(r309559)
+++ stable/11/sys/dev/cxgbe/common/t4_hw.c	Mon Dec  5 20:43:25 2016	(r309560)
@@ -3669,8 +3669,9 @@ void t4_ulprx_read_la(struct adapter *ad
 }
 
 #define ADVERT_MASK (FW_PORT_CAP_SPEED_100M | FW_PORT_CAP_SPEED_1G |\
-		     FW_PORT_CAP_SPEED_10G | FW_PORT_CAP_SPEED_40G | \
-		     FW_PORT_CAP_SPEED_100G | FW_PORT_CAP_ANEG)
+		     FW_PORT_CAP_SPEED_10G | FW_PORT_CAP_SPEED_25G | \
+		     FW_PORT_CAP_SPEED_40G | FW_PORT_CAP_SPEED_100G | \
+		     FW_PORT_CAP_ANEG)
 
 /**
  *	t4_link_l1cfg - apply link configuration to MAC/PHY
@@ -4738,7 +4739,7 @@ int t4_config_glbl_rss(struct adapter *a
 		c.u.manual.mode_pkd =
 			cpu_to_be32(V_FW_RSS_GLB_CONFIG_CMD_MODE(mode));
 	} else if (mode == FW_RSS_GLB_CONFIG_CMD_MODE_BASICVIRTUAL) {
-		c.u.basicvirtual.mode_pkd =
+		c.u.basicvirtual.mode_keymode =
 			cpu_to_be32(V_FW_RSS_GLB_CONFIG_CMD_MODE(mode));
 		c.u.basicvirtual.synmapen_to_hashtoeplitz = cpu_to_be32(flags);
 	} else
@@ -4753,11 +4754,14 @@ int t4_config_glbl_rss(struct adapter *a
  *	@viid: the VI id
  *	@flags: RSS flags
  *	@defq: id of the default RSS queue for the VI.
+ *	@skeyidx: RSS secret key table index for non-global mode
+ *	@skey: RSS vf_scramble key for VI.
  *
  *	Configures VI-specific RSS properties.
  */
 int t4_config_vi_rss(struct adapter *adapter, int mbox, unsigned int viid,
-		     unsigned int flags, unsigned int defq)
+		     unsigned int flags, unsigned int defq, unsigned int skeyidx,
+		     unsigned int skey)
 {
 	struct fw_rss_vi_config_cmd c;
 
@@ -4768,6 +4772,10 @@ int t4_config_vi_rss(struct adapter *ada
 	c.retval_len16 = cpu_to_be32(FW_LEN16(c));
 	c.u.basicvirtual.defaultq_to_udpen = cpu_to_be32(flags |
 					V_FW_RSS_VI_CONFIG_CMD_DEFAULTQ(defq));
+	c.u.basicvirtual.secretkeyidx_pkd = cpu_to_be32(
+					V_FW_RSS_VI_CONFIG_CMD_SECRETKEYIDX(skeyidx));
+	c.u.basicvirtual.secretkeyxor = cpu_to_be32(skey);
+
 	return t4_wr_mbox(adapter, mbox, &c, sizeof(c), NULL);
 }
 
@@ -4886,11 +4894,11 @@ void t4_write_rss_key(struct adapter *ad
 	if (idx >= 0 && idx < rss_key_addr_cnt) {
 		if (rss_key_addr_cnt > 16)
 			t4_write_reg(adap, A_TP_RSS_CONFIG_VRT,
-				     V_KEYWRADDRX(idx >> 4) |
+				     vrt | V_KEYWRADDRX(idx >> 4) |
 				     V_T6_VFWRADDR(idx) | F_KEYWREN);
 		else
 			t4_write_reg(adap, A_TP_RSS_CONFIG_VRT,
-				     V_KEYWRADDR(idx) | F_KEYWREN);
+				     vrt| V_KEYWRADDR(idx) | F_KEYWREN);
 	}
 }
 
@@ -5775,6 +5783,13 @@ const char *t4_get_port_type_description
 		"QSA",
 		"QSFP",
 		"BP40_BA",
+		"KR4_100G",
+		"CR4_QSFP",
+		"CR_QSFP",
+		"CR_SFP28",
+		"SFP28",
+		"KR_SFP28",
+		"CR2_QSFP",
 	};
 
 	if (port_type < ARRAY_SIZE(port_type_description))
@@ -7462,8 +7477,12 @@ int t4_handle_fw_rpl(struct adapter *ada
 			speed = 1000;
 		else if (stat & V_FW_PORT_CMD_LSPEED(FW_PORT_CAP_SPEED_10G))
 			speed = 10000;
+		else if (stat & V_FW_PORT_CMD_LSPEED(FW_PORT_CAP_SPEED_25G))
+			speed = 25000;
 		else if (stat & V_FW_PORT_CMD_LSPEED(FW_PORT_CAP_SPEED_40G))
 			speed = 40000;
+		else if (stat & V_FW_PORT_CMD_LSPEED(FW_PORT_CAP_SPEED_100G))
+			speed = 100000;
 
 		for_each_port(adap, i) {
 			pi = adap2pinfo(adap, i);
@@ -7866,8 +7885,10 @@ int t4_init_sge_params(struct adapter *a
 	sp->fl_starve_threshold = G_EGRTHRESHOLD(r) * 2 + 1;
 	if (is_t4(adapter))
 		sp->fl_starve_threshold2 = sp->fl_starve_threshold;
-	else
+	else if (is_t5(adapter))
 		sp->fl_starve_threshold2 = G_EGRTHRESHOLDPACKING(r) * 2 + 1;
+	else
+		sp->fl_starve_threshold2 = G_T6_EGRTHRESHOLDPACKING(r) * 2 + 1;
 
 	/* egress queues: log2 of # of doorbells per BAR2 page */
 	r = t4_read_reg(adapter, A_SGE_EGRESS_QUEUES_PER_PAGE_PF);
@@ -7890,7 +7911,13 @@ int t4_init_sge_params(struct adapter *a
 	sp->sge_control = r;
 	sp->spg_len = r & F_EGRSTATUSPAGESIZE ? 128 : 64;
 	sp->fl_pktshift = G_PKTSHIFT(r);
-	sp->pad_boundary = 1 << (G_INGPADBOUNDARY(r) + 5);
+	if (chip_id(adapter) <= CHELSIO_T5) {
+		sp->pad_boundary = 1 << (G_INGPADBOUNDARY(r) +
+		    X_INGPADBOUNDARY_SHIFT);
+	} else {
+		sp->pad_boundary = 1 << (G_INGPADBOUNDARY(r) +
+		    X_T6_INGPADBOUNDARY_SHIFT);
+	}
 	if (is_t4(adapter))
 		sp->pack_boundary = sp->pad_boundary;
 	else {
@@ -8082,6 +8109,10 @@ int t4_port_init(struct adapter *adap, i
 		return ret;
 
 	p->vi[0].viid = ret;
+	if (chip_id(adap) <= CHELSIO_T5)
+		p->vi[0].smt_idx = (ret & 0x7f) << 1;
+	else
+		p->vi[0].smt_idx = (ret & 0x7f);
 	p->tx_chan = j;
 	p->rx_chan_map = t4_get_mps_bg_map(adap, j);
 	p->lport = j;

Modified: stable/11/sys/dev/cxgbe/common/t4vf_hw.c
==============================================================================
--- stable/11/sys/dev/cxgbe/common/t4vf_hw.c	Mon Dec  5 19:37:15 2016	(r309559)
+++ stable/11/sys/dev/cxgbe/common/t4vf_hw.c	Mon Dec  5 20:43:25 2016	(r309560)
@@ -29,6 +29,7 @@ __FBSDID("$FreeBSD$");
 
 #include "common.h"
 #include "t4_regs.h"
+#include "t4_regs_values.h"
 
 #undef msleep
 #define msleep(x) do { \
@@ -130,9 +131,10 @@ int t4vf_get_sge_params(struct adapter *
 	sp->fl_starve_threshold = G_EGRTHRESHOLD(vals[5]) * 2 + 1;
 	if (is_t4(adapter))
 		sp->fl_starve_threshold2 = sp->fl_starve_threshold;
+	else if (is_t5(adapter))
+		sp->fl_starve_threshold2 = G_EGRTHRESHOLDPACKING(vals[5]) * 2 + 1;
 	else
-		sp->fl_starve_threshold2 = G_EGRTHRESHOLDPACKING(vals[5]) * 2 +
-		    1;
+		sp->fl_starve_threshold2 = G_T6_EGRTHRESHOLDPACKING(vals[5]) * 2 + 1;
 
 	/*
 	 * We need the Queues/Page and Host Page Size for our VF.
@@ -168,7 +170,13 @@ int t4vf_get_sge_params(struct adapter *
 	 */
 	sp->spg_len = sp->sge_control & F_EGRSTATUSPAGESIZE ? 128 : 64;
 	sp->fl_pktshift = G_PKTSHIFT(sp->sge_control);
-	sp->pad_boundary = 1 << (G_INGPADBOUNDARY(sp->sge_control) + 5);
+	if (chip_id(adapter) <= CHELSIO_T5) {
+		sp->pad_boundary = 1 << (G_INGPADBOUNDARY(sp->sge_control) +
+		    X_INGPADBOUNDARY_SHIFT);
+	} else {
+		sp->pad_boundary = 1 << (G_INGPADBOUNDARY(sp->sge_control) +
+		    X_T6_INGPADBOUNDARY_SHIFT);
+	}
 	if (is_t4(adapter))
 		sp->pack_boundary = sp->pad_boundary;
 	else {

Copied: stable/11/sys/dev/cxgbe/firmware/t4fw-1.16.12.0.bin.uu (from r309302, head/sys/dev/cxgbe/firmware/t4fw-1.16.12.0.bin.uu)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ stable/11/sys/dev/cxgbe/firmware/t4fw-1.16.12.0.bin.uu	Mon Dec  5 20:43:25 2016	(r309560, copy of r309302, head/sys/dev/cxgbe/firmware/t4fw-1.16.12.0.bin.uu)
@@ -0,0 +1,9594 @@
+/*-
+ * Copyright (c) 2016 Chelsio Communications, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+begin-base64 644 t4fw
+AAAEKQEQDAAAAQkEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAABAwEGwQjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAENoZWxzaW8gRlcgUlVOTUVNIERFQlVHPTAgKEJ1aWx0IFR1ZSBOb3YgIDggMDk6
+MjI6MzEgUFNUIDIwMTYgb24gdm5jNC5hc2ljZGVzaWduZXJzLmNvbTovaG9tZS9maXJtd2FyZS9j
+dnMvZnctcmVsZWFzZSksIFZlcnNpb24gVDR4eCAwMS4xMC4wYy4wMAAAAAAAAAAAAAAAAIf/EtRg
+AMgA4QB78AAQAADhADC4eP///x/84UCAAAAB4QB7cAAAEAAf//2U4QGUcCAAAADhAZwE4QB5AAAC
+AEDhAHmAAAYAQAACAAoABgAK4QB5BAAMAACAAAEC4QB7POEAe0ThAHvk4gAAAAABAADhAHuQIAAA
+AAAAgADhAHsAAABAAeEAe5wAAEAAREREQuAAAADjAARzREREQOMACAAgAAJcAAAAAB//kuAAAAAA
+H/+S5AAAAAAf/5LoAAAAAB//kuwf/8AAAAAAAAAAAADAABL/zRP/zZMgEv/NE//NhCAEMwGTIBH/
+zBL/zJIQEf/MEv/MkhAR/8wB9DER/8siCv+SEADkMQAFMQECABL/yALnMQIWABH/x4EQAQFfwCEC
+EQHJERH/xBL/xJIQEf/EEv/EkhBgAA8R/78S/8OSEBH/vxL/wpIQgRAR/8HAIJIREv/AkhLAIJIT
+Ev+/khCCEALyUGUv9xH/vccvkhAR/7ySEBL/vBP/vJMgwDKTIRP/u5MigiIS/7oT/7qTICMiIRT/
+uQQzAck4E/+4gzADgxQIMxEU/7akM5MhE/+qkyJgAAjCMJMhE/+nkyIS/7GQIJAhkCKQI5AkkCWQ
+JpAnkCiQKZAqkCuQLJAtkC6QLyAmECAmEYIiEv+kwDAtNzAtNzQtNzgtNzwjPQFyM+0AAgAS/6HA
+MC83AC83EC83IC83MCM9AXIz7QACABL/l8AwKDcwKDc0KDc4KDc8Iz0BcjPtEv+VwDAnNwAnNxAn
+NyAnNzAjPQFyM+0S/5AV/5AW/5HAMNcgBWYBYAAZAAAAAAAAAAQ2BQACANMP0w8FMwxuOxQHRxQH
+BEN2MeYENgUFMwxvO+0AAgAS/4MV/4EjCgACJwIHBEMEPgUFMwwHRxRvO/ADAgAS/33JLoMghCGF
+IrwidDsOhlC0VZYwtDN0M/Rj/+YAZT/iZV/fEv9xwDIDLgUDAgAS/2jAMCg3QCg3RCg3SCg3TCM9
+AXIz7QACABL/ay0nAMARAUkxAEgxAQIAwAAU/2gE0jEV/2eUUBT/ZwTTMRX/ZpRQFP9mBNQxFf9m
+lFAU/2UE1TEV/2WUUBD/ZQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf/AAA
+H/wAAOMACfgf/AAAH/wAAOMACfgf/AAAH/wAAOMACfgf/4AAH/+KUOMACfgf/4pQH/+KUOMAFEgf
+/4pQH/+KUOMAFEgf/4pQH/+L8OMAFEgf/4vwH/+S3OMAFegf/5LgH/+0AOMAHNgf/7QAH/+0AOMA
+Pfgf/8AAH//+geMAPfggAAAAIAABauMAfHwgAAF4IAABfOMAfeggAAF8IAABheMAfewgAAGYIAAB
+nOMAffggAAGcIAABpeMAffwgAAG4IAABvOMAfgggAAG8IAABxeMAfgwgAAHYIAAB2OMAfhggAAHc
+IAAB4uMAfhggAAH4IAAB+OMAfiAgAAH8IAAB/OMAfiAgAAIYIAACGOMAfiAgAAIcIAACHOMAfiAg
+AAI4IAACOOMAfiAgAAI8IAACPOMAfiAgAAJYIAACWOMAfiAgAAJcIAACYuMAfiAgAAJ4IAACeOMA
+figgAAJ8IAACguMAfiggAAKYIAHy6eMAfjAgAwAAIAMVhOMCboQgAxWEIAMVhOMChAggAxWIIAbc
+NOMChAwgBtxAIAbfsOMGSsQgCAAAIAgOYOMGTjQgCA5gIAkofuMGXJQgCSiAIAkpTOMHdrQgCwAA
+IAsAAOMHd4AgCwAAIAsAAOMHd4AgCwAAIAufuOMHd4AAAAAAAAAAAAAAAAAgABOGIAATeCAAF2Ig
+ABN4IAAW3SAAE3ggABQqIAAWdSAAFfogABN4IAAVqSAAFWIgABT1IAATZSAAFJ8gABN4IAATeCAA
+E3ggABRKAAAAAP///////w/8///w////APwgAKuTIACs+iAArSogAKzwIACssSAArKcgAKxxIACs
+ZyAArFYgAKwCIACtKCAAq/ggAKvLIACtKiAAq8EAAAAAARAYAQAEAAAAAAAAAAAAAAAAAAoAAAAK
+AAAAFAAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEA
+AQACAAMABAAFAAYABwAIAAkACgAOABEAFQAZAB4AIwAtADwAUABkAMgBLAGQAfQAAAAAAAAAAAAA
+AAAAAAAAAAAAAQABAAIAAgADAAMAAwADAAQABAAEAAQABAAFAAUABQAFAAUABQAGAAYABwAHAAAA
+AgAAAAYAAAAKAAAADgAAABQAAAAcAAAAKAAAADgAAABQAAAAcAAAAKAAAADgAAABQAAAAcAAAAKA
+AAADgAAABQEAAAcAAAAKAAAADgAAABQAAAAcAAAAKAAAADgAAABQAAAAcAAAAKAAAADgAAABQAAA
+AcAAAAKAAAADgAD/AAECAgAAAAAAAAAAAAAAECBAAAAAAAAAAAAAAAAAAAQAAgABAACAAEAAIAAQ
+AAggQIAAAAAAAAAAAAAAAAAAIAipByAIqQcgCKjDIAiokCAIqGIgCKg2IAioNiAIqdAgCKnQIAio
+NiAIqdAgCKnQIAioNiAIqDYgCKfrIAip0CAIqdAgCKnQIAip0CAIqdAgCKnQIAip0CAIqdAgCKnQ
+IAip0CAIqdAgCKnQIAip0CAIqdAgCKnQIAip0CAIqBkgAwrQAAAAASADCtgAAAACIAMO+AAAAP8g
+AwgwAAAA/yADCrwAAAACIAMKwAAAAAMgAwrIAAAABwAAAAAAAAAAIAMKoAAAAAEgAwqkAAAAAiAD
+CqwAAAAEIAMO+AAAAP8gAwgwAAAA/wAAAAAAAAAAIAMIMAAAAAAgAw74AAAAACADCWwAAAABIAMJ
+dAAAAAQgAwl8AAAACCADCYgAAAAgIAMJmAAAAEAgAwmgAAAAgCADCagAAAEAIAMJsAAAAgAgAwnE
+AAAEACADCdgAAAgAIAMJ8AAAEAAgAwoEAAAgACADChQAAEAAIAMKIAAAgAAgAwo0AAEAACADCkQA
+AgAAIAMKVAAQAAAgAwpsACAAACADCoQAQAAAIAMKjACAAAAgAwlYAAAAECADCWAAAAARIAMJQAAA
+AAAgAwlEAAAAASADCUgAAAACIAMJUAAAAAMAAAAAAAD//wAAAAAAAP//IAMIwAAAAQAgAwjMAAAA
+gCADCNwAAABAIAMI7AAAACAgAwj8AAAAECADCQwAAAAIIAMJGAAAAAQgAwkkAAAAAiADCTAAAAAB
+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
+4QIOAP//v//hAA4A4QGOAP//vv8f/52EH/+qgCABw7AgAc/c4AUAAAP/AAAf/6m0IAMM6B/8v/88
+AAAAAAX//4MAAAAf/6lMIAHlcCALY+Af/67EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIGAAAAAAAAA////
+/////////////////x///Igf//yIH//8UB///FAf//xQH//8UB//9dAf//j4H//3VB//91Qf//dU
+IAaw8AAAAAAAAAAAAAAAAAAAAAAgBrQ4IAa0OAAAAAAAAAAAAAAAAAAAAAAgBrDwIAaw8B//+fAf
+//nwH//58B//+fAf//nwH//58AAAAAAgAcTIAAAAAAAAAAAAAAAAAAAAAAIBAAAAAAAAAAAAAAAA
+AAAEAAAAAAAAAIGAAAAAAAAQBQAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAgQAAAAAAABgFAAAAgAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+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

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***


More information about the svn-src-all mailing list