Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 5 Feb 2015 22:34:30 +0000 (UTC)
From:      Dimitry Andric <dim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r278298 - in projects/clang360-import: etc etc/rc.d lib/clang lib/csu/powerpc64 release/doc/en_US.ISO8859-1/errata release/doc/en_US.ISO8859-1/relnotes release/doc/share/xml sbin/ipfw s...
Message-ID:  <201502052234.t15MYUTM091807@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dim
Date: Thu Feb  5 22:34:29 2015
New Revision: 278298
URL: https://svnweb.freebsd.org/changeset/base/278298

Log:
  Merging ^/head r278224 through r278297.

Added:
  projects/clang360-import/release/doc/share/xml/errata.xml
     - copied unchanged from r278297, head/release/doc/share/xml/errata.xml
  projects/clang360-import/release/doc/share/xml/security.xml
     - copied unchanged from r278297, head/release/doc/share/xml/security.xml
  projects/clang360-import/sys/contrib/vchiq/
     - copied from r278297, head/sys/contrib/vchiq/
  projects/clang360-import/tools/tools/qrndtest/
     - copied from r278297, head/tools/tools/qrndtest/
Modified:
  projects/clang360-import/etc/Makefile
  projects/clang360-import/etc/rc.d/Makefile
  projects/clang360-import/lib/clang/clang.build.mk
  projects/clang360-import/lib/csu/powerpc64/Makefile
  projects/clang360-import/release/doc/en_US.ISO8859-1/errata/article.xml
  projects/clang360-import/release/doc/en_US.ISO8859-1/relnotes/article.xml
  projects/clang360-import/release/doc/share/xml/release.ent
  projects/clang360-import/sbin/ipfw/ipfw2.c
  projects/clang360-import/sys/arm/broadcom/bcm2835/files.bcm2835
  projects/clang360-import/sys/boot/amd64/efi/main.c
  projects/clang360-import/sys/boot/efi/include/efiapi.h
  projects/clang360-import/sys/cam/cam_ccb.h
  projects/clang360-import/sys/cam/cam_xpt.c
  projects/clang360-import/sys/cam/cam_xpt_internal.h
  projects/clang360-import/sys/cam/scsi/scsi_xpt.c
  projects/clang360-import/sys/conf/kern.mk
  projects/clang360-import/sys/conf/kern.pre.mk
  projects/clang360-import/sys/conf/options
  projects/clang360-import/sys/dev/cxgbe/offload.h
  projects/clang360-import/sys/dev/iscsi/icl.h
  projects/clang360-import/sys/dev/iscsi/icl_soft.c
  projects/clang360-import/sys/dev/iscsi/iscsi.c
  projects/clang360-import/sys/dev/iscsi/iscsi_ioctl.h
  projects/clang360-import/sys/dev/sfxge/common/efsys.h
  projects/clang360-import/sys/dev/sfxge/sfxge.c
  projects/clang360-import/sys/dev/sfxge/sfxge.h
  projects/clang360-import/sys/dev/sfxge/sfxge_ev.c
  projects/clang360-import/sys/dev/sfxge/sfxge_mcdi.c
  projects/clang360-import/sys/dev/sfxge/sfxge_port.c
  projects/clang360-import/sys/dev/sfxge/sfxge_tx.c
  projects/clang360-import/sys/dev/sfxge/sfxge_tx.h
  projects/clang360-import/sys/dev/uart/uart_bus_pci.c
  projects/clang360-import/sys/dev/vt/hw/vga/vt_vga.c
  projects/clang360-import/sys/kern/init_main.c
  projects/clang360-import/sys/kern/kern_clock.c
  projects/clang360-import/sys/kern/subr_bus.c
  projects/clang360-import/sys/netinet6/in6.c
  projects/clang360-import/sys/netpfil/ipfw/ip_fw_iface.c   (contents, props changed)
  projects/clang360-import/sys/netpfil/ipfw/ip_fw_nat.c
  projects/clang360-import/sys/netpfil/ipfw/ip_fw_private.h
  projects/clang360-import/sys/netpfil/ipfw/ip_fw_table.c
  projects/clang360-import/sys/netpfil/ipfw/ip_fw_table_algo.c
  projects/clang360-import/sys/sys/systm.h
  projects/clang360-import/sys/ufs/ffs/ffs_softdep.c
  projects/clang360-import/usr.bin/iscsictl/iscsi.conf.5
  projects/clang360-import/usr.bin/iscsictl/iscsictl.c
  projects/clang360-import/usr.bin/iscsictl/iscsictl.h
  projects/clang360-import/usr.bin/iscsictl/parse.y
  projects/clang360-import/usr.bin/iscsictl/token.l
  projects/clang360-import/usr.sbin/iscsid/iscsid.c
  projects/clang360-import/usr.sbin/iscsid/iscsid.h
  projects/clang360-import/usr.sbin/iscsid/login.c
  projects/clang360-import/usr.sbin/syslogd/syslogd.c
Directory Properties:
  projects/clang360-import/   (props changed)
  projects/clang360-import/etc/   (props changed)
  projects/clang360-import/sbin/   (props changed)
  projects/clang360-import/sbin/ipfw/   (props changed)
  projects/clang360-import/sys/   (props changed)
  projects/clang360-import/sys/boot/   (props changed)
  projects/clang360-import/sys/conf/   (props changed)

Modified: projects/clang360-import/etc/Makefile
==============================================================================
--- projects/clang360-import/etc/Makefile	Thu Feb  5 22:28:00 2015	(r278297)
+++ projects/clang360-import/etc/Makefile	Thu Feb  5 22:34:29 2015	(r278298)
@@ -44,7 +44,6 @@ BIN1=	crontab \
 	rc.bsdextended \
 	rc.firewall \
 	rc.initdiskless \
-	rc.sendmail \
 	rc.shutdown \
 	rc.subr \
 	remote \
@@ -144,6 +143,10 @@ BIN1+= portsnap.conf
 BIN1+= pf.os
 .endif
 
+.if ${MK_SENDMAIL} != "no"
+BIN1+=	rc.sendmail
+.endif
+
 .if ${MK_TCSH} != "no"
 BIN1+= csh.cshrc csh.login csh.logout
 .endif
@@ -254,7 +257,9 @@ distribution:
 .endif
 	${_+_}cd ${.CURDIR}/gss; ${MAKE} install
 	${_+_}cd ${.CURDIR}/periodic; ${MAKE} install
+.if ${MK_PKGBOOTSTRAP} != "no"
 	${_+_}cd ${.CURDIR}/pkg; ${MAKE} install
+.endif
 	${_+_}cd ${.CURDIR}/rc.d; ${MAKE} install
 	${_+_}cd ${.CURDIR}/../share/termcap; ${MAKE} etc-termcap
 	${_+_}cd ${.CURDIR}/../usr.sbin/rmt; ${MAKE} etc-rmt
@@ -316,8 +321,10 @@ distribution:
 .endif
 	${INSTALL} -o ${BINOWN} -g operator -m 664 /dev/null \
 	    ${DESTDIR}/etc/dumpdates
+.if ${MK_LOCATE} != "no"
 	${INSTALL} -o nobody -g ${BINGRP} -m 644 /dev/null \
 	    ${DESTDIR}/var/db/locate.database
+.endif
 	${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 ${.CURDIR}/minfree \
 	    ${DESTDIR}/var/crash
 	cd ${.CURDIR}/..; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 \
@@ -385,6 +392,7 @@ distrib-dirs: ${MTREES:N/*}
 	done; true
 .endif
 	${INSTALL_SYMLINK} usr/src/sys ${DESTDIR}/sys
+.if ${MK_MAN} != "no"
 	cd ${DESTDIR}/usr/share/man; \
 	for mandir in man*; do \
 		${INSTALL_SYMLINK} ../$$mandir \
@@ -392,23 +400,30 @@ distrib-dirs: ${MTREES:N/*}
 		${INSTALL_SYMLINK} ../$$mandir \
 		    ${DESTDIR}/usr/share/man/en.UTF-8/; \
 	done
+.if ${MK_OPENSSL} != "no"
 	cd ${DESTDIR}/usr/share/openssl/man; \
 	for mandir in man*; do \
 		${INSTALL_SYMLINK} ../$$mandir \
 		    ${DESTDIR}/usr/share/openssl/man/en.ISO8859-1/; \
 	done
+.endif
 	set - `grep "^[a-zA-Z]" ${.CURDIR}/man.alias`; \
 	while [ $$# -gt 0 ] ; do \
 		${INSTALL_SYMLINK} "$$2" "${DESTDIR}/usr/share/man/$$1"; \
-		${INSTALL_SYMLINK} "$$2" \
-		    "${DESTDIR}/usr/share/openssl/man/$$1"; \
+		if [ "${MK_OPENSSL}" != "no" ]; then \
+			${INSTALL_SYMLINK} "$$2" \
+			    "${DESTDIR}/usr/share/openssl/man/$$1"; \
+		fi; \
 		shift; shift; \
 	done
+.endif
+.if ${MK_NLS} != "no"
 	set - `grep "^[a-zA-Z]" ${.CURDIR}/nls.alias`; \
 	while [ $$# -gt 0 ] ; do \
 		${INSTALL_SYMLINK} "$$2" "${DESTDIR}/usr/share/nls/$$1"; \
 		shift; shift; \
 	done
+.endif
 
 etc-examples:
 	cd ${.CURDIR}; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 \

Modified: projects/clang360-import/etc/rc.d/Makefile
==============================================================================
--- projects/clang360-import/etc/rc.d/Makefile	Thu Feb  5 22:28:00 2015	(r278297)
+++ projects/clang360-import/etc/rc.d/Makefile	Thu Feb  5 22:34:29 2015	(r278298)
@@ -19,7 +19,6 @@ FILES=	DAEMON \
 	auditdistd \
 	bgfsck \
 	${_bluetooth} \
-	bootparams \
 	bridge \
 	${_bthidd} \
 	${_casperd} \
@@ -35,7 +34,6 @@ FILES=	DAEMON \
 	dmesg \
 	dumpon \
 	fsck \
-	ftpd \
 	gbde \
 	geli \
 	geli2 \
@@ -46,7 +44,6 @@ FILES=	DAEMON \
 	hostid \
 	hostid_save \
 	hostname \
-	inetd \
 	ip6addrctl \
 	ipfilter \
 	ipfs \
@@ -72,7 +69,6 @@ FILES=	DAEMON \
 	mdconfig \
 	mdconfig2 \
 	mountd \
-	moused \
 	mroute6d \
 	msgs \
 	natd \
@@ -87,14 +83,11 @@ FILES=	DAEMON \
 	nisdomain \
 	${_nscd} \
 	nsswitch \
-	ntpd \
 	ntpdate \
 	${_opensm} \
-	othermta \
 	pf \
 	pflog \
 	pfsync \
-	powerd \
 	ppp \
 	pppoed \
 	pwcheck \
@@ -124,17 +117,14 @@ FILES=	DAEMON \
 	stf \
 	swap \
 	swaplate \
-	syscons \
 	sysctl \
 	syslogd \
-	timed \
 	tmp \
 	${_ubthidhci} \
 	ugidfw \
 	${_unbound} \
 	${_utx} \
 	var \
-	virecover \
 	watchdogd \
 	ypbind \
 	yppasswdd \
@@ -153,6 +143,10 @@ FILES+=		accounting
 FILES+=		power_profile
 .endif
 
+.if ${MK_ACPI} != "no" || ${MK_APM} != "no"
+FILES+=		powerd
+.endif
+
 .if ${MK_AMD} != "no"
 FILES+=		amd
 .endif
@@ -175,6 +169,10 @@ _hcsecd=	hcsecd
 _ubthidhci=	ubthidhci
 .endif
 
+.if ${MK_BOOTPARAMD} != "no"
+FILES+=		bootparams
+.endif
+
 .if ${MK_BSNMP} != "no"
 FILES+=		bsnmpd
 .endif
@@ -187,10 +185,18 @@ _casperd=	casperd
 FILES+=		ccd
 .endif
 
+.if ${MK_FTP} != "no"
+FILES+=		ftpd
+.endif
+
 .if ${MK_HAST} != "no"
 FILES+=		hastd
 .endif
 
+.if ${MK_INETD} != "no"
+FILES+=		inetd
+.endif
+
 .if ${MK_ISCSI} != "no"
 FILES+=		iscsictl
 FILES+=		iscsid
@@ -200,12 +206,13 @@ FILES+=		iscsid
 FILES+=	jail
 .endif
 
-.if ${MK_LPR} != "no"
-FILES+=		lpd
+.if ${MK_LEGACY_CONSOLE} != "no"
+FILES+=		moused
+FILES+=		syscons
 .endif
 
-.if ${MK_NS_CACHING} != "no"
-_nscd=		nscd
+.if ${MK_LPR} != "no"
+FILES+=		lpd
 .endif
 
 .if ${MK_KERBEROS} != "no"
@@ -217,6 +224,18 @@ _kfd=		kfd
 _kpasswdd=	kpasswdd
 .endif
 
+.if ${MK_MAIL} != "no"
+FILES+=		othermta
+.endif
+
+.if ${MK_NS_CACHING} != "no"
+_nscd=		nscd
+.endif
+
+.if ${MK_NTP} != "no"
+FILES+=		ntpd
+.endif
+
 .if ${MK_OFED} != "no"
 _opensm=	opensm
 .endif
@@ -237,6 +256,18 @@ FILES+=		ftp-proxy
 FILES+=		rwho
 .endif
 
+.if ${MK_ROUTED} != "no"
+FILES+=		routed
+.endif
+
+.if ${MK_SENDMAIL} != "no"
+FILES+=		sendmail
+.endif
+
+.if ${MK_TIMED} != "no"
+FILES+=		timed
+.endif
+
 .if ${MK_UNBOUND} != "no"
 _unbound=	local_unbound
 .endif
@@ -245,6 +276,10 @@ _unbound=	local_unbound
 _utx=		utx
 .endif
 
+.if ${MK_VI} != "no"
+FILES+=		virecover
+.endif
+
 .if ${MK_WIRELESS} != "no"
 FILES+=		hostapd
 FILES+=		wpa_supplicant

Modified: projects/clang360-import/lib/clang/clang.build.mk
==============================================================================
--- projects/clang360-import/lib/clang/clang.build.mk	Thu Feb  5 22:28:00 2015	(r278297)
+++ projects/clang360-import/lib/clang/clang.build.mk	Thu Feb  5 22:34:29 2015	(r278298)
@@ -34,7 +34,8 @@ BUILD_TRIPLE?=	${BUILD_ARCH:C/amd64/x86_
 CFLAGS+=	-DLLVM_DEFAULT_TARGET_TRIPLE=\"${TARGET_TRIPLE}\" \
 		-DLLVM_HOST_TRIPLE=\"${BUILD_TRIPLE}\" \
 		-DDEFAULT_SYSROOT=\"${TOOLS_PREFIX}\"
-CXXFLAGS+=	-std=c++11 -stdlib=libc++ -fno-exceptions -fno-rtti
+CXXFLAGS+=	-std=c++11 -fno-exceptions -fno-rtti
+CXXFLAGS.clang+= -stdlib=libc++
 
 .PATH:	${LLVM_SRCS}/${SRCDIR}
 

Modified: projects/clang360-import/lib/csu/powerpc64/Makefile
==============================================================================
--- projects/clang360-import/lib/csu/powerpc64/Makefile	Thu Feb  5 22:28:00 2015	(r278297)
+++ projects/clang360-import/lib/csu/powerpc64/Makefile	Thu Feb  5 22:34:29 2015	(r278298)
@@ -9,6 +9,9 @@ CFLAGS+=	-I${.CURDIR}/../common \
 		-I${.CURDIR}/../../libc/include \
 		-mlongcall
 
+CC:=		gcc
+COMPILER_TYPE:=	gcc
+
 all: ${OBJS}
 
 CLEANFILES=	${OBJS}

Modified: projects/clang360-import/release/doc/en_US.ISO8859-1/errata/article.xml
==============================================================================
--- projects/clang360-import/release/doc/en_US.ISO8859-1/errata/article.xml	Thu Feb  5 22:28:00 2015	(r278297)
+++ projects/clang360-import/release/doc/en_US.ISO8859-1/errata/article.xml	Thu Feb  5 22:34:29 2015	(r278298)
@@ -4,6 +4,8 @@
 <!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN"
         "http://www.FreeBSD.org/release/XML/release.ent">;
 %release;
+<!ENTITY security SYSTEM "../../share/xml/security.xml">
+<!ENTITY errata SYSTEM "../../share/xml/errata.xml">
 ]>
 
 <article xmlns="http://docbook.org/ns/docbook"
@@ -17,7 +19,7 @@
     <pubdate>$FreeBSD$</pubdate>
 
     <copyright>
-      <year>2014</year>
+      <year>2015</year>
 
       <holder role="mailto:doc@FreeBSD.org">The &os; Documentation Project</holder>
     </copyright>
@@ -76,7 +78,13 @@
   <sect1 xml:id="security">
     <title>Security Advisories</title>
 
-    <para>No advisory.</para>
+    &security;
+  </sect1>
+
+  <sect1 xml:id="errata">
+    <title>Errata Notices</title>
+
+    &errata;
   </sect1>
 
   <sect1 xml:id="open-issues">

Modified: projects/clang360-import/release/doc/en_US.ISO8859-1/relnotes/article.xml
==============================================================================
--- projects/clang360-import/release/doc/en_US.ISO8859-1/relnotes/article.xml	Thu Feb  5 22:28:00 2015	(r278297)
+++ projects/clang360-import/release/doc/en_US.ISO8859-1/relnotes/article.xml	Thu Feb  5 22:34:29 2015	(r278298)
@@ -7,6 +7,8 @@
  %sponsor;
 <!ENTITY % vendor PUBLIC "-//FreeBSD//ENTITIES Vendor Specification//EN" "vendor.ent">
  %vendor;
+<!ENTITY security SYSTEM "../../share/xml/security.xml">
+<!ENTITY errata SYSTEM "../../share/xml/errata.xml">
 ]>
 <article xmlns="http://docbook.org/ns/docbook"
   xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
@@ -138,15 +140,13 @@
     <sect2 xml:id="security">
       <title>Security Advisories</title>
 
-      <para>No advisories.</para>
-
+      &security;
     </sect2>
 
     <sect2 xml:id="errata">
       <title>Errata Notices</title>
 
-      <para>No errata notices.</para>
-
+      &errata;
     </sect2>
   </sect1>
 

Copied: projects/clang360-import/release/doc/share/xml/errata.xml (from r278297, head/release/doc/share/xml/errata.xml)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/clang360-import/release/doc/share/xml/errata.xml	Thu Feb  5 22:34:29 2015	(r278298, copy of r278297, head/release/doc/share/xml/errata.xml)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!--
+     The FreeBSD Documentation Project
+
+     $FreeBSD$
+-->
+<informaltable frame="none" pgwide="1">
+  <tgroup cols="3">
+    <colspec colwidth="40%"/>
+    <colspec colwidth="30%"/>
+    <colspec colwidth="30%"/>
+    <thead>
+      <row>
+	<entry>Errata</entry>
+	<entry>Date</entry>
+	<entry>Topic</entry>
+      </row>
+    </thead>
+
+    <tbody>
+      <row>
+	<entry><para>No errata notices.</para></entry>
+	<entry><para>&nbsp;</para></entry>
+	<entry><para>&nbsp;</para></entry>
+      </row>
+    </tbody>
+  </tgroup>
+</informaltable>

Modified: projects/clang360-import/release/doc/share/xml/release.ent
==============================================================================
--- projects/clang360-import/release/doc/share/xml/release.ent	Thu Feb  5 22:28:00 2015	(r278297)
+++ projects/clang360-import/release/doc/share/xml/release.ent	Thu Feb  5 22:34:29 2015	(r278298)
@@ -16,7 +16,7 @@
 <!-- The previous stable release, useful for pointing user's at the
      release they SHOULD be running if they don't want the bleeding
      edge. -->
-<!ENTITY release.prev.stable "9.2-RELEASE">
+<!ENTITY release.prev.stable "9.3-RELEASE">
 
 <!-- The next version to be released, usually used for snapshots. -->
 <!ENTITY release.next "11.0-RELEASE">
@@ -25,7 +25,10 @@
 <!ENTITY release.branch "11-CURRENT">
 
 <!-- The URL for obtaining this version of FreeBSD. -->
-<!ENTITY release.url "http://www.FreeBSD.org/snapshots/">;
+<!ENTITY release.url "https://www.FreeBSD.org/snapshots/">;
+
+<!-- The URL for Security Advisories and Errata Notices. -->
+<!ENTITY security.url "https://www.FreeBSD.org/security/advisories">;
 
 <!-- The recommended mailing list to track. -->
 <!ENTITY release.maillist "current">
@@ -51,7 +54,7 @@
 <!ENTITY release ''>
 
 <!-- The manpaths for man page references -->
-<!ENTITY release.man.url "http://www.FreeBSD.org/cgi/man.cgi">;
+<!ENTITY release.man.url "https://www.FreeBSD.org/cgi/man.cgi">;
 <!ENTITY release.manpath.xorg          "7.5.1">
 <!ENTITY release.manpath.netbsd        "5.1">
 <!ENTITY release.manpath.freebsd-ports "Ports">

Copied: projects/clang360-import/release/doc/share/xml/security.xml (from r278297, head/release/doc/share/xml/security.xml)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/clang360-import/release/doc/share/xml/security.xml	Thu Feb  5 22:34:29 2015	(r278298, copy of r278297, head/release/doc/share/xml/security.xml)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!--
+     The FreeBSD Documentation Project
+
+     $FreeBSD$
+-->
+<informaltable frame="none" pgwide="1">
+  <tgroup cols="3">
+    <colspec colwidth="40%"/>
+    <colspec colwidth="30%"/>
+    <colspec colwidth="30%"/>
+    <thead>
+      <row>
+	<entry>Advisory</entry>
+	<entry>Date</entry>
+	<entry>Topic</entry>
+      </row>
+    </thead>
+
+    <tbody>
+      <row>
+	<entry><para>No advisories.</para></entry>
+	<entry><para>&nbsp;</para></entry>
+	<entry><para>&nbsp;</para></entry>
+      </row>
+    </tbody>
+  </tgroup>
+</informaltable>

Modified: projects/clang360-import/sbin/ipfw/ipfw2.c
==============================================================================
--- projects/clang360-import/sbin/ipfw/ipfw2.c	Thu Feb  5 22:28:00 2015	(r278297)
+++ projects/clang360-import/sbin/ipfw/ipfw2.c	Thu Feb  5 22:34:29 2015	(r278298)
@@ -61,6 +61,7 @@ struct format_opts {
 	int bcwidth;
 	int pcwidth;
 	int show_counters;
+	int show_time;		/* show timestamp */
 	uint32_t set_mask;	/* enabled sets mask */
 	uint32_t flags;		/* request flags */
 	uint32_t first;		/* first rule to request */
@@ -2402,7 +2403,7 @@ list_static_range(struct cmdline_opts *c
 	for (n = seen = 0; n < rcnt; n++,
 	    rtlv = (ipfw_obj_tlv *)((caddr_t)rtlv + rtlv->length)) {
 
-		if (fo->show_counters != 0) {
+		if ((fo->show_counters | fo->show_time) != 0) {
 			cntr = (struct ip_fw_bcounter *)(rtlv + 1);
 			r = (struct ip_fw_rule *)((caddr_t)cntr + cntr->size);
 		} else {
@@ -2504,10 +2505,11 @@ ipfw_list(int ac, char *av[], int show_c
 	/* get configuraion from kernel */
 	cfg = NULL;
 	sfo.show_counters = show_counters;
+	sfo.show_time = co.do_time;
 	sfo.flags = IPFW_CFG_GET_STATIC;
 	if (co.do_dynamic != 0)
 		sfo.flags |= IPFW_CFG_GET_STATES;
-	if (sfo.show_counters != 0)
+	if ((sfo.show_counters | sfo.show_time) != 0)
 		sfo.flags |= IPFW_CFG_GET_COUNTERS;
 	if (ipfw_get_config(&co, &sfo, &cfg, &sz) != 0)
 		err(EX_OSERR, "retrieving config failed");

Modified: projects/clang360-import/sys/arm/broadcom/bcm2835/files.bcm2835
==============================================================================
--- projects/clang360-import/sys/arm/broadcom/bcm2835/files.bcm2835	Thu Feb  5 22:28:00 2015	(r278297)
+++ projects/clang360-import/sys/arm/broadcom/bcm2835/files.bcm2835	Thu Feb  5 22:34:29 2015	(r278298)
@@ -27,3 +27,23 @@ kern/kern_clocksource.c                 
 
 dev/mbox/mbox_if.m				standard
 dev/ofw/ofw_cpu.c				standard
+
+# VideoCore driver
+contrib/vchiq/interface/compat/vchi_bsd.c	standard \
+	compile-with "${NORMAL_C} -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"
+contrib/vchiq/interface/vchiq_arm/vchiq_2835_arm.c	standard \
+	compile-with "${NORMAL_C} -Wno-unused -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"
+contrib/vchiq/interface/vchiq_arm/vchiq_arm.c	standard \
+	compile-with "${NORMAL_C} -Wno-unused -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"
+contrib/vchiq/interface/vchiq_arm/vchiq_connected.c	standard \
+	compile-with "${NORMAL_C} -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"
+contrib/vchiq/interface/vchiq_arm/vchiq_core.c	standard \
+	compile-with "${NORMAL_C} -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"
+contrib/vchiq/interface/vchiq_arm/vchiq_kern_lib.c	standard \
+	compile-with "${NORMAL_C} -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"
+contrib/vchiq/interface/vchiq_arm/vchiq_kmod.c	standard \
+	compile-with "${NORMAL_C} -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"
+contrib/vchiq/interface/vchiq_arm/vchiq_shim.c	standard \
+	compile-with "${NORMAL_C} -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"
+contrib/vchiq/interface/vchiq_arm/vchiq_util.c	standard \
+	compile-with "${NORMAL_C} -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"

Modified: projects/clang360-import/sys/boot/amd64/efi/main.c
==============================================================================
--- projects/clang360-import/sys/boot/amd64/efi/main.c	Thu Feb  5 22:28:00 2015	(r278297)
+++ projects/clang360-import/sys/boot/amd64/efi/main.c	Thu Feb  5 22:34:29 2015	(r278298)
@@ -53,6 +53,10 @@ EFI_GUID imgid = LOADED_IMAGE_PROTOCOL;
 EFI_GUID mps = MPS_TABLE_GUID;
 EFI_GUID netid = EFI_SIMPLE_NETWORK_PROTOCOL;
 EFI_GUID smbios = SMBIOS_TABLE_GUID;
+EFI_GUID dxe = DXE_SERVICES_TABLE_GUID;
+EFI_GUID hoblist = HOB_LIST_TABLE_GUID;
+EFI_GUID memtype = MEMORY_TYPE_INFORMATION_TABLE_GUID;
+EFI_GUID debugimg = DEBUG_IMAGE_INFO_TABLE_GUID;
 
 EFI_STATUS
 main(int argc, CHAR16 *argv[])
@@ -264,6 +268,14 @@ command_configuration(int argc, char *ar
 			printf("ACPI 2.0 Table");
 		else if (!memcmp(guid, &smbios, sizeof(EFI_GUID)))
 			printf("SMBIOS Table");
+		else if (!memcmp(guid, &dxe, sizeof(EFI_GUID)))
+			printf("DXE Table");
+		else if (!memcmp(guid, &hoblist, sizeof(EFI_GUID)))
+			printf("HOB List Table");
+		else if (!memcmp(guid, &memtype, sizeof(EFI_GUID)))
+			printf("Memory Type Information Table");
+		else if (!memcmp(guid, &debugimg, sizeof(EFI_GUID)))
+			printf("Debug Image Info Table");
 		else
 			printf("Unknown Table (%s)", guid_to_string(guid));
 		printf(" at %p\n", ST->ConfigurationTable[i].VendorTable);
@@ -319,7 +331,7 @@ command_mode(int argc, char *argv[])
 	}
 
 	if (i != 0)
-		printf("Choose the mode with \"col <mode number>\"\n");	
+		printf("Choose the mode with \"col <mode number>\"\n");
 
 	return (CMD_OK);
 }

Modified: projects/clang360-import/sys/boot/efi/include/efiapi.h
==============================================================================
--- projects/clang360-import/sys/boot/efi/include/efiapi.h	Thu Feb  5 22:28:00 2015	(r278297)
+++ projects/clang360-import/sys/boot/efi/include/efiapi.h	Thu Feb  5 22:34:29 2015	(r278298)
@@ -88,7 +88,7 @@ EFI_STATUS
     IN VOID                         *Buffer
     );
 
-typedef 
+typedef
 EFI_STATUS
 (EFIAPI *EFI_SET_VIRTUAL_ADDRESS_MAP) (
     IN UINTN                        MemoryMapSize,
@@ -103,7 +103,7 @@ EFI_STATUS
 #define EFI_INTERNAL_PTR            0x00000004      // Pointer to internal runtime data
 
 
-typedef 
+typedef
 EFI_STATUS
 (EFIAPI *EFI_CONVERT_POINTER) (
     IN UINTN                        DebugDisposition,
@@ -168,7 +168,7 @@ EFI_STATUS
     IN EFI_EVENT                Event
     );
 
-typedef 
+typedef
 EFI_STATUS
 (EFIAPI *EFI_WAIT_FOR_EVENT) (
     IN UINTN                    NumberOfEvents,
@@ -194,8 +194,8 @@ EFI_STATUS
 
 #define TPL_APPLICATION    4
 #define TPL_CALLBACK       8
-#define TPL_NOTIFY        16 
-#define TPL_HIGH_LEVEL    31 
+#define TPL_NOTIFY        16
+#define TPL_HIGH_LEVEL    31
 
 typedef
 EFI_TPL
@@ -320,14 +320,14 @@ EFI_STATUS
 
 // Image Entry prototype
 
-typedef 
+typedef
 EFI_STATUS
 (EFIAPI *EFI_IMAGE_ENTRY_POINT) (
     IN EFI_HANDLE                   ImageHandle,
     IN struct _EFI_SYSTEM_TABLE     *SystemTable
     );
 
-typedef 
+typedef
 EFI_STATUS
 (EFIAPI *EFI_IMAGE_LOAD) (
     IN BOOLEAN                      BootPolicy,
@@ -338,7 +338,7 @@ EFI_STATUS
     OUT EFI_HANDLE                  *ImageHandle
     );
 
-typedef 
+typedef
 EFI_STATUS
 (EFIAPI *EFI_IMAGE_START) (
     IN EFI_HANDLE                   ImageHandle,
@@ -355,7 +355,7 @@ EFI_STATUS
     IN CHAR16                       *ExitData OPTIONAL
     );
 
-typedef 
+typedef
 EFI_STATUS
 (EFIAPI *EFI_IMAGE_UNLOAD) (
     IN EFI_HANDLE                   ImageHandle
@@ -491,7 +491,7 @@ EFI_STATUS
     );
 
 typedef
-EFI_STATUS 
+EFI_STATUS
 (EFIAPI *EFI_REGISTER_PROTOCOL_NOTIFY) (
     IN EFI_GUID                 *Protocol,
     IN EFI_EVENT                Event,
@@ -535,7 +535,7 @@ EFI_STATUS
     );
 
 typedef
-EFI_STATUS 
+EFI_STATUS
 (EFIAPI *EFI_CONNECT_CONTROLLER) (
   IN  EFI_HANDLE                    ControllerHandle,
   IN  EFI_HANDLE                    *DriverImageHandle    OPTIONAL,
@@ -544,19 +544,19 @@ EFI_STATUS 
   );
 
 typedef
-EFI_STATUS 
+EFI_STATUS
 (EFIAPI *EFI_DISCONNECT_CONTROLLER)(
   IN EFI_HANDLE           ControllerHandle,
   IN EFI_HANDLE           DriverImageHandle, OPTIONAL
   IN EFI_HANDLE           ChildHandle        OPTIONAL
-  );    
+  );
 
-#define EFI_OPEN_PROTOCOL_BY_HANDLE_PROTOCOL	 0x00000001  
-#define EFI_OPEN_PROTOCOL_GET_PROTOCOL	       0x00000002  
-#define EFI_OPEN_PROTOCOL_TEST_PROTOCOL        0x00000004  
-#define EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER  0x00000008  
-#define EFI_OPEN_PROTOCOL_BY_DRIVER            0x00000010  
-#define EFI_OPEN_PROTOCOL_EXCLUSIVE            0x00000020  
+#define EFI_OPEN_PROTOCOL_BY_HANDLE_PROTOCOL	 0x00000001
+#define EFI_OPEN_PROTOCOL_GET_PROTOCOL	       0x00000002
+#define EFI_OPEN_PROTOCOL_TEST_PROTOCOL        0x00000004
+#define EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER  0x00000008
+#define EFI_OPEN_PROTOCOL_BY_DRIVER            0x00000010
+#define EFI_OPEN_PROTOCOL_EXCLUSIVE            0x00000020
 
 typedef
 EFI_STATUS
@@ -804,7 +804,7 @@ typedef struct {
   //
   EFI_PROTOCOLS_PER_HANDLE        ProtocolsPerHandle;
   EFI_LOCATE_HANDLE_BUFFER        LocateHandleBuffer;
-  EFI_LOCATE_PROTOCOL             LocateProtocol;    
+  EFI_LOCATE_PROTOCOL             LocateProtocol;
 
   EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES    InstallMultipleProtocolInterfaces;
   EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES  UninstallMultipleProtocolInterfaces;
@@ -845,6 +845,18 @@ typedef struct {
 #define FDT_TABLE_GUID    \
   { 0xb1b621d5, 0xf19c, 0x41a5, 0x83, 0x0b, 0xd9, 0x15, 0x2c, 0x69, 0xaa, 0xe0 }
 
+#define DXE_SERVICES_TABLE_GUID	\
+  { 0x5ad34ba, 0x6f02, 0x4214, 0x95, 0x2e, 0x4d, 0xa0, 0x39, 0x8e, 0x2b, 0xb9 }
+
+#define	HOB_LIST_TABLE_GUID	\
+  { 0x7739f24c, 0x93d7, 0x11d4, 0x9a, 0x3a, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d }
+
+#define MEMORY_TYPE_INFORMATION_TABLE_GUID \
+  { 0x4c19049f, 0x4137, 0x4dd3, 0x9c, 0x10, 0x8b, 0x97, 0xa8, 0x3f, 0xfd, 0xfa }
+
+#define DEBUG_IMAGE_INFO_TABLE_GUID \
+  { 0x49152e77, 0x1ada, 0x4764, 0xb7, 0xa2, 0x7a, 0xfe, 0xfe, 0xd9, 0x5e, 0x8b }
+
 typedef struct _EFI_CONFIGURATION_TABLE {
   EFI_GUID                VendorGuid;
   VOID                    *VendorTable;

Modified: projects/clang360-import/sys/cam/cam_ccb.h
==============================================================================
--- projects/clang360-import/sys/cam/cam_ccb.h	Thu Feb  5 22:28:00 2015	(r278297)
+++ projects/clang360-import/sys/cam/cam_ccb.h	Thu Feb  5 22:34:29 2015	(r278298)
@@ -1147,6 +1147,7 @@ struct ccb_dev_advinfo {
 #define	CDAI_TYPE_SERIAL_NUM	2
 #define	CDAI_TYPE_PHYS_PATH	3
 #define	CDAI_TYPE_RCAPLONG	4
+#define	CDAI_TYPE_EXT_INQ	5
 	off_t bufsiz;			/* IN: Size of external buffer */
 #define	CAM_SCSI_DEVID_MAXLEN	65536	/* length in buffer is an uint16_t */
 	off_t provsiz;			/* OUT: Size required/used */

Modified: projects/clang360-import/sys/cam/cam_xpt.c
==============================================================================
--- projects/clang360-import/sys/cam/cam_xpt.c	Thu Feb  5 22:28:00 2015	(r278297)
+++ projects/clang360-import/sys/cam/cam_xpt.c	Thu Feb  5 22:34:29 2015	(r278298)
@@ -4795,6 +4795,7 @@ xpt_release_device(struct cam_ed *device
 	 */
 	free(device->supported_vpds, M_CAMXPT);
 	free(device->device_id, M_CAMXPT);
+	free(device->ext_inq, M_CAMXPT);
 	free(device->physpath, M_CAMXPT);
 	free(device->rcap_buf, M_CAMXPT);
 	free(device->serial_num, M_CAMXPT);

Modified: projects/clang360-import/sys/cam/cam_xpt_internal.h
==============================================================================
--- projects/clang360-import/sys/cam/cam_xpt_internal.h	Thu Feb  5 22:28:00 2015	(r278297)
+++ projects/clang360-import/sys/cam/cam_xpt_internal.h	Thu Feb  5 22:34:29 2015	(r278298)
@@ -83,6 +83,8 @@ struct cam_ed {
 	uint8_t		 supported_vpds_len;
 	uint32_t	 device_id_len;
 	uint8_t		 *device_id;
+	uint32_t	 ext_inq_len;
+	uint8_t		 *ext_inq;
 	uint8_t		 physpath_len;
 	uint8_t		 *physpath;	/* physical path string form */
 	uint32_t	 rcap_len;

Modified: projects/clang360-import/sys/cam/scsi/scsi_xpt.c
==============================================================================
--- projects/clang360-import/sys/cam/scsi/scsi_xpt.c	Thu Feb  5 22:28:00 2015	(r278297)
+++ projects/clang360-import/sys/cam/scsi/scsi_xpt.c	Thu Feb  5 22:34:29 2015	(r278298)
@@ -139,6 +139,7 @@ typedef enum {
 	PROBE_MODE_SENSE,
 	PROBE_SUPPORTED_VPD_LIST,
 	PROBE_DEVICE_ID,
+	PROBE_EXTENDED_INQUIRY,
 	PROBE_SERIAL_NUM,
 	PROBE_TUR_FOR_NEGOTIATION,
 	PROBE_INQUIRY_BASIC_DV1,
@@ -156,6 +157,7 @@ static char *probe_action_text[] = {
 	"PROBE_MODE_SENSE",
 	"PROBE_SUPPORTED_VPD_LIST",
 	"PROBE_DEVICE_ID",
+	"PROBE_EXTENDED_INQUIRY",
 	"PROBE_SERIAL_NUM",
 	"PROBE_TUR_FOR_NEGOTIATION",
 	"PROBE_INQUIRY_BASIC_DV1",
@@ -923,6 +925,34 @@ done:
 		}
 		goto done;
 	}
+	case PROBE_EXTENDED_INQUIRY:
+	{
+		struct scsi_vpd_extended_inquiry_data *ext_inq;
+
+		ext_inq = NULL;
+		if (scsi_vpd_supported_page(periph, SVPD_EXTENDED_INQUIRY_DATA))
+			ext_inq = malloc(sizeof(*ext_inq), M_CAMXPT,
+			    M_NOWAIT | M_ZERO);
+
+		if (ext_inq != NULL) {
+			scsi_inquiry(csio,
+				     /*retries*/4,
+				     probedone,
+				     MSG_SIMPLE_Q_TAG,
+				     (uint8_t *)ext_inq,
+				     sizeof(*ext_inq),
+				     /*evpd*/TRUE,
+				     SVPD_EXTENDED_INQUIRY_DATA,
+				     SSD_MIN_SIZE,
+				     /*timeout*/60 * 1000);
+			break;
+		}
+		/*
+		 * We'll have to do without, let our probedone
+		 * routine finish up for us.
+		 */
+		goto done;
+	}
 	case PROBE_SERIAL_NUM:
 	{
 		struct scsi_vpd_unit_serial_number *serial_buf;
@@ -1454,6 +1484,50 @@ out:
 		if (devid && length == 0)
 			free(devid, M_CAMXPT);
 		xpt_release_ccb(done_ccb);
+		PROBE_SET_ACTION(softc, PROBE_EXTENDED_INQUIRY);
+		xpt_schedule(periph, priority);
+		goto out;
+	}
+	case PROBE_EXTENDED_INQUIRY: {
+		struct scsi_vpd_extended_inquiry_data *ext_inq;
+		struct ccb_scsiio *csio;
+		int32_t length = 0;
+
+		csio = &done_ccb->csio;
+		ext_inq = (struct scsi_vpd_extended_inquiry_data *)
+		    csio->data_ptr;
+		if (path->device->ext_inq != NULL) {
+			path->device->ext_inq_len = 0;
+			free(path->device->ext_inq, M_CAMXPT);
+			path->device->ext_inq = NULL;
+		}
+
+		if (ext_inq == NULL) {
+			/* Don't process the command as it was never sent */
+		} else if (CCB_COMPLETED_OK(csio->ccb_h)) {
+			length = scsi_2btoul(ext_inq->page_length) +
+			    __offsetof(struct scsi_vpd_extended_inquiry_data,
+			    flags1);
+			length = min(length, sizeof(*ext_inq));
+			length -= csio->resid;
+			if (length > 0) {
+				path->device->ext_inq_len = length;
+				path->device->ext_inq = (uint8_t *)ext_inq;
+			}
+		} else if (cam_periph_error(done_ccb, 0,
+					    SF_RETRY_UA,
+					    &softc->saved_ccb) == ERESTART) {
+			return;
+		} else if ((done_ccb->ccb_h.status & CAM_DEV_QFRZN) != 0) {
+			/* Don't wedge the queue */
+			xpt_release_devq(done_ccb->ccb_h.path, /*count*/1,
+					 /*run_queue*/TRUE);
+		}
+
+		/* Free the device id space if we don't use it */
+		if (ext_inq && length <= 0)
+			free(ext_inq, M_CAMXPT);
+		xpt_release_ccb(done_ccb);
 		PROBE_SET_ACTION(softc, PROBE_SERIAL_NUM);
 		xpt_schedule(periph, priority);
 		goto out;
@@ -2477,6 +2551,21 @@ scsi_dev_advinfo(union ccb *start_ccb)
 			memcpy(cdai->buf, device->rcap_buf, amt);
 		}
 		break;
+	case CDAI_TYPE_EXT_INQ:
+		/*
+		 * We fetch extended inquiry data during probe, if
+		 * available.  We don't allow changing it.
+		 */
+		if (cdai->flags & CDAI_FLAG_STORE) 
+			return;
+		cdai->provsiz = device->ext_inq_len;
+		if (device->ext_inq_len == 0)
+			break;
+		amt = device->ext_inq_len;
+		if (cdai->provsiz > cdai->bufsiz)
+			amt = cdai->bufsiz;
+		memcpy(cdai->buf, device->ext_inq, amt);
+		break;
 	default:
 		return;
 	}

Modified: projects/clang360-import/sys/conf/kern.mk
==============================================================================
--- projects/clang360-import/sys/conf/kern.mk	Thu Feb  5 22:28:00 2015	(r278297)
+++ projects/clang360-import/sys/conf/kern.mk	Thu Feb  5 22:34:29 2015	(r278298)
@@ -160,6 +160,14 @@ INLINE_LIMIT?=	8000
 CFLAGS+=	-ffreestanding
 
 #
+# The C standard leaves signed integer overflow behavior undefined.
+# gcc and clang opimizers take advantage of this.  The kernel makes
+# use of signed integer wraparound mechanics so we need the compiler
+# to treat it as a wraparound and not take shortcuts.
+# 
+CFLAGS+=	-fwrapv
+
+#
 # GCC SSP support
 #
 .if ${MK_SSP} != "no" && \

Modified: projects/clang360-import/sys/conf/kern.pre.mk
==============================================================================
--- projects/clang360-import/sys/conf/kern.pre.mk	Thu Feb  5 22:28:00 2015	(r278297)
+++ projects/clang360-import/sys/conf/kern.pre.mk	Thu Feb  5 22:34:29 2015	(r278298)
@@ -79,6 +79,9 @@ INCLUDES+= -I$S/dev/ath -I$S/dev/ath/ath
 # ... and the same for the NgATM stuff
 INCLUDES+= -I$S/contrib/ngatm
 
+# ... and the same for vchiq
+INCLUDES+= -I$S/contrib/vchiq
+
 # ... and the same for twa
 INCLUDES+= -I$S/dev/twa
 

Modified: projects/clang360-import/sys/conf/options
==============================================================================
--- projects/clang360-import/sys/conf/options	Thu Feb  5 22:28:00 2015	(r278297)
+++ projects/clang360-import/sys/conf/options	Thu Feb  5 22:34:29 2015	(r278298)
@@ -129,6 +129,7 @@ GEOM_SHSEC	opt_geom.h
 GEOM_STRIPE	opt_geom.h
 GEOM_SUNLABEL	opt_geom.h
 GEOM_UNCOMPRESS	opt_geom.h
+GEOM_UNCOMPRESS_DEBUG	opt_geom.h
 GEOM_UZIP	opt_geom.h
 GEOM_VINUM	opt_geom.h
 GEOM_VIRSTOR	opt_geom.h
@@ -209,7 +210,7 @@ SW_WATCHDOG	opt_watchdog.h
 TURNSTILE_PROFILING
 UMTX_PROFILING
 VFS_AIO
-VERBOSE_SYSINIT	opt_global.h
+VERBOSE_SYSINIT
 WLCACHE		opt_wavelan.h
 WLDEBUG		opt_wavelan.h
 

Modified: projects/clang360-import/sys/dev/cxgbe/offload.h
==============================================================================
--- projects/clang360-import/sys/dev/cxgbe/offload.h	Thu Feb  5 22:28:00 2015	(r278297)
+++ projects/clang360-import/sys/dev/cxgbe/offload.h	Thu Feb  5 22:34:29 2015	(r278298)
@@ -129,6 +129,7 @@ struct t4_virt_res {                    
 enum {
 	ULD_TOM = 1,
 	ULD_IWARP = 2,
+	ULD_ISCSI = 3,
 };
 
 struct adapter;

Modified: projects/clang360-import/sys/dev/iscsi/icl.h
==============================================================================
--- projects/clang360-import/sys/dev/iscsi/icl.h	Thu Feb  5 22:28:00 2015	(r278297)
+++ projects/clang360-import/sys/dev/iscsi/icl.h	Thu Feb  5 22:34:29 2015	(r278298)
@@ -113,6 +113,7 @@ struct icl_conn {
 	bool			ic_disconnecting;
 	bool			ic_iser;
 	const char		*ic_name;
+	const char		*ic_offload;
 
 	void			(*ic_receive)(struct icl_pdu *);
 	void			(*ic_error)(struct icl_conn *);

Modified: projects/clang360-import/sys/dev/iscsi/icl_soft.c
==============================================================================
--- projects/clang360-import/sys/dev/iscsi/icl_soft.c	Thu Feb  5 22:28:00 2015	(r278297)
+++ projects/clang360-import/sys/dev/iscsi/icl_soft.c	Thu Feb  5 22:34:29 2015	(r278298)
@@ -1185,6 +1185,7 @@ icl_soft_new_conn(const char *name, stru
 #endif
 	ic->ic_max_data_segment_length = ICL_MAX_DATA_SEGMENT_LENGTH;
 	ic->ic_name = name;
+	ic->ic_offload = "none";
 
 	return (ic);
 }

Modified: projects/clang360-import/sys/dev/iscsi/iscsi.c
==============================================================================
--- projects/clang360-import/sys/dev/iscsi/iscsi.c	Thu Feb  5 22:28:00 2015	(r278297)
+++ projects/clang360-import/sys/dev/iscsi/iscsi.c	Thu Feb  5 22:34:29 2015	(r278298)
@@ -421,6 +421,7 @@ iscsi_maintenance_thread_terminate(struc
 	sx_xunlock(&sc->sc_lock);
 
 	icl_conn_close(is->is_conn);
+	callout_drain(&is->is_callout);
 
 	ISCSI_SESSION_LOCK(is);
 
@@ -434,8 +435,6 @@ iscsi_maintenance_thread_terminate(struc
 	cv_signal(&is->is_login_cv);
 #endif
 
-	callout_drain(&is->is_callout);
-
 	iscsi_session_cleanup(is, true);
 
 	KASSERT(TAILQ_EMPTY(&is->is_outstanding),
@@ -511,6 +510,7 @@ iscsi_session_reconnect(struct iscsi_ses
 static void
 iscsi_session_terminate(struct iscsi_session *is)
 {
+
 	if (is->is_terminating)
 		return;
 
@@ -532,12 +532,14 @@ iscsi_callout(void *context)
 
 	is = context;
 
-	if (is->is_terminating)
+	ISCSI_SESSION_LOCK(is);
+	if (is->is_terminating) {
+		ISCSI_SESSION_UNLOCK(is);
 		return;
+	}
 
 	callout_schedule(&is->is_callout, 1 * hz);
 
-	ISCSI_SESSION_LOCK(is);
 	is->is_timeout++;
 
 	if (is->is_waiting_for_iscsid) {
@@ -1306,6 +1308,16 @@ iscsi_ioctl_daemon_wait(struct iscsi_sof
 		request->idr_tsih = 0;	/* New or reinstated session. */
 		memcpy(&request->idr_conf, &is->is_conf,
 		    sizeof(request->idr_conf));
+		
+		error = icl_limits(is->is_conf.isc_offload,
+		    &request->idr_limits.isl_max_data_segment_length);
+		if (error != 0) {
+			ISCSI_SESSION_WARN(is, "icl_limits for offload \"%s\" "
+			    "failed with error %d", is->is_conf.isc_offload,
+			    error);
+			sx_sunlock(&sc->sc_lock);
+			return (error);
+		}
 
 		sx_sunlock(&sc->sc_lock);
 		return (0);
@@ -1731,7 +1743,13 @@ iscsi_ioctl_session_add(struct iscsi_sof
 		return (EBUSY);
 	}
 
-	is->is_conn = icl_new_conn(NULL, "iscsi", &is->is_lock);
+	is->is_conn = icl_new_conn(is->is_conf.isc_offload,
+	    "iscsi", &is->is_lock);
+	if (is->is_conn == NULL) {
+		sx_xunlock(&sc->sc_lock);
+		free(is, M_ISCSI);
+		return (EINVAL);
+	}
 	is->is_conn->ic_receive = iscsi_receive_callback;
 	is->is_conn->ic_error = iscsi_error_callback;
 	is->is_conn->ic_prv0 = is;
@@ -1750,15 +1768,17 @@ iscsi_ioctl_session_add(struct iscsi_sof
 	arc4rand(&is->is_isid[1], 5, 0);
 	is->is_tsih = 0;
 	callout_init(&is->is_callout, 1);
-	callout_reset(&is->is_callout, 1 * hz, iscsi_callout, is);

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201502052234.t15MYUTM091807>