From owner-svn-src-all@FreeBSD.ORG  Sun Nov 10 02:43:10 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 44DC916C;
 Sun, 10 Nov 2013 02:43:10 +0000 (UTC)
 (envelope-from hiren@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 2CA4420E7;
 Sun, 10 Nov 2013 02:43:10 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAA2h9PY054905;
 Sun, 10 Nov 2013 02:43:09 GMT (envelope-from hiren@svn.freebsd.org)
Received: (from hiren@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAA2h9G5054904;
 Sun, 10 Nov 2013 02:43:09 GMT (envelope-from hiren@svn.freebsd.org)
Message-Id: <201311100243.rAA2h9G5054904@svn.freebsd.org>
From: Hiren Panchasara <hiren@FreeBSD.org>
Date: Sun, 10 Nov 2013 02:43:09 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257906 - head/tools/tools/netmap
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 10 Nov 2013 02:43:10 -0000

Author: hiren
Date: Sun Nov 10 02:43:09 2013
New Revision: 257906
URL: http://svnweb.freebsd.org/changeset/base/257906

Log:
  Minor spelling correction.

Modified:
  head/tools/tools/netmap/pkt-gen.c

Modified: head/tools/tools/netmap/pkt-gen.c
==============================================================================
--- head/tools/tools/netmap/pkt-gen.c	Sat Nov  9 23:27:37 2013	(r257905)
+++ head/tools/tools/netmap/pkt-gen.c	Sun Nov 10 02:43:09 2013	(r257906)
@@ -277,11 +277,11 @@ system_ncpus(void)
 /*
  * parse the vale configuration in conf and put it in nmr.
  * The configuration may consist of 0 to 4 numbers separated
- * by commas: #tx-slots,#rx-slots,#tx-rinzgs,#rx-rings.
+ * by commas: #tx-slots,#rx-slots,#tx-rings,#rx-rings.
  * Missing numbers or zeroes stand for default values.
  * As an additional convenience, if exactly one number
- * is specified, then this is assigned to bot #tx-slots and #rx-slots.
- * If there is no 4th number, then the 3rd is assigned to bot #tx-rings 
+ * is specified, then this is assigned to both #tx-slots and #rx-slots.
+ * If there is no 4th number, then the 3rd is assigned to both #tx-rings
  * and #rx-rings.
  */
 void parse_nmr_config(const char* conf, struct nmreq *nmr)

From owner-svn-src-all@FreeBSD.ORG  Sun Nov 10 03:28:37 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 47D60AB7;
 Sun, 10 Nov 2013 03:28:37 +0000 (UTC)
 (envelope-from eadler@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 36073232F;
 Sun, 10 Nov 2013 03:28:37 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAA3Sa57070254;
 Sun, 10 Nov 2013 03:28:36 GMT (envelope-from eadler@svn.freebsd.org)
Received: (from eadler@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAA3SanM070253;
 Sun, 10 Nov 2013 03:28:36 GMT (envelope-from eadler@svn.freebsd.org)
Message-Id: <201311100328.rAA3SanM070253@svn.freebsd.org>
From: Eitan Adler <eadler@FreeBSD.org>
Date: Sun, 10 Nov 2013 03:28:36 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257908 - head/share/dict
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 10 Nov 2013 03:28:37 -0000

Author: eadler
Date: Sun Nov 10 03:28:36 2013
New Revision: 257908
URL: http://svnweb.freebsd.org/changeset/base/257908

Log:
  Remove dead link

Modified:
  head/share/dict/README

Modified: head/share/dict/README
==============================================================================
--- head/share/dict/README	Sun Nov 10 02:49:20 2013	(r257907)
+++ head/share/dict/README	Sun Nov 10 03:28:36 2013	(r257908)
@@ -10,12 +10,6 @@ noun and adverbial phrases.  The wordlis
 
      -- James A. Woods    {ihnp4,hplabs}!ames!jaw    (or jaw@riacs)
 
-Dictionaries for other languages, e.g. Afrikaans, American, Aussie,
-Chinese, Croatian, Czech, Danish, Dutch, Esperanto, Finnish, French,
-German, Hindi, Hungarian, Italian, Japanese, Latin, Norwegian, Polish,
-Russian, Spanish, Swahili, Swedish, Yiddish, are available
-at ftp://ftp.ox.ac.uk/pub/wordlists.
-
 Country names are stored in the file /usr/share/misc/iso3166.
 
 

From owner-svn-src-all@FreeBSD.ORG  Sun Nov 10 04:06:47 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 188A2DEE;
 Sun, 10 Nov 2013 04:06:47 +0000 (UTC)
 (envelope-from eadler@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 051DB2480;
 Sun, 10 Nov 2013 04:06:47 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAA46k9h083160;
 Sun, 10 Nov 2013 04:06:46 GMT (envelope-from eadler@svn.freebsd.org)
Received: (from eadler@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAA46k9p083159;
 Sun, 10 Nov 2013 04:06:46 GMT (envelope-from eadler@svn.freebsd.org)
Message-Id: <201311100406.rAA46k9p083159@svn.freebsd.org>
From: Eitan Adler <eadler@FreeBSD.org>
Date: Sun, 10 Nov 2013 04:06:46 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257909 - head/lib/libc/string
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 10 Nov 2013 04:06:47 -0000

Author: eadler
Date: Sun Nov 10 04:06:46 2013
New Revision: 257909
URL: http://svnweb.freebsd.org/changeset/base/257909

Log:
  Fix typo: site_t -> size_t
  
  Obtained From:	DragonflyBSD (1ac92c8c857a15dc010924c5f066da404e568640)

Modified:
  head/lib/libc/string/strcasecmp.3

Modified: head/lib/libc/string/strcasecmp.3
==============================================================================
--- head/lib/libc/string/strcasecmp.3	Sun Nov 10 03:28:36 2013	(r257908)
+++ head/lib/libc/string/strcasecmp.3	Sun Nov 10 04:06:46 2013	(r257909)
@@ -50,7 +50,7 @@
 .Ft int
 .Fn strcasecmp_l "const char *s1" "const char *s2" "locale_t loc"
 .Ft int
-.Fn strncasecmp_l "const char *s1" "const char *s2" "site_t len" "locale_t loc"
+.Fn strncasecmp_l "const char *s1" "const char *s2" "size_t len" "locale_t loc"
 .Sh DESCRIPTION
 The
 .Fn strcasecmp

From owner-svn-src-all@FreeBSD.ORG  Sun Nov 10 04:22:40 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id B01DBFAC;
 Sun, 10 Nov 2013 04:22:40 +0000 (UTC)
 (envelope-from marcel@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 9D7EF2508;
 Sun, 10 Nov 2013 04:22:40 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAA4MeB7089406;
 Sun, 10 Nov 2013 04:22:40 GMT (envelope-from marcel@svn.freebsd.org)
Received: (from marcel@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAA4MeEx089405;
 Sun, 10 Nov 2013 04:22:40 GMT (envelope-from marcel@svn.freebsd.org)
Message-Id: <201311100422.rAA4MeEx089405@svn.freebsd.org>
From: Marcel Moolenaar <marcel@FreeBSD.org>
Date: Sun, 10 Nov 2013 04:22:40 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257910 - head/sys/ia64/ia64
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 10 Nov 2013 04:22:40 -0000

Author: marcel
Date: Sun Nov 10 04:22:40 2013
New Revision: 257910
URL: http://svnweb.freebsd.org/changeset/base/257910

Log:
  Don't enable interrupts before we call sched_throw(). Interrupts
  are expected to be disabled by virtue of md_spinlock_count=1.

Modified:
  head/sys/ia64/ia64/mp_machdep.c

Modified: head/sys/ia64/ia64/mp_machdep.c
==============================================================================
--- head/sys/ia64/ia64/mp_machdep.c	Sun Nov 10 04:06:46 2013	(r257909)
+++ head/sys/ia64/ia64/mp_machdep.c	Sun Nov 10 04:22:40 2013	(r257910)
@@ -253,8 +253,6 @@ ia64_ap_startup(void)
 	ia64_set_tpr(0);
 	ia64_srlz_d();
 
-	ia64_enable_intr();
-
 	sched_throw(NULL);
 	/* NOTREACHED */
 }

From owner-svn-src-all@FreeBSD.ORG  Sun Nov 10 04:47:08 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 101DF388;
 Sun, 10 Nov 2013 04:47:08 +0000 (UTC)
 (envelope-from brde@optusnet.com.au)
Received: from mail107.syd.optusnet.com.au (mail107.syd.optusnet.com.au
 [211.29.132.53])
 by mx1.freebsd.org (Postfix) with ESMTP id 3683D25A8;
 Sun, 10 Nov 2013 04:47:07 +0000 (UTC)
Received: from c122-106-156-23.carlnfd1.nsw.optusnet.com.au
 (c122-106-156-23.carlnfd1.nsw.optusnet.com.au [122.106.156.23])
 by mail107.syd.optusnet.com.au (Postfix) with ESMTPS id 318C9D49C84;
 Sun, 10 Nov 2013 15:46:56 +1100 (EST)
Date: Sun, 10 Nov 2013 15:46:55 +1100 (EST)
From: Bruce Evans <brde@optusnet.com.au>
X-X-Sender: bde@besplex.bde.org
To: Eitan Adler <eadler@freebsd.org>
Subject: Re: svn commit: r257883 - head/sys/dev/ppc
In-Reply-To: <CAF6rxg=+JogZKrB5iVNPv8bA9E6F0NsPf+8_bW48S2xiUOXFrg@mail.gmail.com>
Message-ID: <20131110133214.G952@besplex.bde.org>
References: <201311090827.rA98RuYj082760@svn.freebsd.org>
 <20131109194526.O1128@besplex.bde.org>
 <CAF6rxg=b8VVXWpxwnw5j6ik+s+cNVpp7_UMVXej32=AdwUZa6g@mail.gmail.com>
 <1384026950.1819.0.camel@powernoodle.corp.yahoo.com>
 <CAF6rxg=+JogZKrB5iVNPv8bA9E6F0NsPf+8_bW48S2xiUOXFrg@mail.gmail.com>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
X-Optus-CM-Score: 0
X-Optus-CM-Analysis: v=2.1 cv=bpB1Wiqi c=1 sm=1 tr=0
 a=ebeQFi2P/qHVC0Yw9JDJ4g==:117 a=PO7r1zJSAAAA:8 a=v_ry3Y7z3OsA:10
 a=kj9zAlcOel0A:10 a=JzwRw_2MAAAA:8 a=Z5zpL04VkhMA:10 a=CjxXgO3LAAAA:8
 a=DCTfLQXK6GAY49CROpwA:9 a=CjuIK1q_8ugA:10 a=rC2wZJ5BpNYA:10
Cc: "svn-src-head@freebsd.org" <svn-src-head@freebsd.org>,
 Sean Bruno <sbruno@freebsd.org>,
 "src-committers@freebsd.org" <src-committers@freebsd.org>,
 "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>,
 Bruce Evans <brde@optusnet.com.au>
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 10 Nov 2013 04:47:08 -0000

On Sat, 9 Nov 2013, Eitan Adler wrote:

> On Sat, Nov 9, 2013 at 2:55 PM, Sean Bruno <sean_bruno@yahoo.com> wrote:
>> On Sat, 2013-11-09 at 03:58 -0500, Eitan Adler wrote:
>>>>>         { 0x95131415, "Oxford Semiconductor OX16PCI954 Parallel
>>> port",
>>>>> 0x10 },
>>>>> +       { 0xc1101415, "Oxford Semiconductor OXPCIe952 Parallel
>>> port", 0x10
>>>>> },
>>>>>         { 0x98059710, "NetMos NM9805 1284 Printer port", 0x10 },
>>>>>         { 0x98659710, "MosChip MCS9865 1284 Printer port", 0x10 },
>>>>>         { 0x99019710, "MosChip MCS9901 PCIe to Peripheral
>>> Controller",
>>>>> 0x10 },
>>>>
>>>> Any chance of keeping sorted lists sorted?
>>>
>>> Sure.  Shall I sort by ID or English text?
>>
>> Looks like its sorted by ID, so there ya go.
> 
> 0x05111407 comes after 0x1020131f but Lava comes after SIIG.  I don't
> care either way.

It has been broken before.

Most or all tables of pci ids in FreeBSD are sorted by id, following
/usr/share/misc/pci_vendors.  This one was no exception until it was
broken.

The previous breakage was more complete.  It unsorts by both id and
name (Lava was placed near Lava, but Lava SP was unsorted before
Lava Computers).  It has the following "order":
- first sort on the first word of the name ("Lava")
- next sort on the id
The order is then uniquely determined in this case.

The ordering by id is more complicated and thus has more potential for
bitrot in puc/pucdata.c.  There the ids are split into 2 parts and
there are sub-ids, giving 4 16-bit numbers instead of 1 32-bit one,
exactly as in pci_vendors for the first 2 numbers.  The 32-bit numbers
are in little-endian order, so when split, sorting by id sorts on the
vendor id first, unlike in tables with 1 32-bit number like the above.
This ordering is better would group the Oxford devices in the above
together (but not sorted by name relative to other vendors).  But it
would be too painful to maintain with 32-bit numbers.  This splitting

I sorted the pucdata.c declaration lines and got the following:

% --- pucdata	2013-11-10 03:10:31.661338000 +0000
% +++ pucdata.sorted	2013-11-10 03:10:45.615559000 +0000
% @@ -1,2 +1,4 @@
% +	{
%  	{   0x0009, 0x7168, 0xffff, 0,
% +	{   0x1014, 0x0297, 0xffff, 0,
%  	{   0x103c, 0x1048, 0x103c, 0x1049,
% @@ -25,3 +27,2 @@
%  	{   0x11fe, 0x8019, 0xffff, 0,
% -	{   0x1014, 0x0297, 0xffff, 0,
%  	{   0x131f, 0x1010, 0xffff, 0,
% @@ -94,5 +95,4 @@
%  	{   0x1407, 0x0181, 0xffff, 0,
% -	{   0x1409, 0x7268, 0xffff, 0,
%  	{   0x1409, 0x7168, 0xffff, 0,
% -	{
% +	{   0x1409, 0x7268, 0xffff, 0,
%  	{   0x1415, 0x9501, 0x131f, 0x2050,
% @@ -108,7 +108,2 @@
%  	{   0x1415, 0x9538, 0xffff, 0,
% -	{   0x155f, 0x0331, 0xffff, 0,
% -	{   0x155f, 0xB012, 0xffff, 0,
% -	{   0x155f, 0xB022, 0xffff, 0,
% -	{   0x155f, 0xB004, 0xffff, 0,
% -	{   0x155f, 0xB008, 0xffff, 0,
%  	{   0x1415, 0xc138, 0xffff, 0,
% @@ -127,5 +122,5 @@
%  	{   0x14d2, 0xa005, 0xffff, 0,
% -	{   0x14d2, 0xe020, 0xffff, 0,
%  	{   0x14d2, 0xa007, 0xffff, 0,
%  	{   0x14d2, 0xa008, 0xffff, 0,
% +	{   0x14d2, 0xe020, 0xffff, 0,
%  	{   0x14db, 0x2130, 0xffff, 0,
% @@ -133,2 +128,7 @@
%  	{   0x14db, 0x2152, 0xffff, 0,
% +	{   0x155f, 0x0331, 0xffff, 0,
% +	{   0x155f, 0xB004, 0xffff, 0,
% +	{   0x155f, 0xB008, 0xffff, 0,
% +	{   0x155f, 0xB012, 0xffff, 0,
% +	{   0x155f, 0xB022, 0xffff, 0,
%  	{   0x1592, 0x0781, 0xffff, 0,

Not too bad.

The brace on a line by itself is just another style bug in Oxford data.

All the 0x155f's are Perle cards unsorted into the middle of Oxford
cards because they use Oxford chips.  The sorting is not quite on
the device id within the Oxford chips.  The vendor id 0x1415 is supposed
to be for Oxford, but it is used by many manufacturers.  (I think
Oxford was both a chip and card manufacturer but this was an abuse
of the vendor id by other manuacturers.)  Perle is perhaps more recent
and uses its own id 0x155f.  We shouldn't try to untangle this in our
data.  pci_vendors is out of data and doesn't have an Perle cards.

0x0297 is for IBM SurePOS.  This is preceded by a formatting style bug
(comment detached from its code).  Elsewhere there is a reason to detach
the comment from the code (because the comment is about multiple blocks
of code).  It is hard to delimit the scope of such comments clearly,
and attached to only the first block.

0x7268 is for Sunix SUN1888.

0xe020 is for Titan VScom PCI-200HV2.  I broke this back in 2003 :-(.
BTW, this device needs memory-mapped i/o to work efficiently.  I didn't
commit that part, and the support for memory-mapped i/o in puc is now
almost completely broken.  It was replaced by automatic configuration
that depends on never using the memory-mapped case (for this card and
others) to avoid the lost regshft support being fatal.

Bruce

From owner-svn-src-all@FreeBSD.ORG  Sun Nov 10 05:22:29 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id B33D1754;
 Sun, 10 Nov 2013 05:22:29 +0000 (UTC)
 (envelope-from eadler@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 9CF7A26C6;
 Sun, 10 Nov 2013 05:22:29 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAA5MTFh009250;
 Sun, 10 Nov 2013 05:22:29 GMT (envelope-from eadler@svn.freebsd.org)
Received: (from eadler@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAA5MTsf009249;
 Sun, 10 Nov 2013 05:22:29 GMT (envelope-from eadler@svn.freebsd.org)
Message-Id: <201311100522.rAA5MTsf009249@svn.freebsd.org>
From: Eitan Adler <eadler@FreeBSD.org>
Date: Sun, 10 Nov 2013 05:22:29 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257911 - head/bin/pkill
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 10 Nov 2013 05:22:29 -0000

Author: eadler
Date: Sun Nov 10 05:22:29 2013
New Revision: 257911
URL: http://svnweb.freebsd.org/changeset/base/257911

Log:
  pkill - Optimize pgrep -F
  
   Ask for a specific process instead of pulling down all processes when
   -F <pidfile> is specified.  This is much much faster.
  
   Obtained from:	DragonflyBSD

Modified:
  head/bin/pkill/pkill.c

Modified: head/bin/pkill/pkill.c
==============================================================================
--- head/bin/pkill/pkill.c	Sun Nov 10 04:22:40 2013	(r257910)
+++ head/bin/pkill/pkill.c	Sun Nov 10 05:22:29 2013	(r257911)
@@ -318,7 +318,10 @@ main(int argc, char **argv)
 	 * Use KERN_PROC_PROC instead of KERN_PROC_ALL, since we
 	 * just want processes and not individual kernel threads.
 	 */
-	plist = kvm_getprocs(kd, KERN_PROC_PROC, 0, &nproc);
+	if (pidfromfile >= 0)
+		plist = kvm_getprocs(kd, KERN_PROC_PID, pidfromfile, &nproc);
+	else
+		plist = kvm_getprocs(kd, KERN_PROC_PROC, 0, &nproc);
 	if (plist == NULL) {
 		errx(STATUS_ERROR, "Cannot get process list (%s)",
 		    kvm_geterr(kd));

From owner-svn-src-all@FreeBSD.ORG  Sun Nov 10 09:36:51 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id A2C247B;
 Sun, 10 Nov 2013 09:36:51 +0000 (UTC)
 (envelope-from glebius@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 8F1CF2FBF;
 Sun, 10 Nov 2013 09:36:51 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAA9apgD002053;
 Sun, 10 Nov 2013 09:36:51 GMT (envelope-from glebius@svn.freebsd.org)
Received: (from glebius@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAA9apV0002052;
 Sun, 10 Nov 2013 09:36:51 GMT (envelope-from glebius@svn.freebsd.org)
Message-Id: <201311100936.rAA9apV0002052@svn.freebsd.org>
From: Gleb Smirnoff <glebius@FreeBSD.org>
Date: Sun, 10 Nov 2013 09:36:51 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257913 - head/sys/dev/xen/netfront
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 10 Nov 2013 09:36:51 -0000

Author: glebius
Date: Sun Nov 10 09:36:51 2013
New Revision: 257913
URL: http://svnweb.freebsd.org/changeset/base/257913

Log:
  Fix typo in r257515.
  
  Submitted by:	az

Modified:
  head/sys/dev/xen/netfront/netfront.c

Modified: head/sys/dev/xen/netfront/netfront.c
==============================================================================
--- head/sys/dev/xen/netfront/netfront.c	Sun Nov 10 09:22:05 2013	(r257912)
+++ head/sys/dev/xen/netfront/netfront.c	Sun Nov 10 09:36:51 2013	(r257913)
@@ -2003,7 +2003,7 @@ xn_configure_features(struct netfront_in
 	int err;
 
 	err = 0;
-#if __FreeBSD_version >= 70000 && (defined(INET) || defined(INET6))
+#if __FreeBSD_version >= 700000 && (defined(INET) || defined(INET6))
 	if ((np->xn_ifp->if_capenable & IFCAP_LRO) != 0)
 		tcp_lro_free(&np->xn_lro);
 #endif

From owner-svn-src-all@FreeBSD.ORG  Sun Nov 10 12:16:09 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id B647ECB1;
 Sun, 10 Nov 2013 12:16:09 +0000 (UTC) (envelope-from mav@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 94F5126FF;
 Sun, 10 Nov 2013 12:16:09 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAACG9UL056511;
 Sun, 10 Nov 2013 12:16:09 GMT (envelope-from mav@svn.freebsd.org)
Received: (from mav@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAACG9Xc056510;
 Sun, 10 Nov 2013 12:16:09 GMT (envelope-from mav@svn.freebsd.org)
Message-Id: <201311101216.rAACG9Xc056510@svn.freebsd.org>
From: Alexander Motin <mav@FreeBSD.org>
Date: Sun, 10 Nov 2013 12:16:09 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257914 - head/sys/cam
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 10 Nov 2013 12:16:09 -0000

Author: mav
Date: Sun Nov 10 12:16:09 2013
New Revision: 257914
URL: http://svnweb.freebsd.org/changeset/base/257914

Log:
  Some CAM locks polishing:
   - Fix LOR and possible lock recursion when handling high-power commands.
  Introduce new lock to protect left power quota and list of frozen devices.
   - Correct locking around xpt periph creation.
   - Remove seems never used XPT_FLAG_OPEN xpt periph flag.

Modified:
  head/sys/cam/cam_xpt.c

Modified: head/sys/cam/cam_xpt.c
==============================================================================
--- head/sys/cam/cam_xpt.c	Sun Nov 10 09:36:51 2013	(r257913)
+++ head/sys/cam/cam_xpt.c	Sun Nov 10 12:16:09 2013	(r257914)
@@ -92,14 +92,9 @@ struct xpt_task {
 	uintptr_t	data2;
 };
 
-typedef enum {
-	XPT_FLAG_OPEN		= 0x01
-} xpt_flags;
-
 struct xpt_softc {
-	xpt_flags		flags;
-
 	/* number of high powered commands that can go through right now */
+	struct mtx		xpt_highpower_lock;
 	STAILQ_HEAD(highpowerlist, cam_ed)	highpowerq;
 	int			num_highpower;
 
@@ -240,6 +235,7 @@ static timeout_t xpt_release_devq_timeou
 static void	 xpt_release_simq_timeout(void *arg) __unused;
 static void	 xpt_acquire_bus(struct cam_eb *bus);
 static void	 xpt_release_bus(struct cam_eb *bus);
+static uint32_t	 xpt_freeze_devq_device(struct cam_ed *dev, u_int count);
 static int	 xpt_release_devq_device(struct cam_ed *dev, u_int count,
 		    int run_queue);
 static struct cam_et*
@@ -367,11 +363,6 @@ xptopen(struct cdev *dev, int flags, int
 		return(ENODEV);
 	}
 
-	/* Mark ourselves open */
-	mtx_lock(&xsoftc.xpt_lock);
-	xsoftc.flags |= XPT_FLAG_OPEN;
-	mtx_unlock(&xsoftc.xpt_lock);
-
 	return(0);
 }
 
@@ -379,11 +370,6 @@ static int
 xptclose(struct cdev *dev, int flag, int fmt, struct thread *td)
 {
 
-	/* Mark ourselves closed */
-	mtx_lock(&xsoftc.xpt_lock);
-	xsoftc.flags &= ~XPT_FLAG_OPEN;
-	mtx_unlock(&xsoftc.xpt_lock);
-
 	return(0);
 }
 
@@ -863,6 +849,7 @@ xpt_init(void *dummy)
 	xsoftc.num_highpower = CAM_MAX_HIGHPOWER;
 
 	mtx_init(&xsoftc.xpt_lock, "XPT lock", NULL, MTX_DEF);
+	mtx_init(&xsoftc.xpt_highpower_lock, "XPT highpower lock", NULL, MTX_DEF);
 	mtx_init(&xsoftc.xpt_topo_lock, "XPT topology lock", NULL, MTX_DEF);
 	xsoftc.xpt_taskq = taskqueue_create("CAM XPT task", M_WAITOK,
 	    taskqueue_thread_enqueue, /*context*/&xsoftc.xpt_taskq);
@@ -900,6 +887,7 @@ xpt_init(void *dummy)
 		       " failing attach\n", status);
 		return (EINVAL);
 	}
+	mtx_unlock(&xsoftc.xpt_lock);
 
 	/*
 	 * Looking at the XPT from the SIM layer, the XPT is
@@ -914,11 +902,12 @@ xpt_init(void *dummy)
 		       " failing attach\n", status);
 		return (EINVAL);
 	}
-
+	xpt_path_lock(path);
 	cam_periph_alloc(xptregister, NULL, NULL, NULL, "xpt", CAM_PERIPH_BIO,
 			 path, NULL, 0, xpt_sim);
+	xpt_path_unlock(path);
 	xpt_free_path(path);
-	mtx_unlock(&xsoftc.xpt_lock);
+
 	if (cam_num_doneqs < 1)
 		cam_num_doneqs = 1 + mp_ncpus / 6;
 	else if (cam_num_doneqs > MAXCPU)
@@ -3223,7 +3212,7 @@ xpt_run_devq(struct cam_devq *devq)
 
 		if ((work_ccb->ccb_h.flags & CAM_HIGH_POWER) != 0) {
 
-			mtx_lock(&xsoftc.xpt_lock);
+			mtx_lock(&xsoftc.xpt_highpower_lock);
 		 	if (xsoftc.num_highpower <= 0) {
 				/*
 				 * We got a high power command, but we
@@ -3231,11 +3220,11 @@ xpt_run_devq(struct cam_devq *devq)
 				 * the device queue until we have a slot
 				 * available.
 				 */
-				xpt_freeze_devq(work_ccb->ccb_h.path, 1);
+				xpt_freeze_devq_device(device, 1);
 				STAILQ_INSERT_TAIL(&xsoftc.highpowerq, device,
 						   highpowerq_entry);
 
-				mtx_unlock(&xsoftc.xpt_lock);
+				mtx_unlock(&xsoftc.xpt_highpower_lock);
 				continue;
 			} else {
 				/*
@@ -3244,7 +3233,7 @@ xpt_run_devq(struct cam_devq *devq)
 				 */
 				xsoftc.num_highpower--;
 			}
-			mtx_unlock(&xsoftc.xpt_lock);
+			mtx_unlock(&xsoftc.xpt_highpower_lock);
 		}
 		cam_ccbq_remove_ccb(&device->ccbq, work_ccb);
 		cam_ccbq_send_ccb(&device->ccbq, work_ccb);
@@ -4286,21 +4275,35 @@ xpt_dev_async_default(u_int32_t async_co
 	printf("%s called\n", __func__);
 }
 
-u_int32_t
-xpt_freeze_devq(struct cam_path *path, u_int count)
+static uint32_t
+xpt_freeze_devq_device(struct cam_ed *dev, u_int count)
 {
-	struct cam_ed	*dev = path->device;
 	struct cam_devq	*devq;
-	uint32_t	 freeze;
+	uint32_t freeze;
 
 	devq = dev->sim->devq;
-	mtx_lock(&devq->send_mtx);
-	CAM_DEBUG(path, CAM_DEBUG_TRACE, ("xpt_freeze_devq() %u->%u\n",
+	mtx_assert(&devq->send_mtx, MA_OWNED);
+	CAM_DEBUG_DEV(dev, CAM_DEBUG_TRACE,
+	    ("xpt_freeze_devq_device(%d) %u->%u\n", count,
 	    dev->ccbq.queue.qfrozen_cnt, dev->ccbq.queue.qfrozen_cnt + count));
 	freeze = (dev->ccbq.queue.qfrozen_cnt += count);
 	/* Remove frozen device from sendq. */
 	if (device_is_queued(dev))
 		camq_remove(&devq->send_queue, dev->devq_entry.index);
+	return (freeze);
+}
+
+u_int32_t
+xpt_freeze_devq(struct cam_path *path, u_int count)
+{
+	struct cam_ed	*dev = path->device;
+	struct cam_devq	*devq;
+	uint32_t	 freeze;
+
+	devq = dev->sim->devq;
+	mtx_lock(&devq->send_mtx);
+	CAM_DEBUG(path, CAM_DEBUG_TRACE, ("xpt_freeze_devq(%d)\n", count));
+	freeze = xpt_freeze_devq_device(dev, count);
 	mtx_unlock(&devq->send_mtx);
 	return (freeze);
 }
@@ -5150,7 +5153,7 @@ xpt_done_process(struct ccb_hdr *ccb_h)
 		struct highpowerlist	*hphead;
 		struct cam_ed		*device;
 
-		mtx_lock(&xsoftc.xpt_lock);
+		mtx_lock(&xsoftc.xpt_highpower_lock);
 		hphead = &xsoftc.highpowerq;
 
 		device = STAILQ_FIRST(hphead);
@@ -5166,14 +5169,14 @@ xpt_done_process(struct ccb_hdr *ccb_h)
 		if (device != NULL) {
 
 			STAILQ_REMOVE_HEAD(hphead, highpowerq_entry);
-			mtx_unlock(&xsoftc.xpt_lock);
+			mtx_unlock(&xsoftc.xpt_highpower_lock);
 
 			mtx_lock(&device->sim->devq->send_mtx);
 			xpt_release_devq_device(device,
 					 /*count*/1, /*runqueue*/TRUE);
 			mtx_unlock(&device->sim->devq->send_mtx);
 		} else
-			mtx_unlock(&xsoftc.xpt_lock);
+			mtx_unlock(&xsoftc.xpt_highpower_lock);
 	}
 
 	sim = ccb_h->path->bus->sim;

From owner-svn-src-all@FreeBSD.ORG  Sun Nov 10 13:16:29 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 10C04899;
 Sun, 10 Nov 2013 13:16:29 +0000 (UTC)
 (envelope-from trasz@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id F14112A24;
 Sun, 10 Nov 2013 13:16:28 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAADGSg7076451;
 Sun, 10 Nov 2013 13:16:28 GMT (envelope-from trasz@svn.freebsd.org)
Received: (from trasz@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAADGS3V076450;
 Sun, 10 Nov 2013 13:16:28 GMT (envelope-from trasz@svn.freebsd.org)
Message-Id: <201311101316.rAADGS3V076450@svn.freebsd.org>
From: Edward Tomasz Napierala <trasz@FreeBSD.org>
Date: Sun, 10 Nov 2013 13:16:28 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257915 - head/usr.sbin/ctld
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 10 Nov 2013 13:16:29 -0000

Author: trasz
Date: Sun Nov 10 13:16:28 2013
New Revision: 257915
URL: http://svnweb.freebsd.org/changeset/base/257915

Log:
  Fix typo.
  
  Submitted by:	feld@
  MFC after:	3 days
  Sponsored by:	The FreeBSD Foundation

Modified:
  head/usr.sbin/ctld/ctl.conf.5

Modified: head/usr.sbin/ctld/ctl.conf.5
==============================================================================
--- head/usr.sbin/ctld/ctl.conf.5	Sun Nov 10 12:16:09 2013	(r257914)
+++ head/usr.sbin/ctld/ctl.conf.5	Sun Nov 10 13:16:28 2013	(r257915)
@@ -27,7 +27,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd April 24, 2013
+.Dd November 10, 2013
 .Dt CTL.CONF 5
 .Os
 .Sh NAME
@@ -98,7 +98,7 @@ will be forcibly terminated.
 The default is 60.
 Setting it to 0 disables the timeout.
 .El
-.Ss auth-grup level
+.Ss auth-group level
 The following statements are available at the auth-group level:
 .Bl -tag -width indent
 .It Ic chap Ao Ar user Ac Aq Ar secret

From owner-svn-src-all@FreeBSD.ORG  Sun Nov 10 13:37:44 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id EB564EB7;
 Sun, 10 Nov 2013 13:37:44 +0000 (UTC) (envelope-from mav@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id D7FAF2B2C;
 Sun, 10 Nov 2013 13:37:44 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAADbiMq083103;
 Sun, 10 Nov 2013 13:37:44 GMT (envelope-from mav@svn.freebsd.org)
Received: (from mav@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAADbi6A083102;
 Sun, 10 Nov 2013 13:37:44 GMT (envelope-from mav@svn.freebsd.org)
Message-Id: <201311101337.rAADbi6A083102@svn.freebsd.org>
From: Alexander Motin <mav@FreeBSD.org>
Date: Sun, 10 Nov 2013 13:37:44 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257916 - head/sys/dev/isp
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 10 Nov 2013 13:37:45 -0000

Author: mav
Date: Sun Nov 10 13:37:44 2013
New Revision: 257916
URL: http://svnweb.freebsd.org/changeset/base/257916

Log:
  Save one more register read per command by not reading rqstoutrp register
  every time.  The purpose of that register is unlikely output queue overflow
  detection, so read it only when its last known (and probably stale now)
  value signals overflow.
  
  This reduces CPU load and lock congestion and rises bottleneck in CTL
  while doing target mode via two 8Gbps ports from 100K to 120K IOPS.

Modified:
  head/sys/dev/isp/isp_library.c

Modified: head/sys/dev/isp/isp_library.c
==============================================================================
--- head/sys/dev/isp/isp_library.c	Sun Nov 10 13:16:28 2013	(r257915)
+++ head/sys/dev/isp/isp_library.c	Sun Nov 10 13:37:44 2013	(r257916)
@@ -322,9 +322,13 @@ isp_destroy_handle(ispsoftc_t *isp, uint
 void *
 isp_getrqentry(ispsoftc_t *isp)
 {
-	isp->isp_reqodx = ISP_READ(isp, isp->isp_rqstoutrp);
-	if (ISP_NXT_QENTRY(isp->isp_reqidx, RQUEST_QUEUE_LEN(isp)) == isp->isp_reqodx) {
-		return (NULL);
+	uint32_t next;
+
+	next = ISP_NXT_QENTRY(isp->isp_reqidx, RQUEST_QUEUE_LEN(isp));
+	if (next == isp->isp_reqodx) {
+		isp->isp_reqodx = ISP_READ(isp, isp->isp_rqstoutrp);
+		if (next == isp->isp_reqodx)
+			return (NULL);
 	}
 	return (ISP_QUEUE_ENTRY(isp->isp_rquest, isp->isp_reqidx));
 }

From owner-svn-src-all@FreeBSD.ORG  Sun Nov 10 14:18:05 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 975F1CF4;
 Sun, 10 Nov 2013 14:18:05 +0000 (UTC)
 (envelope-from trasz@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 84C772D43;
 Sun, 10 Nov 2013 14:18:05 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAAEI5nA097284;
 Sun, 10 Nov 2013 14:18:05 GMT (envelope-from trasz@svn.freebsd.org)
Received: (from trasz@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAAEI579097282;
 Sun, 10 Nov 2013 14:18:05 GMT (envelope-from trasz@svn.freebsd.org)
Message-Id: <201311101418.rAAEI579097282@svn.freebsd.org>
From: Edward Tomasz Napierala <trasz@FreeBSD.org>
Date: Sun, 10 Nov 2013 14:18:05 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257917 - head/usr.bin/iscsictl
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 10 Nov 2013 14:18:05 -0000

Author: trasz
Date: Sun Nov 10 14:18:05 2013
New Revision: 257917
URL: http://svnweb.freebsd.org/changeset/base/257917

Log:
  Fix typo in "iscsictl -v".
  
  MFC after:	3 days
  Sponsored by:	The FreeBSD Foundation

Modified:
  head/usr.bin/iscsictl/iscsictl.c

Modified: head/usr.bin/iscsictl/iscsictl.c
==============================================================================
--- head/usr.bin/iscsictl/iscsictl.c	Sun Nov 10 13:37:44 2013	(r257916)
+++ head/usr.bin/iscsictl/iscsictl.c	Sun Nov 10 14:18:05 2013	(r257917)
@@ -425,7 +425,7 @@ kernel_list(int iscsi_fd, const struct t
 			printf("Secret:           %s\n", conf->isc_secret);
 			printf("Mutual user:      %s\n",
 			    conf->isc_mutual_user);
-			printf("Mutual secret :   %s\n",
+			printf("Mutual secret:    %s\n",
 			    conf->isc_mutual_secret);
 			printf("Session type:     %s\n",
 			    conf->isc_discovery ? "Discovery" : "Normal");

From owner-svn-src-all@FreeBSD.ORG  Sun Nov 10 18:47:00 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 06035F57;
 Sun, 10 Nov 2013 18:47:00 +0000 (UTC)
 (envelope-from jilles@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id E70E32A00;
 Sun, 10 Nov 2013 18:46:59 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAAIkxc9089602;
 Sun, 10 Nov 2013 18:46:59 GMT (envelope-from jilles@svn.freebsd.org)
Received: (from jilles@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAAIkxJh089601;
 Sun, 10 Nov 2013 18:46:59 GMT (envelope-from jilles@svn.freebsd.org)
Message-Id: <201311101846.rAAIkxJh089601@svn.freebsd.org>
From: Jilles Tjoelker <jilles@FreeBSD.org>
Date: Sun, 10 Nov 2013 18:46:59 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257920 - head/tools/regression/bin/sh/parser
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 10 Nov 2013 18:47:00 -0000

Author: jilles
Date: Sun Nov 10 18:46:59 2013
New Revision: 257920
URL: http://svnweb.freebsd.org/changeset/base/257920

Log:
  sh: Add a test case for would-be assignments that are not due to quoting.

Added:
  head/tools/regression/bin/sh/parser/var-assign1.0   (contents, props changed)

Added: head/tools/regression/bin/sh/parser/var-assign1.0
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/tools/regression/bin/sh/parser/var-assign1.0	Sun Nov 10 18:46:59 2013	(r257920)
@@ -0,0 +1,19 @@
+# $FreeBSD$
+# In a variable assignment, both the name and the equals sign must be entirely
+# unquoted. Therefore, there is only one assignment below; the other words
+# containing equals signs are command words.
+
+abc=0
+\abc=1 2>/dev/null
+a\bc=2 2>/dev/null
+abc\=3 2>/dev/null
+a\bc\=4 2>/dev/null
+'abc'=5 2>/dev/null
+a'b'c=6 2>/dev/null
+abc'='7 2>/dev/null
+'abc=8' 2>/dev/null
+"abc"=9 2>/dev/null
+a"b"c=10 2>/dev/null
+abc"="11 2>/dev/null
+"abc=12" 2>/dev/null
+[ "$abc" = 0 ]

From owner-svn-src-all@FreeBSD.ORG  Sun Nov 10 19:41:05 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 5558EE7A;
 Sun, 10 Nov 2013 19:41:05 +0000 (UTC) (envelope-from bms@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 28FB12D2B;
 Sun, 10 Nov 2013 19:41:05 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAAJf5Tb009339;
 Sun, 10 Nov 2013 19:41:05 GMT (envelope-from bms@svn.freebsd.org)
Received: (from bms@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAAJf4MB009338;
 Sun, 10 Nov 2013 19:41:04 GMT (envelope-from bms@svn.freebsd.org)
Message-Id: <201311101941.rAAJf4MB009338@svn.freebsd.org>
From: Bruce M Simpson <bms@FreeBSD.org>
Date: Sun, 10 Nov 2013 19:41:04 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257921 - head/share/man/man3
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 10 Nov 2013 19:41:05 -0000

Author: bms
Date: Sun Nov 10 19:41:04 2013
New Revision: 257921
URL: http://svnweb.freebsd.org/changeset/base/257921

Log:
  Document the RB_FOREACH_FROM() and RB_FOREACH_REVERSE_FROM() macros.
  
  These are largely syntactic sugar. However, they improve code
  readability where an RB_FOREACH() or RB_FOREACH_REVERSE()
  traversal has been interrupted and must be resumed. Performance
  is improved by avoiding unnecessary traversal from the head node.

Modified:
  head/share/man/man3/tree.3

Modified: head/share/man/man3/tree.3
==============================================================================
--- head/share/man/man3/tree.3	Sun Nov 10 18:46:59 2013	(r257920)
+++ head/share/man/man3/tree.3	Sun Nov 10 19:41:04 2013	(r257921)
@@ -30,7 +30,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd November 4, 2013
+.Dd November 10, 2013
 .Dt TREE 3
 .Os
 .Sh NAME
@@ -70,8 +70,10 @@
 .Nm RB_RIGHT ,
 .Nm RB_PARENT ,
 .Nm RB_FOREACH ,
+.Nm RB_FOREACH_FROM ,
 .Nm RB_FOREACH_SAFE ,
 .Nm RB_FOREACH_REVERSE ,
+.Nm RB_FOREACH_REVERSE_FROM ,
 .Nm RB_FOREACH_REVERSE_SAFE ,
 .Nm RB_INIT ,
 .Nm RB_INSERT ,
@@ -137,8 +139,10 @@
 .Ft "struct TYPE *"
 .Fn RB_PARENT "struct TYPE *elm" "RB_ENTRY NAME"
 .Fn RB_FOREACH VARNAME NAME "RB_HEAD *head"
+.Fn RB_FOREACH_FROM "VARNAME" "NAME" "RB_HEAD *head" "POS_VARNAME"
 .Fn RB_FOREACH_SAFE "VARNAME" "NAME" "RB_HEAD *head" "TEMP_VARNAME"
 .Fn RB_FOREACH_REVERSE VARNAME NAME "RB_HEAD *head"
+.Fn RB_FOREACH_REVERSE_FROM "VARNAME" "NAME" "RB_HEAD *head" "POS_VARNAME"
 .Fn RB_FOREACH_REVERSE_SAFE "VARNAME" "NAME" "RB_HEAD *head" "TEMP_VARNAME"
 .Ft void
 .Fn RB_INIT "RB_HEAD *head"
@@ -470,6 +474,15 @@ they permit both the removal of np
 as well as freeing it from within the loop safely
 without interfering with the traversal.
 .Pp
+Both
+.Fn RB_FOREACH_FROM
+and
+.Fn RB_FOREACH_REVERSE_FROM
+may be used to continue an interrupted traversal
+in a forward or reverse direction respectively.
+The resume point should be passed as their last argument,
+and will be overwritten to provide safe traversal.
+.Pp
 The
 .Fn RB_EMPTY
 macro should be used to check whether a red-black tree is empty.

From owner-svn-src-all@FreeBSD.ORG  Sun Nov 10 19:49:19 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 630A4678;
 Sun, 10 Nov 2013 19:49:19 +0000 (UTC) (envelope-from bms@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 504D42D96;
 Sun, 10 Nov 2013 19:49:19 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAAJnJSu010753;
 Sun, 10 Nov 2013 19:49:19 GMT (envelope-from bms@svn.freebsd.org)
Received: (from bms@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAAJnJXh010752;
 Sun, 10 Nov 2013 19:49:19 GMT (envelope-from bms@svn.freebsd.org)
Message-Id: <201311101949.rAAJnJXh010752@svn.freebsd.org>
From: Bruce M Simpson <bms@FreeBSD.org>
Date: Sun, 10 Nov 2013 19:49:19 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257922 - head/share/man/man3
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 10 Nov 2013 19:49:19 -0000

Author: bms
Date: Sun Nov 10 19:49:18 2013
New Revision: 257922
URL: http://svnweb.freebsd.org/changeset/base/257922

Log:
  RB_FOREACH_[REVERSE_]FROM() do not require the head pointer. Reword.

Modified:
  head/share/man/man3/tree.3

Modified: head/share/man/man3/tree.3
==============================================================================
--- head/share/man/man3/tree.3	Sun Nov 10 19:41:04 2013	(r257921)
+++ head/share/man/man3/tree.3	Sun Nov 10 19:49:18 2013	(r257922)
@@ -139,10 +139,10 @@
 .Ft "struct TYPE *"
 .Fn RB_PARENT "struct TYPE *elm" "RB_ENTRY NAME"
 .Fn RB_FOREACH VARNAME NAME "RB_HEAD *head"
-.Fn RB_FOREACH_FROM "VARNAME" "NAME" "RB_HEAD *head" "POS_VARNAME"
+.Fn RB_FOREACH_FROM "VARNAME" "NAME" "POS_VARNAME"
 .Fn RB_FOREACH_SAFE "VARNAME" "NAME" "RB_HEAD *head" "TEMP_VARNAME"
 .Fn RB_FOREACH_REVERSE VARNAME NAME "RB_HEAD *head"
-.Fn RB_FOREACH_REVERSE_FROM "VARNAME" "NAME" "RB_HEAD *head" "POS_VARNAME"
+.Fn RB_FOREACH_REVERSE_FROM "VARNAME" "NAME" "POS_VARNAME"
 .Fn RB_FOREACH_REVERSE_SAFE "VARNAME" "NAME" "RB_HEAD *head" "TEMP_VARNAME"
 .Ft void
 .Fn RB_INIT "RB_HEAD *head"
@@ -480,7 +480,9 @@ and
 .Fn RB_FOREACH_REVERSE_FROM
 may be used to continue an interrupted traversal
 in a forward or reverse direction respectively.
-The resume point should be passed as their last argument,
+The head pointer is not required.
+The pointer to the node from where to resume the traversal
+should be passed as their last argument,
 and will be overwritten to provide safe traversal.
 .Pp
 The

From owner-svn-src-all@FreeBSD.ORG  Sun Nov 10 20:24:42 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 650F5285;
 Sun, 10 Nov 2013 20:24:42 +0000 (UTC)
 (envelope-from alexey@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 381342FB5;
 Sun, 10 Nov 2013 20:24:42 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAAKOgun024385;
 Sun, 10 Nov 2013 20:24:42 GMT (envelope-from alexey@svn.freebsd.org)
Received: (from alexey@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAAKOfH9024383;
 Sun, 10 Nov 2013 20:24:41 GMT (envelope-from alexey@svn.freebsd.org)
Message-Id: <201311102024.rAAKOfH9024383@svn.freebsd.org>
From: Alexey Degtyarev <alexey@FreeBSD.org>
Date: Sun, 10 Nov 2013 20:24:41 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257923 - in head: share/misc usr.bin/calendar/calendars
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 10 Nov 2013 20:24:42 -0000

Author: alexey (ports committer)
Date: Sun Nov 10 20:24:41 2013
New Revision: 257923
URL: http://svnweb.freebsd.org/changeset/base/257923

Log:
  - Add myself as port committer and my mentor's relationship.
  - Add myself to calendar.freebsd.
  
  Approved:   wg (mentor)

Modified:
  head/share/misc/committers-ports.dot   (contents, props changed)
  head/usr.bin/calendar/calendars/calendar.freebsd   (contents, props changed)

Modified: head/share/misc/committers-ports.dot
==============================================================================
--- head/share/misc/committers-ports.dot	Sun Nov 10 19:49:18 2013	(r257922)
+++ head/share/misc/committers-ports.dot	Sun Nov 10 20:24:41 2013	(r257923)
@@ -49,6 +49,7 @@ ak [label="Alex Kozlov\nak@FreeBSD.org\n
 ale [label="Alex Dupre\nale@FreeBSD.org\n2004/01/12"]
 alepulver [label="Alejandro Pulver\nalepulver@FreeBSD.org\n2006/04/01"]
 alexbl [label="Alexander Botero-Lowry\nalexbl@FreeBSD.org\n2006/09/11"]
+alexey [label="Alexey Degtyarev\nalexey@FreeBSD.org\n2013/11/09"]
 amdmi3 [label="Dmitry Marakasov\namdmi3@FreeBSD.org\n2008/06/19"]
 anray [label="Andrey Slusar\nanray@FreeBSD.org\n2005/12/11"]
 antoine [label="Antoine Brodin\nantoine@FreeBSD.org\n2013/04/03"]
@@ -536,6 +537,7 @@ wen -> cs
 wen -> culot
 wen -> pawel
 
+wg -> alexey
 wg -> danilo
 wg -> nemysis
 

Modified: head/usr.bin/calendar/calendars/calendar.freebsd
==============================================================================
--- head/usr.bin/calendar/calendars/calendar.freebsd	Sun Nov 10 19:49:18 2013	(r257922)
+++ head/usr.bin/calendar/calendars/calendar.freebsd	Sun Nov 10 20:24:41 2013	(r257923)
@@ -132,6 +132,7 @@
 04/14	Crist J. Clark <cjc@FreeBSD.org> born in Milwaukee, Wisconsin, United States, 1970
 04/14	Glen J. Barber <gjb@FreeBSD.org> born in Wilkes-Barre, Pennsylvania, United States, 1981
 04/15	David Malone <dwmalone@FreeBSD.org> born in Dublin, Ireland, 1973
+04/17	Alexey Degtyarev <alexey@FreeBSD.org> born in Ahtubinsk, Russian Federation, 1984
 04/17	Dryice Liu <dryice@FreeBSD.org> born in Jinan, Shandong, China, 1975
 04/22	Joerg Wunsch <joerg@FreeBSD.org> born in Dresden, Sachsen, Germany, 1962
 04/22	Jun Kuriyama <kuriyama@FreeBSD.org> born in Matsue, Shimane, Japan, 1973

From owner-svn-src-all@FreeBSD.ORG  Sun Nov 10 21:12:43 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 0228D311;
 Sun, 10 Nov 2013 21:12:43 +0000 (UTC) (envelope-from ian@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id E40F62261;
 Sun, 10 Nov 2013 21:12:42 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAALCgGC041270;
 Sun, 10 Nov 2013 21:12:42 GMT (envelope-from ian@svn.freebsd.org)
Received: (from ian@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAALCgS5041269;
 Sun, 10 Nov 2013 21:12:42 GMT (envelope-from ian@svn.freebsd.org)
Message-Id: <201311102112.rAALCgS5041269@svn.freebsd.org>
From: Ian Lepore <ian@FreeBSD.org>
Date: Sun, 10 Nov 2013 21:12:42 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257924 - head/sys/arm/freescale/imx
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 10 Nov 2013 21:12:43 -0000

Author: ian
Date: Sun Nov 10 21:12:42 2013
New Revision: 257924
URL: http://svnweb.freebsd.org/changeset/base/257924

Log:
  Apparently with "const uint32_t foo = 0x60;" gcc doesn't consider 'foo'
  to be a constant integer suitable for use in a case label, so use #defines.

Modified:
  head/sys/arm/freescale/imx/imx6_machdep.c

Modified: head/sys/arm/freescale/imx/imx6_machdep.c
==============================================================================
--- head/sys/arm/freescale/imx/imx6_machdep.c	Sun Nov 10 20:24:41 2013	(r257923)
+++ head/sys/arm/freescale/imx/imx6_machdep.c	Sun Nov 10 21:12:42 2013	(r257924)
@@ -145,11 +145,11 @@ u_int imx_soc_type()
 {
 	uint32_t digprog, hwsoc;
 	uint32_t *pcr;
-	const uint32_t HWSOC_MX6SL   = 0x60;
-	const uint32_t HWSOC_MX6DL   = 0x61;
-	const uint32_t HWSOC_MX6SOLO = 0x62;
-	const uint32_t HWSOC_MX6Q    = 0x63;
 	const vm_offset_t SCU_CONFIG_PHYSADDR = 0x00a00004;
+#define	HWSOC_MX6SL	0x60
+#define	HWSOC_MX6DL	0x61
+#define	HWSOC_MX6SOLO	0x62
+#define	HWSOC_MX6Q	0x63
 
 	digprog = imx6_anatop_read_4(IMX6_ANALOG_DIGPROG_SL);
 	hwsoc = (digprog >> IMX6_ANALOG_DIGPROG_SOCTYPE_SHIFT) & 

From owner-svn-src-all@FreeBSD.ORG  Sun Nov 10 22:42:57 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 2738F723;
 Sun, 10 Nov 2013 22:42:57 +0000 (UTC)
 (envelope-from andreast@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 1350A26FE;
 Sun, 10 Nov 2013 22:42:57 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAAMgu66072520;
 Sun, 10 Nov 2013 22:42:56 GMT
 (envelope-from andreast@svn.freebsd.org)
Received: (from andreast@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAAMguhS072519;
 Sun, 10 Nov 2013 22:42:56 GMT
 (envelope-from andreast@svn.freebsd.org)
Message-Id: <201311102242.rAAMguhS072519@svn.freebsd.org>
From: Andreas Tobler <andreast@FreeBSD.org>
Date: Sun, 10 Nov 2013 22:42:56 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257928 - head/sys/powerpc/powerpc
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 10 Nov 2013 22:42:57 -0000

Author: andreast
Date: Sun Nov 10 22:42:56 2013
New Revision: 257928
URL: http://svnweb.freebsd.org/changeset/base/257928

Log:
  Prepare for 64-bit. Iow, use Elf_*hdr instead of the 32-bit ones.

Modified:
  head/sys/powerpc/powerpc/dump_machdep.c

Modified: head/sys/powerpc/powerpc/dump_machdep.c
==============================================================================
--- head/sys/powerpc/powerpc/dump_machdep.c	Sun Nov 10 22:19:34 2013	(r257927)
+++ head/sys/powerpc/powerpc/dump_machdep.c	Sun Nov 10 22:42:56 2013	(r257928)
@@ -161,7 +161,7 @@ static int
 cb_dumphdr(struct pmap_md *md, int seqnr, void *arg)
 {
 	struct dumperinfo *di = (struct dumperinfo*)arg;
-	Elf32_Phdr phdr;
+	Elf_Phdr phdr;
 	int error;
 
 	bzero(&phdr, sizeof(phdr));
@@ -208,7 +208,7 @@ foreach_chunk(callback_t cb, void *arg)
 void
 dumpsys(struct dumperinfo *di)
 {
-	Elf32_Ehdr ehdr;
+	Elf_Ehdr ehdr;
 	uint32_t dumpsize;
 	off_t hdrgap;
 	size_t hdrsz;
@@ -219,7 +219,7 @@ dumpsys(struct dumperinfo *di)
 	ehdr.e_ident[EI_MAG1] = ELFMAG1;
 	ehdr.e_ident[EI_MAG2] = ELFMAG2;
 	ehdr.e_ident[EI_MAG3] = ELFMAG3;
-	ehdr.e_ident[EI_CLASS] = ELFCLASS32;
+	ehdr.e_ident[EI_CLASS] = ELF_TARG_CLASS;
 #if BYTE_ORDER == LITTLE_ENDIAN
 	ehdr.e_ident[EI_DATA] = ELFDATA2LSB;
 #else
@@ -228,11 +228,11 @@ dumpsys(struct dumperinfo *di)
 	ehdr.e_ident[EI_VERSION] = EV_CURRENT;
 	ehdr.e_ident[EI_OSABI] = ELFOSABI_STANDALONE;	/* XXX big picture? */
 	ehdr.e_type = ET_CORE;
-	ehdr.e_machine = EM_PPC;
+	ehdr.e_machine = ELF_ARCH;      /* Defined in powerpc/include/elf.h */
 	ehdr.e_phoff = sizeof(ehdr);
 	ehdr.e_ehsize = sizeof(ehdr);
-	ehdr.e_phentsize = sizeof(Elf32_Phdr);
-	ehdr.e_shentsize = sizeof(Elf32_Shdr);
+	ehdr.e_phentsize = sizeof(Elf_Phdr);
+	ehdr.e_shentsize = sizeof(Elf_Shdr);
 
 	/* Calculate dump size. */
 	dumpsize = 0L;

From owner-svn-src-all@FreeBSD.ORG  Sun Nov 10 23:00:40 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id AEE12E9C;
 Sun, 10 Nov 2013 23:00:40 +0000 (UTC)
 (envelope-from jilles@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 9B0A527EA;
 Sun, 10 Nov 2013 23:00:40 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAAN0eCc078943;
 Sun, 10 Nov 2013 23:00:40 GMT (envelope-from jilles@svn.freebsd.org)
Received: (from jilles@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAAN0eAH078941;
 Sun, 10 Nov 2013 23:00:40 GMT (envelope-from jilles@svn.freebsd.org)
Message-Id: <201311102300.rAAN0eAH078941@svn.freebsd.org>
From: Jilles Tjoelker <jilles@FreeBSD.org>
Date: Sun, 10 Nov 2013 23:00:40 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257929 - in head: bin/sh tools/regression/bin/sh/builtins
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 10 Nov 2013 23:00:40 -0000

Author: jilles
Date: Sun Nov 10 23:00:39 2013
New Revision: 257929
URL: http://svnweb.freebsd.org/changeset/base/257929

Log:
  sh: Properly quote alias output from command -v.
  
  An alias should be printed by command -v as a command line; therefore, make
  the alias definition suitable for re-input to the shell.

Added:
  head/tools/regression/bin/sh/builtins/command12.0   (contents, props changed)
Modified:
  head/bin/sh/exec.c

Modified: head/bin/sh/exec.c
==============================================================================
--- head/bin/sh/exec.c	Sun Nov 10 22:42:56 2013	(r257928)
+++ head/bin/sh/exec.c	Sun Nov 10 23:00:39 2013	(r257929)
@@ -672,9 +672,11 @@ typecmd_impl(int argc, char **argv, int 
 
 		/* Then look at the aliases */
 		if ((ap = lookupalias(argv[i], 1)) != NULL) {
-			if (cmd == TYPECMD_SMALLV)
-				out1fmt("alias %s='%s'\n", argv[i], ap->val);
-			else
+			if (cmd == TYPECMD_SMALLV) {
+				out1fmt("alias %s=", argv[i]);
+				out1qstr(ap->val);
+				outcslow('\n', out1);
+			} else
 				out1fmt("%s is an alias for %s\n", argv[i],
 				    ap->val);
 			continue;

Added: head/tools/regression/bin/sh/builtins/command12.0
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/tools/regression/bin/sh/builtins/command12.0	Sun Nov 10 23:00:39 2013	(r257929)
@@ -0,0 +1,7 @@
+# $FreeBSD$
+
+alias aa=echo\ \'\"\'
+cmd=$(command -v aa)
+alias aa=echo\ bad
+eval "$cmd"
+[ "$(eval aa)" = \" ]

From owner-svn-src-all@FreeBSD.ORG  Sun Nov 10 23:34:32 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id BA3FDA2F;
 Sun, 10 Nov 2013 23:34:32 +0000 (UTC) (envelope-from mav@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 8C22029A8;
 Sun, 10 Nov 2013 23:34:32 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAANYW4l090051;
 Sun, 10 Nov 2013 23:34:32 GMT (envelope-from mav@svn.freebsd.org)
Received: (from mav@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAANYWjK090050;
 Sun, 10 Nov 2013 23:34:32 GMT (envelope-from mav@svn.freebsd.org)
Message-Id: <201311102334.rAANYWjK090050@svn.freebsd.org>
From: Alexander Motin <mav@FreeBSD.org>
Date: Sun, 10 Nov 2013 23:34:32 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257930 - head/sys/dev/isp
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 10 Nov 2013 23:34:32 -0000

Author: mav
Date: Sun Nov 10 23:34:32 2013
New Revision: 257930
URL: http://svnweb.freebsd.org/changeset/base/257930

Log:
  Some more registers access optimizations:
   - Process ATIO queue only if interrupt status tells so;
   - Do not update queue out pointers after each processed command, do it
  only once at the end of the loop.

Modified:
  head/sys/dev/isp/isp.c

Modified: head/sys/dev/isp/isp.c
==============================================================================
--- head/sys/dev/isp/isp.c	Sun Nov 10 23:00:39 2013	(r257929)
+++ head/sys/dev/isp/isp.c	Sun Nov 10 23:34:32 2013	(r257930)
@@ -5082,7 +5082,9 @@ again:
 	/*
 	 * Check for ATIO Queue entries.
 	 */
-	if (IS_24XX(isp)) {
+	if (IS_24XX(isp) &&
+	    ((isr & BIU2400_R2HST_ISTAT_MASK) == ISP2400R2HST_ATIO_RSPQ_UPDATE ||
+	     (isr & BIU2400_R2HST_ISTAT_MASK) == ISP2400R2HST_ATIO_RQST_UPDATE)) {
 		iptr = ISP_READ(isp, BIU2400_ATIO_RSPINP);
 		optr = isp->isp_atioodx;
 
@@ -5107,9 +5109,11 @@ again:
 				break;
 			}
 			optr = ISP_NXT_QENTRY(oop, RESULT_QUEUE_LEN(isp));
+		}
+		if (isp->isp_atioodx != optr) {
 			ISP_WRITE(isp, BIU2400_ATIO_RSPOUTP, optr);
+			isp->isp_atioodx = optr;
 		}
-		isp->isp_atioodx = optr;
 	}
 #endif
 
@@ -5284,7 +5288,6 @@ again:
 				optr = ISP_NXT_QENTRY(tsto, RESULT_QUEUE_LEN(isp));
 			}
 			if (r > 0) {
-				ISP_WRITE(isp, isp->isp_respoutrp, optr);
 				ISP_MEMZERO(hp, QENTRY_LEN);	/* PERF */
 				last_etype = etype;
 				continue;
@@ -5319,7 +5322,6 @@ again:
 		if (sp->req_header.rqs_flags & RQSFLAG_MASK) {
 			if (sp->req_header.rqs_flags & RQSFLAG_CONTINUATION) {
 				isp_print_bytes(isp, "unexpected continuation segment", QENTRY_LEN, sp);
-				ISP_WRITE(isp, isp->isp_respoutrp, optr);
 				last_etype = etype;
 				continue;
 			}
@@ -5343,7 +5345,6 @@ again:
 			}
 			if (sp->req_header.rqs_flags & RQSFLAG_BADORDER) {
 				isp_print_bytes(isp, "invalid IOCB ordering", QENTRY_LEN, sp);
-				ISP_WRITE(isp, isp->isp_respoutrp, optr);
 				last_etype = etype;
 				continue;
 			}
@@ -5352,7 +5353,6 @@ again:
 		if (!ISP_VALID_HANDLE(isp, sp->req_handle)) {
 			isp_prt(isp, ISP_LOGERR, "bad request handle 0x%x (iocb type 0x%x)", sp->req_handle, etype);
 			ISP_MEMZERO(hp, QENTRY_LEN);	/* PERF */
-			ISP_WRITE(isp, isp->isp_respoutrp, optr);
 			last_etype = etype;
 			continue;
 		}
@@ -5369,7 +5369,6 @@ again:
 				isp_prt(isp, ISP_LOGERR, "cannot find handle 0x%x (status 0x%x)", sp->req_handle, ts);
 			}
 			ISP_MEMZERO(hp, QENTRY_LEN);	/* PERF */
-			ISP_WRITE(isp, isp->isp_respoutrp, optr);
 			last_etype = etype;
 			continue;
 		}

From owner-svn-src-all@FreeBSD.ORG  Sun Nov 10 23:48:17 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id CEA78D3F;
 Sun, 10 Nov 2013 23:48:17 +0000 (UTC) (envelope-from mav@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 9FA652A37;
 Sun, 10 Nov 2013 23:48:17 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAANmHbf093725;
 Sun, 10 Nov 2013 23:48:17 GMT (envelope-from mav@svn.freebsd.org)
Received: (from mav@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAANmHvX093723;
 Sun, 10 Nov 2013 23:48:17 GMT (envelope-from mav@svn.freebsd.org)
Message-Id: <201311102348.rAANmHvX093723@svn.freebsd.org>
From: Alexander Motin <mav@FreeBSD.org>
Date: Sun, 10 Nov 2013 23:48:17 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257932 - head/sys/dev/isp
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 10 Nov 2013 23:48:17 -0000

Author: mav
Date: Sun Nov 10 23:48:16 2013
New Revision: 257932
URL: http://svnweb.freebsd.org/changeset/base/257932

Log:
  Use relaxed (write-only) memory barriers when writing some of queue index
  registers (for now on ISP2400+).  We never read those registers back and
  AFAIK their semantics does not require any immediate reaction on write.

Modified:
  head/sys/dev/isp/isp_freebsd.h
  head/sys/dev/isp/isp_pci.c

Modified: head/sys/dev/isp/isp_freebsd.h
==============================================================================
--- head/sys/dev/isp/isp_freebsd.h	Sun Nov 10 23:35:08 2013	(r257931)
+++ head/sys/dev/isp/isp_freebsd.h	Sun Nov 10 23:48:16 2013	(r257932)
@@ -459,6 +459,39 @@ default:							\
 	break;							\
 }
 
+#define	MEMORYBARRIERW(isp, type, offset, size, chan)		\
+switch (type) {							\
+case SYNC_SFORDEV:						\
+{								\
+	struct isp_fc *fc = ISP_FC_PC(isp, chan);		\
+	bus_dmamap_sync(fc->tdmat, fc->tdmap,			\
+	   BUS_DMASYNC_PREWRITE);				\
+	break;							\
+}								\
+case SYNC_REQUEST:						\
+	bus_dmamap_sync(isp->isp_osinfo.cdmat,			\
+	   isp->isp_osinfo.cdmap, BUS_DMASYNC_PREWRITE);	\
+	break;							\
+case SYNC_SFORCPU:						\
+{								\
+	struct isp_fc *fc = ISP_FC_PC(isp, chan);		\
+	bus_dmamap_sync(fc->tdmat, fc->tdmap,			\
+	   BUS_DMASYNC_POSTWRITE);				\
+	break;							\
+}								\
+case SYNC_RESULT:						\
+	bus_dmamap_sync(isp->isp_osinfo.cdmat, 			\
+	   isp->isp_osinfo.cdmap, BUS_DMASYNC_POSTWRITE);	\
+	break;							\
+case SYNC_REG:							\
+	bus_space_barrier(isp->isp_osinfo.bus_tag,		\
+	    isp->isp_osinfo.bus_handle, offset, size,		\
+	    BUS_SPACE_BARRIER_WRITE);				\
+	break;							\
+default:							\
+	break;							\
+}
+
 #define	MBOX_ACQUIRE			isp_mbox_acquire
 #define	MBOX_WAIT_COMPLETE		isp_mbox_wait_complete
 #define	MBOX_NOTIFY_COMPLETE		isp_mbox_notify_done

Modified: head/sys/dev/isp/isp_pci.c
==============================================================================
--- head/sys/dev/isp/isp_pci.c	Sun Nov 10 23:35:08 2013	(r257931)
+++ head/sys/dev/isp/isp_pci.c	Sun Nov 10 23:48:16 2013	(r257932)
@@ -1432,6 +1432,15 @@ isp_pci_wr_reg_2400(ispsoftc_t *isp, int
 	case BIU2400_GPIOE:
 	case BIU2400_HSEMA:
 		BXW4(isp, IspVirt2Off(isp, regoff), val);
+#ifdef MEMORYBARRIERW
+		if (regoff == BIU2400_REQINP ||
+		    regoff == BIU2400_RSPOUTP ||
+		    regoff == BIU2400_PRI_REQINP ||
+		    regoff == BIU2400_ATIO_RSPOUTP)
+			MEMORYBARRIERW(isp, SYNC_REG,
+			    IspVirt2Off(isp, regoff), 4, -1)
+		else
+#endif
 		MEMORYBARRIER(isp, SYNC_REG, IspVirt2Off(isp, regoff), 4, -1);
 		break;
 	default:

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 00:45:18 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 5BDE9AAD;
 Mon, 11 Nov 2013 00:45:18 +0000 (UTC)
 (envelope-from neel@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 2FA582D42;
 Mon, 11 Nov 2013 00:45:18 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAB0jI9r014365;
 Mon, 11 Nov 2013 00:45:18 GMT (envelope-from neel@svn.freebsd.org)
Received: (from neel@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAB0jH0i014363;
 Mon, 11 Nov 2013 00:45:17 GMT (envelope-from neel@svn.freebsd.org)
Message-Id: <201311110045.rAB0jH0i014363@svn.freebsd.org>
From: Neel Natu <neel@FreeBSD.org>
Date: Mon, 11 Nov 2013 00:45:17 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257933 - head/usr.sbin/bhyve
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 00:45:18 -0000

Author: neel
Date: Mon Nov 11 00:45:17 2013
New Revision: 257933
URL: http://svnweb.freebsd.org/changeset/base/257933

Log:
  x86 platforms that use an IOAPIC route the legacy timer interrupt (IRQ0) to
  pin 2 of the IOAPIC.
  
  Add an 'Interrupt Source Override' entry to the MADT to describe this
  and start asserting interrupts on pin 2 in the 8254 device model.
  
  Submitted by:	Tycho Nightingale (tycho.nightingale@pluribusnetworks.com)

Modified:
  head/usr.sbin/bhyve/acpi.c
  head/usr.sbin/bhyve/pit_8254.c

Modified: head/usr.sbin/bhyve/acpi.c
==============================================================================
--- head/usr.sbin/bhyve/acpi.c	Sun Nov 10 23:48:16 2013	(r257932)
+++ head/usr.sbin/bhyve/acpi.c	Mon Nov 11 00:45:17 2013	(r257933)
@@ -259,7 +259,17 @@ basl_fwrite_madt(FILE *fp)
 	EFPRINTF(fp, "[0004]\t\tInterrupt : 00000000\n");
 	EFPRINTF(fp, "\n");
 
-	/* Override the 8259 chained vector. XXX maybe not needed */
+	/* Legacy IRQ0 is connected to pin 2 of the IOAPIC */
+	EFPRINTF(fp, "[0001]\t\tSubtable Type : 02\n");
+	EFPRINTF(fp, "[0001]\t\tLength : 0A\n");
+	EFPRINTF(fp, "[0001]\t\tBus : 00\n");
+	EFPRINTF(fp, "[0001]\t\tSource : 00\n");
+	EFPRINTF(fp, "[0004]\t\tInterrupt : 00000002\n");
+	EFPRINTF(fp, "[0002]\t\tFlags (decoded below) : 0005\n");
+	EFPRINTF(fp, "\t\t\tPolarity : 1\n");
+	EFPRINTF(fp, "\t\t\tTrigger Mode : 1\n");
+	EFPRINTF(fp, "\n");
+
 	EFPRINTF(fp, "[0001]\t\tSubtable Type : 02\n");
 	EFPRINTF(fp, "[0001]\t\tLength : 0A\n");
 	EFPRINTF(fp, "[0001]\t\tBus : 00\n");

Modified: head/usr.sbin/bhyve/pit_8254.c
==============================================================================
--- head/usr.sbin/bhyve/pit_8254.c	Sun Nov 10 23:48:16 2013	(r257932)
+++ head/usr.sbin/bhyve/pit_8254.c	Mon Nov 11 00:45:17 2013	(r257933)
@@ -106,8 +106,8 @@ pit_mevent_cb(int fd, enum ev_type type,
 
 	pit_mev_count++;
 
-	ioapic_assert_pin(c->ctx, 0);
-	ioapic_deassert_pin(c->ctx, 0);
+	ioapic_assert_pin(c->ctx, 2);
+	ioapic_deassert_pin(c->ctx, 2);
 
 	/*
 	 * Delete the timer for one-shots

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 01:00:32 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id BAFDA404;
 Mon, 11 Nov 2013 01:00:32 +0000 (UTC)
 (envelope-from peter@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id A45332E47;
 Mon, 11 Nov 2013 01:00:32 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAB10WqT020585;
 Mon, 11 Nov 2013 01:00:32 GMT (envelope-from peter@svn.freebsd.org)
Received: (from peter@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAB10TAl020562;
 Mon, 11 Nov 2013 01:00:29 GMT (envelope-from peter@svn.freebsd.org)
Message-Id: <201311110100.rAB10TAl020562@svn.freebsd.org>
From: Peter Wemm <peter@FreeBSD.org>
Date: Mon, 11 Nov 2013 01:00:29 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-vendor@freebsd.org
Subject: svn commit: r257934 - in vendor/subversion/dist: . subversion/include
 subversion/include/private subversion/libsvn_client subversion/libsvn_diff
 subversion/libsvn_fs subversion/libsvn_fs_base subve...
X-SVN-Group: vendor
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 01:00:32 -0000

Author: peter
Date: Mon Nov 11 01:00:29 2013
New Revision: 257934
URL: http://svnweb.freebsd.org/changeset/base/257934

Log:
  Import svn-1.8.4, which includes fixes for both security and merge
  handling.

Modified:
  vendor/subversion/dist/CHANGES
  vendor/subversion/dist/INSTALL
  vendor/subversion/dist/Makefile.in
  vendor/subversion/dist/build-outputs.mk
  vendor/subversion/dist/build.conf
  vendor/subversion/dist/configure
  vendor/subversion/dist/subversion/include/private/svn_client_private.h
  vendor/subversion/dist/subversion/include/private/svn_subr_private.h
  vendor/subversion/dist/subversion/include/svn_config.h
  vendor/subversion/dist/subversion/include/svn_types.h
  vendor/subversion/dist/subversion/include/svn_version.h
  vendor/subversion/dist/subversion/libsvn_client/commit.c
  vendor/subversion/dist/subversion/libsvn_client/merge.c
  vendor/subversion/dist/subversion/libsvn_client/mergeinfo.c
  vendor/subversion/dist/subversion/libsvn_client/update.c
  vendor/subversion/dist/subversion/libsvn_diff/diff_file.c
  vendor/subversion/dist/subversion/libsvn_fs/fs-loader.c
  vendor/subversion/dist/subversion/libsvn_fs_base/fs.c
  vendor/subversion/dist/subversion/libsvn_fs_fs/fs.c
  vendor/subversion/dist/subversion/libsvn_fs_fs/fs_fs.c
  vendor/subversion/dist/subversion/libsvn_fs_fs/rep-cache-db.h
  vendor/subversion/dist/subversion/libsvn_ra/ra_loader.c
  vendor/subversion/dist/subversion/libsvn_ra/ra_loader.h
  vendor/subversion/dist/subversion/libsvn_ra_local/ra_plugin.c
  vendor/subversion/dist/subversion/libsvn_ra_local/split_url.c
  vendor/subversion/dist/subversion/libsvn_ra_serf/commit.c
  vendor/subversion/dist/subversion/libsvn_ra_serf/ra_serf.h
  vendor/subversion/dist/subversion/libsvn_ra_serf/replay.c
  vendor/subversion/dist/subversion/libsvn_ra_serf/serf.c
  vendor/subversion/dist/subversion/libsvn_ra_serf/util.c
  vendor/subversion/dist/subversion/libsvn_ra_svn/client.c
  vendor/subversion/dist/subversion/libsvn_subr/auth.c
  vendor/subversion/dist/subversion/libsvn_subr/cache_config.c
  vendor/subversion/dist/subversion/libsvn_subr/cmdline.c
  vendor/subversion/dist/subversion/libsvn_subr/config_auth.c
  vendor/subversion/dist/subversion/libsvn_subr/deprecated.c
  vendor/subversion/dist/subversion/libsvn_subr/dirent_uri.c
  vendor/subversion/dist/subversion/libsvn_subr/internal_statements.h
  vendor/subversion/dist/subversion/libsvn_subr/io.c
  vendor/subversion/dist/subversion/libsvn_subr/sysinfo.c
  vendor/subversion/dist/subversion/libsvn_subr/utf.c
  vendor/subversion/dist/subversion/libsvn_subr/version.c
  vendor/subversion/dist/subversion/libsvn_subr/win32_crashrpt.c
  vendor/subversion/dist/subversion/libsvn_wc/diff_editor.c
  vendor/subversion/dist/subversion/libsvn_wc/diff_local.c
  vendor/subversion/dist/subversion/libsvn_wc/info.c
  vendor/subversion/dist/subversion/libsvn_wc/old-and-busted.c
  vendor/subversion/dist/subversion/libsvn_wc/update_editor.c
  vendor/subversion/dist/subversion/libsvn_wc/wc-checks.h
  vendor/subversion/dist/subversion/libsvn_wc/wc-metadata.h
  vendor/subversion/dist/subversion/libsvn_wc/wc-queries.h
  vendor/subversion/dist/subversion/libsvn_wc/wc-queries.sql
  vendor/subversion/dist/subversion/libsvn_wc/wc_db.c
  vendor/subversion/dist/subversion/libsvn_wc/wc_db.h
  vendor/subversion/dist/subversion/libsvn_wc/wc_db_private.h
  vendor/subversion/dist/subversion/libsvn_wc/wc_db_update_move.c
  vendor/subversion/dist/subversion/svn/cl.h
  vendor/subversion/dist/subversion/svn/status-cmd.c
  vendor/subversion/dist/subversion/svn/status.c
  vendor/subversion/dist/subversion/svn/svn.c
  vendor/subversion/dist/subversion/svnadmin/svnadmin.c
  vendor/subversion/dist/subversion/svndumpfilter/svndumpfilter.c
  vendor/subversion/dist/subversion/svnlook/svnlook.c
  vendor/subversion/dist/subversion/svnmucc/svnmucc.c
  vendor/subversion/dist/subversion/svnserve/svnserve.c
  vendor/subversion/dist/subversion/svnsync/svnsync.c
  vendor/subversion/dist/subversion/svnversion/svnversion.c

Modified: vendor/subversion/dist/CHANGES
==============================================================================
--- vendor/subversion/dist/CHANGES	Mon Nov 11 00:45:17 2013	(r257933)
+++ vendor/subversion/dist/CHANGES	Mon Nov 11 01:00:29 2013	(r257934)
@@ -1,3 +1,98 @@
+Version 1.8.4
+(29 October 2013, from /branches/1.8.x)
+http://svn.apache.org/repos/asf/subversion/tags/1.8.4
+
+ User-visible changes:
+  - Client- and server-side bugfixes:
+    * fix assertion on urls of the form 'file://./' (r1516806)
+    * stop linking against psapi.dll on Windows (r1534102)
+    * translation updates for Swedish
+
+  - Client-side bugfixes:
+    * revert: fix problems reverting moves (issue #4436)
+    * update: fix assertion when file external access is denied (issue #4422)
+    * merge: reduce network connections for automatic merge (r1468980 et al)
+    * merge: fix path corruption during reintegration (r1523666)
+    * mergeinfo: fix crash (r1519955)
+    * ra_serf: verify the result of xml parsing (r1501199 et al)
+    * ra_serf: improve error messages during commit (r1526439)
+    * ra_local: fix error with repository in Windows drive root (r1518184)
+    * fix crash on windows when piped command is interrupted (r1522892)
+    * fix crash in the crash handler on windows (r1532023)
+    * fix assertion when upgrading old working copies (r1520529)
+
+  - Server-side bugfixes:
+    * hotcopy: cleanup unpacked revprops with '--incremental' (r1512300 et al)
+    * fix OOM on concurrent requests at threaded server start (r1527103 et al)
+    * fsfs: improve error message when unsupported fsfs format found (r1534158)
+    * fix memory problem in 3rd party FS module loader (r1519615 et al)
+
+ Developer-visible changes:
+  - General:
+    * allow compiling against serf 1.3 and later on Windows (r1517123)
+
+  - Bindings:
+    * javahl: canonicalize path for streaFileContent method (r1524869)
+
+
+Version 1.8.3
+(29 August 2013, from /branches/1.8.x)
+http://svn.apache.org/repos/asf/subversion/tags/1.8.3
+
+ User-visible changes:
+  - Client- and server-side bugfixes:
+    * translation updates for Swedish
+    * enforce strict version equality between tools and libraries (r1502267)
+    * consistently output revisions as "r%ld" in error messags (r1499044 et al)
+
+  - Client-side bugfixes:
+    * status: always use absolute paths in XML output (issue #4398)
+    * ra_serf: 'svn log -v' fails with a 1.2.x server (issue #4044)
+    * ra_serf: fix crash when committing cp with deep deletion (issue #4400)
+    * diff: issue an error for files that can't fit in memory (r1513119 et al)
+    * svnmucc: generate proper error for mismatched URLs (r1511353)
+    * update: fix a crash when a temp file doesn't exist (r1513156)
+    * commit & update: improve sleep for timestamps performance (r1508438)
+    * diff: continue on missing or obstructing files (issue #4396)
+    * ra_serf: use runtime serf version for User-Agent (r1514315, r1514628)
+    * ra_serf: ignore case when checking certificate common names (r1514763)
+    * ra_serf: format distinguished names properly (r1514804)
+    * ra_serf: do not retry HTTP requests if we started to parse them (r1503318)
+    * ra_serf: output ssl cert verification failure reason (r1514785 et al)
+    * ra_serf: allow session reuse after SVN_ERR_CEASE_INVOCATION (r1502901)
+    * ra_serf: include library version in '--version' output (r1514295 et al)
+    * info: fix spurious error on wc root with child in conflict (r1515366)
+
+  - Server-side bugfixes:
+    * svnserve: fix creation of pid files (r1516556)
+    * svnadmin: fix output encoding in non-UTF8 environments (r1506966)
+    * svnsync: fix high memory usage when running over ra_serf (r1515249 et al)
+    * mod_dav_svn: do not map requests to filesystem (r1512432 et al)
+    * svnauthz: improve help strings (r1511272) 
+    * fsfs: fixed manifest file growth with revprop changes (r1513874)
+    * fsfs: fix packed revprops causing loss of revprops (r1513879 et al)
+  
+  - Other tool improvements and bugfixes:
+    * svnwcsub/irkerbridge: fix symlink attack via pid file (r175 from upstream)
+
+ Developer-visible changes:
+  - General:
+    * describe APR unimplemented errors as coming from APR (r1503010 et al)
+    * mod_dav_svn: update INSTALL to reflect configure defaults (r1515141)
+    * davautocheck: use the correct apxs binary by default (r1507889, r1507891)
+
+  - API changes:
+    * svn_config_walk_auth_data() config_dir arg: permit NULL (r1507382 et al)
+
+  - Bindings:
+    * swig-pl: fix SVN::Client not honoring config file settings (r150744)
+    * swig-pl & swig-py: disable unusable svn_fs_set_warning_func (r1515119)
+
+
+Version 1.8.2
+(Not released, see changes for 1.8.3.)
+ 
+ 
 Version 1.8.1
 (23 July 2013, from /branches/1.8.x)
 http://svn.apache.org/repos/asf/subversion/tags/1.8.1
@@ -54,6 +149,8 @@ http://svn.apache.org/repos/asf/subversi
     * svnadmin create: deny '--fs-type=fsfs --compatible-version=1.0' (r1494223)
     * svnadmin upgrade: fix data loss when cancelling in last stage (r1494298)
     * mod_dav_svn: fix incorrect path canonicalization (r1503528)
+            See CVE-2013-4131, and descriptive advisory at
+            http://subversion.apache.org/security/CVE-2013-4131-advisory.txt
 
   - Other tool improvements and bugfixes:
     * fsfs-stats (tool): resolve segfault when passing invalid path (r1492164)
@@ -361,7 +458,7 @@ http://svn.apache.org/repos/asf/subversi
     * support for Serf 2 (r1147538)
     * introduction of editor v2 (via private APIs only) (r1166332 et al)
     * improve SQLite setup for compatibility with OS X 10.7. (r1181666)
-    * rework switch statement to accomodate OWC compiler limitations (r1204407)
+    * rework switch statement to accommodate OWC compiler limitations (r1204407)
     * new --enable-sqlite-compatibility-version configure option (r1201421)
     * make test suite LD_LIBRARY_PATH include just-built auth plugins (r1200474)
     * packages/ directory removed, contents were outdated and unused (r1442167)
@@ -426,6 +523,35 @@ http://svn.apache.org/repos/asf/subversi
     * fix some reference counting bugs in swig-py bindings (r1464899, r1466524)
 
 
+Version 1.7.13
+(29 Aug 2013, from /branches/1.7.x)
+http://svn.apache.org/repos/asf/subversion/tags/1.7.13
+
+ User-visible changes:
+  - General
+    * merge: fix bogus mergeinfo with conflicting file merges (issue #4306)
+    * diff: fix duplicated path component in '--summarize' output (issue #4408)
+    * ra_serf: ignore case when checking certificate common names (r1514763)
+
+  - Server-side bugfixes:
+    * svnserve: fix creation of pid files (r1516556)
+    * mod_dav_svn: better status codes for commit failures (r1490684)
+    * mod_dav_svn: do not map requests to filesystem (r1512432 et al)
+
+ Developer-visible changes:
+  - General:
+    * support linking against gssapi on Solaris 10 (r1515068)
+    * don't use uninitialized variable to produce an error code (r1482282)
+
+  - Bindings:
+    * swig-pl: fix SVN::Client not honoring config file settings (r150744)
+    * swig-pl & swig-py: disable unusable svn_fs_set_warning_func (r1515119)
+
+
+Version 1.7.12
+(Not released, see changes for 1.7.13.)
+ 
+ 
 Version 1.7.11
 (23 Jul 2013, from /branches/1.7.x)
 http://svn.apache.org/repos/asf/subversion/tags/1.7.11
@@ -436,9 +562,13 @@ http://svn.apache.org/repos/asf/subversi
 
   - Server-side bugfixes:
     * mod_dav_svn: fix incorrect path canonicalization (r1503528)
+            See CVE-2013-4131, and descriptive advisory at
+            http://subversion.apache.org/security/CVE-2013-4131-advisory.txt
 
   - Other tool improvements and bugfixes:
     * fix argument processing in contrib hook scripts (r1485350)
+            See CVE-2013-2088, and descriptive advisory at
+            http://subversion.apache.org/security/CVE-2013-2088-advisory.txt
 
  Developer-visible changes:
   - Bindings:
@@ -464,7 +594,11 @@ http://svn.apache.org/repos/asf/subversi
 
   - Server-side bugfixes:
     * fix FSFS repository corruption due to newline in filename (issue #4340)
+            See CVE-2013-1968, and descriptive advisory at
+            http://subversion.apache.org/security/CVE-2013-1968-advisory.txt
     * fix svnserve exiting when a client connection is aborted (r1482759)
+            See CVE-2013-2112, and descriptive advisory at
+            http://subversion.apache.org/security/CVE-2013-2112-advisory.txt
     * fix svnserve memory use after clear (issue #4365)
     * fix repository corruption on power/disk failure on Windows (r1483781)
 
@@ -490,6 +624,9 @@ http://svn.apache.org/repos/asf/subversi
     * fix segfault when using kwallet (r1421103)
     
   - Server-side bugfixes:
+      See CVE-2013-1845, CVE-2013-1846, CVE-2013-1847, CVE-2013-1849,
+      and CVE-2013-1884, and descriptive advisories at
+            http://subversion.apache.org/security/
     * svnserve will log the replayed rev not the low-water rev. (r1461278)
     * mod_dav_svn will omit some property values for activity urls (r1453780)
     * fix an assertion in mod_dav_svn when acting as a proxy on / (issue #4272)
@@ -1027,6 +1164,8 @@ http://svn.apache.org/repos/asf/subversi
   - Server-side bugfixes:
     * fix FSFS repository corruption due to newline in filename (issue #4340)
     * fix svnserve exiting when a client connection is aborted (r1482759)
+            See CVE-2013-2112, and descriptive advisory at
+            http://subversion.apache.org/security/CVE-2013-2112-advisory.txt
 
   - Other tool improvements and bugfixes:
     * fix argument processing in contrib hook scripts (r1485350)

Modified: vendor/subversion/dist/INSTALL
==============================================================================
--- vendor/subversion/dist/INSTALL	Mon Nov 11 00:45:17 2013	(r257933)
+++ vendor/subversion/dist/INSTALL	Mon Nov 11 01:00:29 2013	(r257934)
@@ -3,7 +3,7 @@
                           A Quick Guide
                ======================================
 
-$LastChangedDate: 2013-06-05 04:00:25 +0000 (Wed, 05 Jun 2013) $
+$LastChangedDate: 2013-09-27 06:57:44 +0000 (Fri, 27 Sep 2013) $
 
 
 Contents:
@@ -477,7 +477,7 @@ I.    INTRODUCTION
 
       13. SQLite  (REQUIRED)
 
-      Subversion 1.7 requires SQLite version 3.6.18 or above.  You can meet
+      Subversion 1.8 requires SQLite version 3.7.12 or above.  You can meet
       this dependency several ways:
         * Use an SQLite amalgamation file.
         * Specify an SQLite installation to use.
@@ -1263,7 +1263,8 @@ III.  BUILDING A SUBVERSION SERVER
 
       After the make install, the Subversion shared libraries are in
       /usr/local/lib/.  mod_dav_svn.so should be installed in
-      /usr/local/apache2/modules/.
+      /usr/local/libexec/ (or elsewhere, such as /usr/local/apache2/modules/,
+      if you passed --with-apache-libexecdir to configure).
 
 
       Section II.E explains how to build the server on Windows.
@@ -1287,8 +1288,9 @@ III.  BUILDING A SUBVERSION SERVER
       http://httpd.apache.org/docs-2.0/
 
       First, your httpd.conf needs to load the mod_dav_svn module.
-      Subversion's 'make install' target should automatically add this
-      line for you.  But if apache gives you an error like "Unknown
+      If you pass --enable-mod-activation to Subversion's configure,
+      'make install' target should automatically add this line for you.
+      In any case, if Apache HTTPD gives you an error like "Unknown
       DAV provider: svn", then you may want to verify that this line
       exists in your httpd.conf:
 

Modified: vendor/subversion/dist/Makefile.in
==============================================================================
--- vendor/subversion/dist/Makefile.in	Mon Nov 11 00:45:17 2013	(r257933)
+++ vendor/subversion/dist/Makefile.in	Mon Nov 11 01:00:29 2013	(r257934)
@@ -340,8 +340,8 @@ TEST_SHLIB_VAR_SWIG_RB=\
     done; \
     export @SVN_APR_SHLIB_PATH_VAR@; \
   fi;
- 
-APXS = @APXS@ 
+
+APXS = @APXS@
 
 PYTHON = @PYTHON@
 PERL = @PERL@

Modified: vendor/subversion/dist/build-outputs.mk
==============================================================================
--- vendor/subversion/dist/build-outputs.mk	Mon Nov 11 00:45:17 2013	(r257933)
+++ vendor/subversion/dist/build-outputs.mk	Mon Nov 11 01:00:29 2013	(r257934)
@@ -1977,7 +1977,7 @@ subversion/libsvn_client/compat_provider
 
 subversion/libsvn_client/copy.lo: subversion/libsvn_client/copy.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/inclu
 de/svn_time.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/libsvn_client/mergeinfo.h subversion/svn_private_config.h
 
-subversion/libsvn_client/copy_foreign.lo: subversion/libsvn_client/copy_foreign.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include
 /svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h
+subversion/libsvn_client/copy_foreign.lo: subversion/libsvn_client/copy_foreign.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include
 /svn_version.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h
 
 subversion/libsvn_client/ctx.lo: subversion/libsvn_client/ctx.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h
 
@@ -1985,17 +1985,17 @@ subversion/libsvn_client/delete.lo: subv
 
 subversion/libsvn_client/deprecated.lo: subversion/libsvn_client/deprecated.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_opt_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_compat.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn
 _types.h subversion/include/svn_utf.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/libsvn_client/mergeinfo.h subversion/svn_private_config.h
 
-subversion/libsvn_client/diff.lo: subversion/libsvn_client/diff.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_private.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_io_private.h subversion/include/private/svn_magic.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subvers
 ion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h
+subversion/libsvn_client/diff.lo: subversion/libsvn_client/diff.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_private.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_io_private.h subversion/include/private/svn_magic.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subvers
 ion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h
 
 subversion/libsvn_client/diff_local.lo: subversion/libsvn_client/diff_local.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_wc.h subversi
 on/libsvn_client/client.h subversion/svn_private_config.h
 
 subversion/libsvn_client/diff_summarize.lo: subversion/libsvn_client/diff_summarize.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_client/client.h
 
-subversion/libsvn_client/export.lo: subversion/libsvn_client/export.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_delta_private.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/inc
 lude/svn_subst.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h
+subversion/libsvn_client/export.lo: subversion/libsvn_client/export.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_delta_private.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/inc
 lude/svn_subst.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h
 
 subversion/libsvn_client/externals.lo: subversion/libsvn_client/externals.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversi
 on/svn_private_config.h
 
-subversion/libsvn_client/import.lo: subversion/libsvn_client/import.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_subst.h
  subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h
+subversion/libsvn_client/import.lo: subversion/libsvn_client/import.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_subst.h
  subversion/include/svn_types.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h
 
 subversion/libsvn_client/info.lo: subversion/libsvn_client/info.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_fspath.h subversion/include/private/svn_magic.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversio
 n/svn_private_config.h
 
@@ -2007,11 +2007,11 @@ subversion/libsvn_client/locking_command
 
 subversion/libsvn_client/log.lo: subversion/libsvn_client/log.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_compat.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/
 svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h
 
-subversion/libsvn_client/merge.lo: subversion/libsvn_client/merge.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_fspath.h subversion/include/private/svn_magic.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_opt_private.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subve
 rsion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/libsvn_client/mergeinfo.h subversion/svn_private_config.h
+subversion/libsvn_client/merge.lo: subversion/libsvn_client/merge.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_fspath.h subversion/include/private/svn_magic.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_opt_private.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subve
 rsion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/libsvn_client/mergeinfo.h subversion/svn_private_config.h
 
 subversion/libsvn_client/mergeinfo.lo: subversion/libsvn_client/mergeinfo.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_fspath.h subversion/include/private/svn_magic.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_opt_private.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/i
 nclude/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/libsvn_client/mergeinfo.h subversion/svn_private_config.h
 
-subversion/libsvn_client/patch.lo: subversion/libsvn_client/patch.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_eol_private.h subversion/include/private/svn_magic.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/includ
 e/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h
+subversion/libsvn_client/patch.lo: subversion/libsvn_client/patch.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_eol_private.h subversion/include/private/svn_magic.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/includ
 e/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h
 
 subversion/libsvn_client/prop_commands.lo: subversion/libsvn_client/prop_commands.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include
 /svn_types.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h
 
@@ -2019,7 +2019,7 @@ subversion/libsvn_client/ra.lo: subversi
 
 subversion/libsvn_client/relocate.lo: subversion/libsvn_client/relocate.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h
 
-subversion/libsvn_client/repos_diff.lo: subversion/libsvn_client/repos_diff.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn
 _wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h
+subversion/libsvn_client/repos_diff.lo: subversion/libsvn_client/repos_diff.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn
 _version.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h
 
 subversion/libsvn_client/resolved.lo: subversion/libsvn_client/resolved.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion
 /svn_private_config.h
 
@@ -2133,13 +2133,13 @@ subversion/libsvn_fs_base/dag.lo: subver
 
 subversion/libsvn_fs_base/err.lo: subversion/libsvn_fs_base/err.c subversion/include/private/svn_debug.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_base/err.h subversion/libsvn_fs_base/id.h subversion/svn_private_config.h
 
-subversion/libsvn_fs_base/fs.lo: subversion/libsvn_fs_base/fs.c subversion/include/private/svn_debug.h subversion/include/private/svn_fs_util.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_base/bdb/bdb-err.h subversion/libsvn_fs_base/bdb/bdb_compat.h subversion/libsvn_fs_base/bdb/changes-table.h subversion/libsvn_fs_base/bdb/checksum-reps-table.h subversion/libsvn_fs_base/bdb/copies-table.h subversion/libsvn_fs_base/bdb/env.h subversion/libsvn_fs_base/bdb/lock-tokens-table.h s
 ubversion/libsvn_fs_base/bdb/locks-table.h subversion/libsvn_fs_base/bdb/miscellaneous-table.h subversion/libsvn_fs_base/bdb/node-origins-table.h subversion/libsvn_fs_base/bdb/nodes-table.h subversion/libsvn_fs_base/bdb/reps-table.h subversion/libsvn_fs_base/bdb/rev-table.h subversion/libsvn_fs_base/bdb/strings-table.h subversion/libsvn_fs_base/bdb/txn-table.h subversion/libsvn_fs_base/bdb/uuids-table.h subversion/libsvn_fs_base/dag.h subversion/libsvn_fs_base/err.h subversion/libsvn_fs_base/fs.h subversion/libsvn_fs_base/id.h subversion/libsvn_fs_base/lock.h subversion/libsvn_fs_base/revs-txns.h subversion/libsvn_fs_base/trail.h subversion/libsvn_fs_base/tree.h subversion/libsvn_fs_base/uuid.h subversion/svn_private_config.h
+subversion/libsvn_fs_base/fs.lo: subversion/libsvn_fs_base/fs.c subversion/include/private/svn_debug.h subversion/include/private/svn_fs_util.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_base/bdb/bdb-err.h subversion/libsvn_fs_base/bdb/bdb_compat.h subversion/libsvn_fs_base/bdb/changes-table.h subversion/libsvn_fs_base/bdb/checksum-reps-table.h subversion/libsvn_fs_base/bdb/copies-table.h subversion/libsvn_fs_base/bdb/env.h subve
 rsion/libsvn_fs_base/bdb/lock-tokens-table.h subversion/libsvn_fs_base/bdb/locks-table.h subversion/libsvn_fs_base/bdb/miscellaneous-table.h subversion/libsvn_fs_base/bdb/node-origins-table.h subversion/libsvn_fs_base/bdb/nodes-table.h subversion/libsvn_fs_base/bdb/reps-table.h subversion/libsvn_fs_base/bdb/rev-table.h subversion/libsvn_fs_base/bdb/strings-table.h subversion/libsvn_fs_base/bdb/txn-table.h subversion/libsvn_fs_base/bdb/uuids-table.h subversion/libsvn_fs_base/dag.h subversion/libsvn_fs_base/err.h subversion/libsvn_fs_base/fs.h subversion/libsvn_fs_base/id.h subversion/libsvn_fs_base/lock.h subversion/libsvn_fs_base/revs-txns.h subversion/libsvn_fs_base/trail.h subversion/libsvn_fs_base/tree.h subversion/libsvn_fs_base/uuid.h subversion/svn_private_config.h
 
 subversion/libsvn_fs_base/id.lo: subversion/libsvn_fs_base/id.c subversion/include/private/svn_debug.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_base/id.h
 
 subversion/libsvn_fs_base/key-gen.lo: subversion/libsvn_fs_base/key-gen.c subversion/include/private/svn_debug.h subversion/include/private/svn_skel.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_fs_base/key-gen.h
 
-subversion/libsvn_fs_base/lock.lo: subversion/libsvn_fs_base/lock.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_fs_util.h subversion/include/private/svn_skel.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_base/bdb/bdb_compat.h subversion/libsvn_fs_base/bdb/env.h subversion/libsvn_fs_base/bdb/lock-tokens-table.h subversion/libsvn_fs_base/bdb/locks-table.h subversion/libsvn_fs_base/err.h subversion/libsvn_fs_base/fs.h subversion/libsvn_fs_base/lock.h subversion/libsvn_fs_base/trail.h subver
 sion/libsvn_fs_base/tree.h subversion/libsvn_fs_base/util/fs_skels.h subversion/svn_private_config.h
+subversion/libsvn_fs_base/lock.lo: subversion/libsvn_fs_base/lock.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_fs_util.h subversion/include/private/svn_skel.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_base/bdb/bdb_compat.h subversion/libsvn_fs_base/bdb/env.h subversion/libsvn_fs_base/bdb/lock-tokens-table.h subversion/libsvn_fs_base/bdb/locks-table.h subversion/libsvn_fs_base/err.h subversion/libsvn_fs_base/fs.h subversion/libsvn_fs_base/lock.h subvers
 ion/libsvn_fs_base/trail.h subversion/libsvn_fs_base/tree.h subversion/libsvn_fs_base/util/fs_skels.h subversion/svn_private_config.h
 
 subversion/libsvn_fs_base/node-rev.lo: subversion/libsvn_fs_base/node-rev.c subversion/include/private/svn_debug.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_base/bdb/bdb_compat.h subversion/libsvn_fs_base/bdb/env.h subversion/libsvn_fs_base/bdb/node-origins-table.h subversion/libsvn_fs_base/bdb/nodes-table.h subversion/libsvn_fs_base/err.h subversion/libsvn_fs_base/fs.h subversion/libsvn_fs_base/id.h subversion/libsvn_fs_base/node-rev.h subversion/libsvn_fs_base/reps-strings.h subversion/libsvn_fs_base/trail.h subversion/svn_private_config.h
 
@@ -2151,15 +2151,15 @@ subversion/libsvn_fs_base/trail.lo: subv
 
 subversion/libsvn_fs_base/tree.lo: subversion/libsvn_fs_base/tree.c subversion/include/private/svn_debug.h subversion/include/private/svn_fs_util.h subversion/include/private/svn_fspath.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_skel.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_base/bdb/bdb_compat.h subversion/libsvn_fs_base/bdb/changes-table.h subversion/libsvn_fs_base/bdb/copies-table.h subversion/libsvn_fs_base/bdb/env.h subversion/libsvn_fs_base/bdb/miscellaneo
 us-table.h subversion/libsvn_fs_base/bdb/node-origins-table.h subversion/libsvn_fs_base/bdb/nodes-table.h subversion/libsvn_fs_base/bdb/rev-table.h subversion/libsvn_fs_base/bdb/txn-table.h subversion/libsvn_fs_base/dag.h subversion/libsvn_fs_base/err.h subversion/libsvn_fs_base/fs.h subversion/libsvn_fs_base/id.h subversion/libsvn_fs_base/key-gen.h subversion/libsvn_fs_base/lock.h subversion/libsvn_fs_base/node-rev.h subversion/libsvn_fs_base/revs-txns.h subversion/libsvn_fs_base/trail.h subversion/libsvn_fs_base/tree.h subversion/svn_private_config.h
 
-subversion/libsvn_fs_base/util/fs_skels.lo: subversion/libsvn_fs_base/util/fs_skels.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_skel.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/libsvn_fs_base/bdb/bdb_compat.h subversion/libsvn_fs_base/bdb/env.h subversion/libsvn_fs_base/fs.h subversion/libsvn_fs_base/id.h subversion/libsvn_fs_base/util/fs_skels.h subversion/svn_private_config.h
+subversion/libsvn_fs_base/util/fs_skels.lo: subversion/libsvn_fs_base/util/fs_skels.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_skel.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_fs_base/bdb/bdb_compat.h subversion/libsvn_fs_base/bdb/env.h subversion/libsvn_fs_base/fs.h subversion/libsvn_fs_base/id.h subversion/libsvn_fs_base/util/fs_skels.h subversion/svn_private_config.h
 
 subversion/libsvn_fs_base/uuid.lo: subversion/libsvn_fs_base/uuid.c subversion/include/private/svn_debug.h subversion/include/private/svn_fs_util.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_base/bdb/bdb_compat.h subversion/libsvn_fs_base/bdb/env.h subversion/libsvn_fs_base/bdb/uuids-table.h subversion/libsvn_fs_base/err.h subversion/libsvn_fs_base/fs.h subversion/libsvn_fs_base/trail.h subversion/libsvn_fs_base/uuid.h subversion/svn_private_config.h
 
-subversion/libsvn_fs_fs/caching.lo: subversion/libsvn_fs_fs/caching.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fs_private.h subversion/include/private/svn_mutex.h subversion/include/private/svn_named_atomic.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/svn_cache_config.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_mergeinfo.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_fs/fs
 -loader.h subversion/libsvn_fs_fs/dag.h subversion/libsvn_fs_fs/fs.h subversion/libsvn_fs_fs/fs_fs.h subversion/libsvn_fs_fs/id.h subversion/libsvn_fs_fs/temp_serializer.h subversion/libsvn_fs_fs/tree.h subversion/svn_private_config.h
+subversion/libsvn_fs_fs/caching.lo: subversion/libsvn_fs_fs/caching.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fs_private.h subversion/include/private/svn_mutex.h subversion/include/private/svn_named_atomic.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/svn_cache_config.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_mergeinfo.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_
 version.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_fs/dag.h subversion/libsvn_fs_fs/fs.h subversion/libsvn_fs_fs/fs_fs.h subversion/libsvn_fs_fs/id.h subversion/libsvn_fs_fs/temp_serializer.h subversion/libsvn_fs_fs/tree.h subversion/svn_private_config.h
 
 subversion/libsvn_fs_fs/dag.lo: subversion/libsvn_fs_fs/dag.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fs_private.h subversion/include/private/svn_fspath.h subversion/include/private/svn_mutex.h subversion/include/private/svn_named_atomic.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_temp_serializer.h subversion/include/private/svn_token.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn
 _string.h subversion/include/svn_types.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_fs/dag.h subversion/libsvn_fs_fs/fs.h subversion/libsvn_fs_fs/fs_fs.h subversion/libsvn_fs_fs/id.h subversion/libsvn_fs_fs/key-gen.h subversion/libsvn_fs_fs/temp_serializer.h subversion/svn_private_config.h
 
-subversion/libsvn_fs_fs/fs.lo: subversion/libsvn_fs_fs/fs.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fs_private.h subversion/include/private/svn_fs_util.h subversion/include/private/svn_mutex.h subversion/include/private/svn_named_atomic.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_token.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_mergeinfo.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_fs/fs.h subversion/
 libsvn_fs_fs/fs_fs.h subversion/libsvn_fs_fs/id.h subversion/libsvn_fs_fs/lock.h subversion/libsvn_fs_fs/rep-cache.h subversion/libsvn_fs_fs/tree.h subversion/svn_private_config.h
+subversion/libsvn_fs_fs/fs.lo: subversion/libsvn_fs_fs/fs.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fs_private.h subversion/include/private/svn_fs_util.h subversion/include/private/svn_mutex.h subversion/include/private/svn_named_atomic.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_mergeinfo.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_fs/fs-loa
 der.h subversion/libsvn_fs_fs/fs.h subversion/libsvn_fs_fs/fs_fs.h subversion/libsvn_fs_fs/id.h subversion/libsvn_fs_fs/lock.h subversion/libsvn_fs_fs/rep-cache.h subversion/libsvn_fs_fs/tree.h subversion/svn_private_config.h
 
 subversion/libsvn_fs_fs/fs_fs.lo: subversion/libsvn_fs_fs/fs_fs.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_delta_private.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fs_private.h subversion/include/private/svn_fs_util.h subversion/include/private/svn_mutex.h subversion/include/private/svn_named_atomic.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_ctype.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/sv
 n_iter.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_fs/fs.h subversion/libsvn_fs_fs/fs_fs.h subversion/libsvn_fs_fs/id.h subversion/libsvn_fs_fs/key-gen.h subversion/libsvn_fs_fs/lock.h subversion/libsvn_fs_fs/rep-cache.h subversion/libsvn_fs_fs/temp_serializer.h subversion/libsvn_fs_fs/tree.h subversion/svn_private_config.h
 
@@ -2171,9 +2171,9 @@ subversion/libsvn_fs_fs/lock.lo: subvers
 
 subversion/libsvn_fs_fs/rep-cache.lo: subversion/libsvn_fs_fs/rep-cache.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fs_private.h subversion/include/private/svn_mutex.h subversion/include/private/svn_named_atomic.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_token.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_fs/fs.h subve
 rsion/libsvn_fs_fs/fs_fs.h subversion/libsvn_fs_fs/rep-cache-db.h subversion/libsvn_fs_fs/rep-cache.h subversion/svn_private_config.h
 
-subversion/libsvn_fs_fs/temp_serializer.lo: subversion/libsvn_fs_fs/temp_serializer.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fs_private.h subversion/include/private/svn_fs_util.h subversion/include/private/svn_mutex.h subversion/include/private/svn_named_atomic.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_temp_serializer.h subversion/include/private/svn_token.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_mergeinfo.h subversion/include/svn_pools.h subversion/include
 /svn_string.h subversion/include/svn_types.h subversion/libsvn_fs_fs/fs.h subversion/libsvn_fs_fs/id.h subversion/libsvn_fs_fs/temp_serializer.h
+subversion/libsvn_fs_fs/temp_serializer.lo: subversion/libsvn_fs_fs/temp_serializer.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fs_private.h subversion/include/private/svn_fs_util.h subversion/include/private/svn_mutex.h subversion/include/private/svn_named_atomic.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_temp_serializer.h subversion/include/private/svn_token.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_mergeinfo.h subversion/include/svn_pools.h subversion/include
 /svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_fs_fs/fs.h subversion/libsvn_fs_fs/id.h subversion/libsvn_fs_fs/temp_serializer.h
 
-subversion/libsvn_fs_fs/tree.lo: subversion/libsvn_fs_fs/tree.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fs_private.h subversion/include/private/svn_fs_util.h subversion/include/private/svn_fspath.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_mutex.h subversion/include/private/svn_named_atomic.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_merge
 info.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_fs/dag.h subversion/libsvn_fs_fs/fs.h subversion/libsvn_fs_fs/fs_fs.h subversion/libsvn_fs_fs/id.h subversion/libsvn_fs_fs/key-gen.h subversion/libsvn_fs_fs/lock.h subversion/libsvn_fs_fs/temp_serializer.h subversion/libsvn_fs_fs/tree.h subversion/svn_private_config.h
+subversion/libsvn_fs_fs/tree.lo: subversion/libsvn_fs_fs/tree.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fs_private.h subversion/include/private/svn_fs_util.h subversion/include/private/svn_fspath.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_mutex.h subversion/include/private/svn_named_atomic.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_merge
 info.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_fs/dag.h subversion/libsvn_fs_fs/fs.h subversion/libsvn_fs_fs/fs_fs.h subversion/libsvn_fs_fs/id.h subversion/libsvn_fs_fs/key-gen.h subversion/libsvn_fs_fs/lock.h subversion/libsvn_fs_fs/temp_serializer.h subversion/libsvn_fs_fs/tree.h subversion/svn_private_config.h
 
 subversion/libsvn_fs_util/fs-util.lo: subversion/libsvn_fs_util/fs-util.c subversion/include/private/svn_debug.h subversion/include/private/svn_fs_util.h subversion/include/private/svn_fspath.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_fs/fs-loader.h subversion/svn_private_config.h
 
@@ -2189,7 +2189,7 @@ subversion/libsvn_ra/ra_loader.lo: subve
 
 subversion/libsvn_ra/util.lo: subversion/libsvn_ra/util.c subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_ra_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/svn_private_config.h
 
-subversion/libsvn_ra_local/ra_plugin.lo: subversion/libsvn_ra_local/ra_plugin.c subversion/include/private/svn_atomic.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fspath.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_repos_private.h subversion/include/svn_auth.h subversion/include/svn_cache_config.h subversion/include/svn_checksum.h subversion/include/svn_compat.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_repos.h
  subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_ra/ra_loader.h subversion/libsvn_ra/wrapper_template.h subversion/libsvn_ra_local/ra_local.h subversion/svn_private_config.h
+subversion/libsvn_ra_local/ra_plugin.lo: subversion/libsvn_ra_local/ra_plugin.c subversion/include/private/svn_atomic.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fspath.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_repos_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_cache_config.h subversion/include/svn_checksum.h subversion/include/svn_compat.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/i
 nclude/svn_ra.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_ra/ra_loader.h subversion/libsvn_ra/wrapper_template.h subversion/libsvn_ra_local/ra_local.h subversion/svn_private_config.h
 
 subversion/libsvn_ra_local/split_url.lo: subversion/libsvn_ra_local/split_url.c subversion/include/private/svn_debug.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_ra.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_ra_local/ra_local.h subversion/svn_private_config.h
 
@@ -2237,7 +2237,7 @@ subversion/libsvn_ra_serf/util_error.lo:
 
 subversion/libsvn_ra_serf/xml.lo: subversion/libsvn_ra_serf/xml.c subversion/include/private/svn_dav_protocol.h subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_dav.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/include/svn_xml.h subversion/libsvn_ra/ra_loader.h subversion/libsvn_ra_serf/blncache.h subversion/libsvn_ra_serf/ra_se
 rf.h subversion/svn_private_config.h
 
-subversion/libsvn_ra_svn/client.lo: subversion/libsvn_ra_svn/client.c subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_fspath.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_ra_svn_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_compat.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_ra_svn.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_ra/ra_loader.h subversion/libsvn_ra/wrapper_template.h subversio
 n/libsvn_ra_svn/ra_svn.h subversion/svn_private_config.h
+subversion/libsvn_ra_svn/client.lo: subversion/libsvn_ra_svn/client.c subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_fspath.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_ra_svn_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_compat.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_ra_svn.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_ra/ra_loader.h sub
 version/libsvn_ra/wrapper_template.h subversion/libsvn_ra_svn/ra_svn.h subversion/svn_private_config.h
 
 subversion/libsvn_ra_svn/cram.lo: subversion/libsvn_ra_svn/cram.c subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_ra_svn_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_ra.h subversion/include/svn_ra_svn.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_ra_svn/ra_svn.h subversion/svn_private_config.h
 
@@ -2273,7 +2273,7 @@ subversion/libsvn_repos/load-fs-vtable.l
 
 subversion/libsvn_repos/load.lo: subversion/libsvn_repos/load.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_mergeinfo_private.h subversion/include/svn_checksum.h subversion/include/svn_ctype.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/libsvn_repos/repos.h subversion/svn_private_config.h
 
-subversion/libsvn_repos/log.lo: subversion/libsvn_repos/log.c subversion/include/private/svn_debug.h subversion/include/private/svn_fspath.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_compat.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_repos.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_repos/repos.h subversion/svn_private_config.h
+subversion/libsvn_repos/log.lo: subversion/libsvn_repos/log.c subversion/include/private/svn_debug.h subversion/include/private/svn_fspath.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_compat.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_repos.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_repos/repos.h subversion/svn_private_config.h
 
 subversion/libsvn_repos/node_tree.lo: subversion/libsvn_repos/node_tree.c subversion/include/private/svn_debug.h subversion/include/private/svn_fspath.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_repos/repos.h subversion/svn_private_config.h
 
@@ -2281,7 +2281,7 @@ subversion/libsvn_repos/notify.lo: subve
 
 subversion/libsvn_repos/replay.lo: subversion/libsvn_repos/replay.c subversion/include/private/svn_debug.h subversion/include/private/svn_delta_private.h subversion/include/private/svn_editor.h subversion/include/private/svn_fspath.h subversion/include/private/svn_repos_private.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_repos.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/svn_private_config.h
 
-subversion/libsvn_repos/reporter.lo: subversion/libsvn_repos/reporter.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_fspath.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_repos/repos.h subversion/svn_private_config.h
+subversion/libsvn_repos/reporter.lo: subversion/libsvn_repos/reporter.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_fspath.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_repos/repos.h subversion/svn_private_config.h
 
 subversion/libsvn_repos/repos.lo: subversion/libsvn_repos/repos.c subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_repos_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/libsvn_repos/repos.h subversion/svn_private_config.h
 
@@ -2291,9 +2291,9 @@ subversion/libsvn_subr/adler32.lo: subve
 
 subversion/libsvn_subr/atomic.lo: subversion/libsvn_subr/atomic.c subversion/include/private/svn_atomic.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_types.h
 
-subversion/libsvn_subr/auth.lo: subversion/libsvn_subr/auth.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_dso.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_subr/auth.h subversion/svn_private_config.h
+subversion/libsvn_subr/auth.lo: subversion/libsvn_subr/auth.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_dso.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_subr/auth.h subversion/svn_private_config.h
 
-subversion/libsvn_subr/base64.lo: subversion/libsvn_subr/base64.c subversion/include/private/svn_debug.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_base64.h subversion/include/svn_checksum.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h
+subversion/libsvn_subr/base64.lo: subversion/libsvn_subr/base64.c subversion/include/private/svn_debug.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_base64.h subversion/include/svn_checksum.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h
 
 subversion/libsvn_subr/cache-inprocess.lo: subversion/libsvn_subr/cache-inprocess.c subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_mutex.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_subr/cache.h subversion/svn_private_config.h
 
@@ -2303,9 +2303,9 @@ subversion/libsvn_subr/cache-memcache.lo
 
 subversion/libsvn_subr/cache.lo: subversion/libsvn_subr/cache.c subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_subr/cache.h
 
-subversion/libsvn_subr/cache_config.lo: subversion/libsvn_subr/cache_config.c subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/svn_cache_config.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h
+subversion/libsvn_subr/cache_config.lo: subversion/libsvn_subr/cache_config.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/svn_cache_config.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h
 
-subversion/libsvn_subr/checksum.lo: subversion/libsvn_subr/checksum.c subversion/include/private/svn_debug.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_ctype.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_subr/md5.h subversion/libsvn_subr/sha1.h subversion/svn_private_config.h
+subversion/libsvn_subr/checksum.lo: subversion/libsvn_subr/checksum.c subversion/include/private/svn_debug.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_ctype.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_subr/md5.h subversion/libsvn_subr/sha1.h subversion/svn_private_config.h
 
 subversion/libsvn_subr/cmdline.lo: subversion/libsvn_subr/cmdline.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_string_private.h subversion/include/private/svn_utf_private.h subversion/include/svn_auth.h subversion/include/svn_base64.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_ctype.h subversion/include/svn_dirent_uri.h subversion/include/svn_dso.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_nls.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_xml.h subversion/libsvn_subr/win32_crashrpt.h subversion/svn_privat
 e_config.h
 
@@ -2327,7 +2327,7 @@ subversion/libsvn_subr/date.lo: subversi
 
 subversion/libsvn_subr/debug.lo: subversion/libsvn_subr/debug.c subversion/include/private/svn_debug.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_string.h subversion/include/svn_types.h
 
-subversion/libsvn_subr/deprecated.lo: subversion/libsvn_subr/deprecated.c subversion/include/private/svn_debug.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_opt_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_dirent_uri.h subversion/include/svn_dso.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/include/svn_xml.h subversion/libsvn_subr/opt.h subversion/svn_private_config.h
+subversion/libsvn_subr/deprecated.lo: subversion/libsvn_subr/deprecated.c subversion/include/private/svn_debug.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_opt_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_dirent_uri.h subversion/include/svn_dso.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/include/svn_xml.h subversion/libsvn_subr/opt.h subversion/svn_private_config.h
 
 subversion/libsvn_subr/dirent_uri.lo: subversion/libsvn_subr/dirent_uri.c subversion/include/private/svn_debug.h subversion/include/private/svn_fspath.h subversion/include/svn_ctype.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_path.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_subr/dirent_uri.h subversion/svn_private_config.h
 
@@ -2339,7 +2339,7 @@ subversion/libsvn_subr/error.lo: subvers
 
 subversion/libsvn_subr/gpg_agent.lo: subversion/libsvn_subr/gpg_agent.c subversion/include/private/svn_auth_private.h subversion/include/private/svn_debug.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/svn_private_config.h
 
-subversion/libsvn_subr/hash.lo: subversion/libsvn_subr/hash.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_pools.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/svn_private_config.h
+subversion/libsvn_subr/hash.lo: subversion/libsvn_subr/hash.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_pools.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/svn_private_config.h
 
 subversion/libsvn_subr/io.lo: subversion/libsvn_subr/io.c subversion/include/private/svn_atomic.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_io_private.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_ctype.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/svn_private_config.h
 
@@ -2355,7 +2355,7 @@ subversion/libsvn_subr/magic.lo: subvers
 
 subversion/libsvn_subr/md5.lo: subversion/libsvn_subr/md5.c subversion/include/private/svn_debug.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_md5.h subversion/include/svn_types.h subversion/libsvn_subr/md5.h
 
-subversion/libsvn_subr/mergeinfo.lo: subversion/libsvn_subr/mergeinfo.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_fspath.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_ctype.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/svn_private_config.h
+subversion/libsvn_subr/mergeinfo.lo: subversion/libsvn_subr/mergeinfo.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_fspath.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_ctype.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/svn_private_config.h
 
 subversion/libsvn_subr/mutex.lo: subversion/libsvn_subr/mutex.c subversion/include/private/svn_debug.h subversion/include/private/svn_mutex.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_types.h subversion/svn_private_config.h
 
@@ -2371,7 +2371,7 @@ subversion/libsvn_subr/pool.lo: subversi
 
 subversion/libsvn_subr/prompt.lo: subversion/libsvn_subr/prompt.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_ctype.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_path.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/svn_private_config.h
 
-subversion/libsvn_subr/properties.lo: subversion/libsvn_subr/properties.c subversion/include/private/svn_debug.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_ctype.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_props.h subversion/include/svn_string.h subversion/include/svn_types.h
+subversion/libsvn_subr/properties.lo: subversion/libsvn_subr/properties.c subversion/include/private/svn_debug.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_ctype.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_props.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h
 
 subversion/libsvn_subr/pseudo_md5.lo: subversion/libsvn_subr/pseudo_md5.c subversion/include/private/svn_pseudo_md5.h
 
@@ -2385,7 +2385,7 @@ subversion/libsvn_subr/skel.lo: subversi
 
 subversion/libsvn_subr/sorts.lo: subversion/libsvn_subr/sorts.c subversion/include/private/svn_debug.h subversion/include/svn_checksum.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_path.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h
 
-subversion/libsvn_subr/spillbuf.lo: subversion/libsvn_subr/spillbuf.c subversion/include/private/svn_debug.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h
+subversion/libsvn_subr/spillbuf.lo: subversion/libsvn_subr/spillbuf.c subversion/include/private/svn_debug.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h
 
 subversion/libsvn_subr/sqlite.lo: subversion/libsvn_subr/sqlite.c subversion/include/private/svn_atomic.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_token.h subversion/include/svn_checksum.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_subr/internal_statements.h subversion/svn_private_config.h
 
@@ -2397,7 +2397,7 @@ subversion/libsvn_subr/ssl_client_cert_p
 
 subversion/libsvn_subr/ssl_server_trust_providers.lo: subversion/libsvn_subr/ssl_server_trust_providers.c subversion/include/private/svn_debug.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_string.h subversion/include/svn_types.h
 
-subversion/libsvn_subr/stream.lo: subversion/libsvn_subr/stream.c subversion/include/private/svn_debug.h subversion/include/private/svn_eol_private.h subversion/include/private/svn_error_private.h subversion/include/private/svn_io_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/svn_private_config.h
+subversion/libsvn_subr/stream.lo: subversion/libsvn_subr/stream.c subversion/include/private/svn_debug.h subversion/include/private/svn_eol_private.h subversion/include/private/svn_error_private.h subversion/include/private/svn_io_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/svn_private_config.h
 
 subversion/libsvn_subr/string.lo: subversion/libsvn_subr/string.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_string_private.h subversion/include/svn_ctype.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/svn_private_config.h
 
@@ -2441,7 +2441,7 @@ subversion/libsvn_wc/adm_crawler.lo: sub
 
 subversion/libsvn_wc/adm_files.lo: subversion/libsvn_wc/adm_files.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_wc/adm_files.h subversion/libsvn_wc/entries.h subversion/libsvn_wc/lock.h subversion/libsvn_wc/props.h subversion/libsvn_wc/wc.h subver
 sion/libsvn_wc/wc_db.h subversion/svn_private_config.h
 
-subversion/libsvn_wc/adm_ops.lo: subversion/libsvn_wc/adm_ops.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h sub
 version/include/svn_wc.h subversion/libsvn_wc/adm_files.h subversion/libsvn_wc/conflicts.h subversion/libsvn_wc/props.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/libsvn_wc/workqueue.h subversion/svn_private_config.h
+subversion/libsvn_wc/adm_ops.lo: subversion/libsvn_wc/adm_ops.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h sub
 version/include/svn_version.h subversion/include/svn_wc.h subversion/libsvn_wc/adm_files.h subversion/libsvn_wc/conflicts.h subversion/libsvn_wc/props.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/libsvn_wc/workqueue.h subversion/svn_private_config.h
 
 subversion/libsvn_wc/ambient_depth_filter_editor.lo: subversion/libsvn_wc/ambient_depth_filter_editor.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/svn_private_config.h
 
@@ -2457,15 +2457,15 @@ subversion/libsvn_wc/crop.lo: subversion
 
 subversion/libsvn_wc/delete.lo: subversion/libsvn_wc/delete.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_wc/adm_files.h subversion/libsvn_wc/conflicts.h subversion/libsvn_wc/props.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/libsvn_wc/workqueue.h subve
 rsion/svn_private_config.h
 
-subversion/libsvn_wc/deprecated.lo: subversion/libsvn_wc/deprecated.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/li
 bsvn_wc/entries.h subversion/libsvn_wc/lock.h subversion/libsvn_wc/props.h subversion/libsvn_wc/translate.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/libsvn_wc/workqueue.h subversion/svn_private_config.h
+subversion/libsvn_wc/deprecated.lo: subversion/libsvn_wc/deprecated.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_version.h subversi
 on/include/svn_wc.h subversion/libsvn_wc/entries.h subversion/libsvn_wc/lock.h subversion/libsvn_wc/props.h subversion/libsvn_wc/translate.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/libsvn_wc/workqueue.h subversion/svn_private_config.h
 
-subversion/libsvn_wc/diff_editor.lo: subversion/libsvn_wc/diff_editor.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.
 h subversion/include/svn_wc.h subversion/libsvn_wc/adm_files.h subversion/libsvn_wc/diff.h subversion/libsvn_wc/props.h subversion/libsvn_wc/translate.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/svn_private_config.h
+subversion/libsvn_wc/diff_editor.lo: subversion/libsvn_wc/diff_editor.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.
 h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/libsvn_wc/adm_files.h subversion/libsvn_wc/diff.h subversion/libsvn_wc/props.h subversion/libsvn_wc/translate.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/svn_private_config.h
 
 subversion/libsvn_wc/diff_local.lo: subversion/libsvn_wc/diff_local.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_wc/diff.h subversion/libsvn_wc/props.h subversion/libsvn_wc/translate.h
  subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/svn_private_config.h
 
 subversion/libsvn_wc/entries.lo: subversion/libsvn_wc/entries.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_ctype.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_wc/adm_files.h subversion/libsvn_wc/conflicts.h
  subversion/libsvn_wc/entries.h subversion/libsvn_wc/lock.h subversion/libsvn_wc/props.h subversion/libsvn_wc/tree_conflicts.h subversion/libsvn_wc/wc-queries.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/svn_private_config.h
 
-subversion/libsvn_wc/externals.lo: subversion/libsvn_wc/externals.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libs
 vn_wc/adm_files.h subversion/libsvn_wc/conflicts.h subversion/libsvn_wc/props.h subversion/libsvn_wc/translate.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/libsvn_wc/workqueue.h subversion/svn_private_config.h
+subversion/libsvn_wc/externals.lo: subversion/libsvn_wc/externals.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_version.h subversion
 /include/svn_wc.h subversion/libsvn_wc/adm_files.h subversion/libsvn_wc/conflicts.h subversion/libsvn_wc/props.h subversion/libsvn_wc/translate.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/libsvn_wc/workqueue.h subversion/svn_private_config.h
 
 subversion/libsvn_wc/info.lo: subversion/libsvn_wc/info.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/svn_private_config.h
 
@@ -2477,7 +2477,7 @@ subversion/libsvn_wc/node.lo: subversion
 
 subversion/libsvn_wc/old-and-busted.lo: subversion/libsvn_wc/old-and-busted.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_ctype.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/include/svn_xml.h subversion/libsvn_wc/a
 dm_files.h subversion/libsvn_wc/entries.h subversion/libsvn_wc/lock.h subversion/libsvn_wc/props.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/svn_private_config.h
 
-subversion/libsvn_wc/props.lo: subversion/libsvn_wc/props.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/incl
 ude/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_wc.h subversion/libsvn_wc/conflicts.h subversion/libsvn_wc/props.h subversion/libsvn_wc/translate.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/libsvn_wc/workqueue.h subversion/svn_private_config.h
+subversion/libsvn_wc/props.lo: subversion/libsvn_wc/props.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/incl
 ude/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/libsvn_wc/conflicts.h subversion/libsvn_wc/props.h subversion/libsvn_wc/translate.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/libsvn_wc/workqueue.h subversion/svn_private_config.h
 
 subversion/libsvn_wc/questions.lo: subversion/libsvn_wc/questions.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_wc/conflicts.h subversion/libsvn_wc/translate.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h 
 subversion/svn_private_config.h
 
@@ -2493,7 +2493,7 @@ subversion/libsvn_wc/translate.lo: subve
 
 subversion/libsvn_wc/tree_conflicts.lo: subversion/libsvn_wc/tree_conflicts.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_wc/conflicts.h subversion/libsvn_wc/tree_conflicts.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/svn_private_config.h
 
-subversion/libsvn_wc/update_editor.lo: subversion/libsvn_wc/update_editor.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_time.h subversion/include/svn_typ
 es.h subversion/include/svn_wc.h subversion/libsvn_wc/adm_files.h subversion/libsvn_wc/conflicts.h subversion/libsvn_wc/props.h subversion/libsvn_wc/translate.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/libsvn_wc/workqueue.h subversion/svn_private_config.h
+subversion/libsvn_wc/update_editor.lo: subversion/libsvn_wc/update_editor.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_time.h subversion/include/svn_typ
 es.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/libsvn_wc/adm_files.h subversion/libsvn_wc/conflicts.h subversion/libsvn_wc/props.h subversion/libsvn_wc/translate.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/libsvn_wc/workqueue.h subversion/svn_private_config.h
 
 subversion/libsvn_wc/upgrade.lo: subversion/libsvn_wc/upgrade.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_wc/adm_files.h subversion/libsvn_wc/conflicts.h subversion/libsvn_wc/entries.h subversion/libsvn_wc/props.h 
 subversion/libsvn_wc/tree_conflicts.h subversion/libsvn_wc/wc-queries.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/libsvn_wc/workqueue.h subversion/svn_private_config.h
 
@@ -2659,7 +2659,7 @@ subversion/svn/mkdir-cmd.lo: subversion/
 
 subversion/svn/move-cmd.lo: subversion/svn/move-cmd.c subversion/include/private/svn_debug.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/svn/cl.h subversion/svn_private_config.h
 
-subversion/svn/notify.lo: subversion/svn/notify.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/svn/cl.h subversion/svn_private_config.h
+subversion/svn/notify.lo: subversion/svn/notify.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/svn/cl.h subversion/svn_private_config.h
 
 subversion/svn/patch-cmd.lo: subversion/svn/patch-cmd.c subversion/include/private/svn_debug.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/svn/cl.h subversion/svn_private_config.h
 
@@ -2687,7 +2687,7 @@ subversion/svn/status-cmd.lo: subversion
 
 subversion/svn/status.lo: subversion/svn/status.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/include/svn_xml.h subversion/svn/cl-conflicts.h subversion/svn/cl.h subversion/svn_private_config.h
 
-subversion/svn/svn.lo: subversion/svn/svn.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_opt_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/svn/cl.h subversion/svn_private_config.h
+subversion/svn/svn.lo: subversion/svn/svn.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_opt_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/svn/cl.h subversion/svn_private_config.h
 
 subversion/svn/switch-cmd.lo: subversion/svn/switch-cmd.c subversion/include/private/svn_debug.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/svn/cl.h subversion/svn_private_config.h
 
@@ -2701,13 +2701,13 @@ subversion/svn/util.lo: subversion/svn/u
 
 subversion/svnadmin/svnadmin.lo: subversion/svnadmin/svnadmin.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_opt_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_cache_config.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_user.h subversion/include/svn_ut
 f.h subversion/include/svn_version.h subversion/include/svn_xml.h subversion/svn_private_config.h
 
-subversion/svndumpfilter/svndumpfilter.lo: subversion/svndumpfilter/svndumpfilter.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_mergeinfo_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_repos.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/svn_private_config.h
+subversion/svndumpfilter/svndumpfilter.lo: subversion/svndumpfilter/svndumpfilter.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_repos.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/svn_private_config.h
 
-subversion/svnlook/svnlook.lo: subversion/svnlook/svnlook.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_private.h subversion/include/private/svn_fspath.h subversion/include/private/svn_io_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_repos.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_time.h subversion/include/svn_types
 .h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/include/svn_xml.h subversion/svn_private_config.h
+subversion/svnlook/svnlook.lo: subversion/svnlook/svnlook.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_private.h subversion/include/private/svn_fspath.h subversion/include/private/svn_io_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_repos.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/i
 nclude/svn_time.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/include/svn_xml.h subversion/svn_private_config.h
 
-subversion/svnmucc/svnmucc.lo: subversion/svnmucc/svnmucc.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_string_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_ver
 sion.h subversion/include/svn_wc.h subversion/svn_private_config.h
+subversion/svnmucc/svnmucc.lo: subversion/svnmucc/svnmucc.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversio
 n/include/svn_utf.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/svn_private_config.h
 
-subversion/svnrdump/dump_editor.lo: subversion/svnrdump/dump_editor.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/svnrdump/svnrdump.h
+subversion/svnrdump/dump_editor.lo: subversion/svnrdump/dump_editor.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/svnrdump/svnrdump.h
 
 subversion/svnrdump/load_editor.lo: subversion/svnrdump/load_editor.c subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_fspath.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_repos_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/svn_private_config.h subv
 ersion/svnrdump/svnrdump.h
 
@@ -2721,15 +2721,15 @@ subversion/svnserve/log-escape.lo: subve
 
 subversion/svnserve/serve.lo: subversion/svnserve/serve.c subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_fspath.h subversion/include/private/svn_log.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_ra_svn_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_compat.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_ra_svn.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_u
 ser.h subversion/svn_private_config.h subversion/svnserve/server.h
 
-subversion/svnserve/svnserve.lo: subversion/svnserve/svnserve.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/svn_auth.h subversion/include/svn_cache_config.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra_svn.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/svn_private_config.h subversion/svnserve/server.h subversion/svnserve/winservic
 e.h
+subversion/svnserve/svnserve.lo: subversion/svnserve/svnserve.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_cache_config.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra_svn.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/svn_private_config.h subversion/s
 vnserve/server.h subversion/svnserve/winservice.h
 
 subversion/svnserve/winservice.lo: subversion/svnserve/winservice.c subversion/include/private/svn_debug.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_types.h subversion/svn_private_config.h subversion/svnserve/winservice.h
 
-subversion/svnsync/svnsync.lo: subversion/svnsync/svnsync.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_opt_private.h subversion/include/private/svn_ra_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/svn_private_config.h subversion/svnsync/sync.h
+subversion/svnsync/svnsync.lo: subversion/svnsync/svnsync.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_opt_private.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/s
 vn_private_config.h subversion/svnsync/sync.h
 
 subversion/svnsync/sync.lo: subversion/svnsync/sync.c subversion/include/private/svn_debug.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/svn_private_config.h subversion/svnsync/sync.h
 
-subversion/svnversion/svnversion.lo: subversion/svnversion/svnversion.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_opt_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/svn_private_config.h
+subversion/svnversion/svnversion.lo: subversion/svnversion/svnversion.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_opt_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/svn_private_config.h
 
 subversion/tests/cmdline/atomic-ra-revprop-change.lo: subversion/tests/cmdline/atomic-ra-revprop-change.c subversion/include/private/svn_debug.h subversion/include/private/svn_skel.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/svn_private_config.h
 
@@ -2743,7 +2743,7 @@ subversion/tests/libsvn_delta/svndiff-te
 
 subversion/tests/libsvn_delta/vdelta-test.lo: subversion/tests/libsvn_delta/vdelta-test.c subversion/include/private/svn_debug.h subversion/include/svn_checksum.h subversion/include/svn_ctype.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_delta/delta.h subversion/tests/libsvn_delta/delta-window-test.h subversion/tests/svn_test.h
 
-subversion/tests/libsvn_delta/window-test.lo: subversion/tests/libsvn_delta/window-test.c subversion/include/private/svn_debug.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_path.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/tests/svn_test.h
+subversion/tests/libsvn_delta/window-test.lo: subversion/tests/libsvn_delta/window-test.c subversion/include/private/svn_debug.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_path.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/tests/svn_test.h
 
 subversion/tests/libsvn_diff/diff-diff3-test.lo: subversion/tests/libsvn_diff/diff-diff3-test.c subversion/include/private/svn_debug.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/tests/svn_test.h
 
@@ -2805,7 +2805,7 @@ subversion/tests/libsvn_subr/revision-te
 
 subversion/tests/libsvn_subr/skel-test.lo: subversion/tests/libsvn_subr/skel-test.c subversion/include/private/svn_debug.h subversion/include/private/svn_skel.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/tests/svn_test.h subversion/tests/svn_test_fs.h
 
-subversion/tests/libsvn_subr/spillbuf-test.lo: subversion/tests/libsvn_subr/spillbuf-test.c subversion/include/private/svn_debug.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_path.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/tests/svn_test.h
+subversion/tests/libsvn_subr/spillbuf-test.lo: subversion/tests/libsvn_subr/spillbuf-test.c subversion/include/private/svn_debug.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_path.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/tests/svn_test.h
 
 subversion/tests/libsvn_subr/stream-test.lo: subversion/tests/libsvn_subr/stream-test.c subversion/include/private/svn_debug.h subversion/include/private/svn_io_private.h subversion/include/svn_base64.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/tests/svn_test.h
 
@@ -2869,7 +2869,7 @@ tools/client-side/svn-bench/util.lo: too
 
 tools/dev/fsfs-access-map.lo: tools/dev/fsfs-access-map.c subversion/include/private/svn_debug.h subversion/include/private/svn_string_private.h subversion/include/svn_checksum.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h
 
-tools/dev/fsfs-reorg.lo: tools/dev/fsfs-reorg.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_pools.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h
+tools/dev/fsfs-reorg.lo: tools/dev/fsfs-reorg.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_pools.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h
 
 tools/dev/svnraisetreeconflict/svnraisetreeconflict.lo: tools/dev/svnraisetreeconflict/svnraisetreeconflict.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/svn_private_config.h
 
@@ -2879,7 +2879,7 @@ tools/diff/diff3.lo: tools/diff/diff3.c 
 
 tools/diff/diff4.lo: tools/diff/diff4.c subversion/include/private/svn_debug.h subversion/include/svn_checksum.h subversion/include/svn_diff.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h
 
-tools/server-side/fsfs-stats.lo: tools/server-side/fsfs-stats.c subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_cache_config.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_pools.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h
+tools/server-side/fsfs-stats.lo: tools/server-side/fsfs-stats.c subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_cache_config.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_pools.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h
 
 tools/server-side/mod_dontdothat/mod_dontdothat.lo: tools/server-side/mod_dontdothat/mod_dontdothat.c subversion/include/mod_dav_svn.h subversion/include/private/svn_debug.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_string.h subversion/include/svn_types.h
 	if $(INSTALL_APACHE_MODS) ; then $(COMPILE_APACHE_MOD) $(canonicalized_srcdir)tools/server-side/mod_dontdothat/mod_dontdothat.c ; else echo "fake" > tools/server-side/mod_dontdothat/mod_dontdothat.lo ; fi

Modified: vendor/subversion/dist/build.conf
==============================================================================
--- vendor/subversion/dist/build.conf	Mon Nov 11 00:45:17 2013	(r257933)
+++ vendor/subversion/dist/build.conf	Mon Nov 11 01:00:29 2013	(r257934)
@@ -325,7 +325,7 @@ install = fsmod-lib
 path = subversion/libsvn_subr
 libs = aprutil apriconv apr xml zlib apr_memcache sqlite magic
 msvc-libs = kernel32.lib advapi32.lib shfolder.lib ole32.lib
-            crypt32.lib version.lib psapi.lib
+            crypt32.lib version.lib
 msvc-export = 
         svn_auth.h svn_base64.h svn_cache_config.h svn_checksum.h svn_cmdline.h
         svn_compat.h svn_config.h svn_ctype.h svn_dirent_uri.h svn_dso.h 
@@ -1263,13 +1263,13 @@ lang = python
 [__SWIG_PERL__]
 type = swig_project
 path = build/win32
-libs = swig_client swig_delta swig_fs swig_ra swig_repos swig_wc swig_core
+libs = swig_client swig_delta swig_diff swig_fs swig_ra swig_repos swig_wc swig_core
 lang = perl
 
 [__SWIG_RUBY__]
 type = swig_project
 path = build/win32
-libs = swig_client swig_delta swig_fs swig_ra swig_repos swig_wc swig_core
+libs = swig_client swig_delta swig_diff swig_fs swig_ra swig_repos swig_wc swig_core
 lang = ruby
 
 [__JAVAHL__]

Modified: vendor/subversion/dist/configure
==============================================================================
--- vendor/subversion/dist/configure	Mon Nov 11 00:45:17 2013	(r257933)
+++ vendor/subversion/dist/configure	Mon Nov 11 01:00:29 2013	(r257934)
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for subversion 1.8.1.
+# Generated by GNU Autoconf 2.69 for subversion 1.8.4.
 #
 # Report bugs to <http://subversion.apache.org/>.
 #
@@ -590,8 +590,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='subversion'
 PACKAGE_TARNAME='subversion'
-PACKAGE_VERSION='1.8.1'
-PACKAGE_STRING='subversion 1.8.1'
+PACKAGE_VERSION='1.8.4'
+PACKAGE_STRING='subversion 1.8.4'
 PACKAGE_BUGREPORT='http://subversion.apache.org/'
 PACKAGE_URL=''
 
@@ -1456,7 +1456,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures subversion 1.8.1 to adapt to many kinds of systems.
+\`configure' configures subversion 1.8.4 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1522,7 +1522,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of subversion 1.8.1:";;
+     short | recursive ) echo "Configuration of subversion 1.8.4:";;
    esac
   cat <<\_ACEOF
 
@@ -1736,7 +1736,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-subversion configure 1.8.1
+subversion configure 1.8.4
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2280,7 +2280,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by subversion $as_me 1.8.1, which was
+It was created by subversion $as_me 1.8.4, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2660,8 +2660,8 @@ ac_configure="$SHELL $ac_aux_dir/configu
 
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: Configuring Subversion 1.8.1" >&5
-$as_echo "$as_me: Configuring Subversion 1.8.1" >&6;}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: Configuring Subversion 1.8.4" >&5
+$as_echo "$as_me: Configuring Subversion 1.8.4" >&6;}
 
 abs_srcdir="`cd $srcdir && pwd`"
 
@@ -25736,7 +25736,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by subversion $as_me 1.8.1, which was
+This file was extended by subversion $as_me 1.8.4, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -25802,7 +25802,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-subversion config.status 1.8.1
+subversion config.status 1.8.4
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 

Modified: vendor/subversion/dist/subversion/include/private/svn_client_private.h
==============================================================================
--- vendor/subversion/dist/subversion/include/private/svn_client_private.h	Mon Nov 11 00:45:17 2013	(r257933)
+++ vendor/subversion/dist/subversion/include/private/svn_client_private.h	Mon Nov 11 01:00:29 2013	(r257934)
@@ -306,6 +306,11 @@ svn_client__copy_foreign(const char *url
  * The keys for the subtree mergeinfo are the repository root-relative
  * paths of TARGET_PATH_OR_URL and/or its subtrees, regardless of whether
  * TARGET_PATH_OR_URL is a URL or WC path.
+ *
+ * If RA_SESSION is not NULL, use it to obtain merge information instead of
+ * opening a new session. The session might be reparented after usage, so
+ * callers should reparent the session back to their original location if
+ * needed.
  */
 svn_error_t *
 svn_client__mergeinfo_log(svn_boolean_t finding_merged,
@@ -322,6 +327,7 @@ svn_client__mergeinfo_log(svn_boolean_t 
                           svn_depth_t depth,
                           const apr_array_header_t *revprops,
                           svn_client_ctx_t *ctx,
+                          svn_ra_session_t *ra_session,
                           apr_pool_t *result_pool,
                           apr_pool_t *scratch_pool);
 

Modified: vendor/subversion/dist/subversion/include/private/svn_subr_private.h
==============================================================================
--- vendor/subversion/dist/subversion/include/private/svn_subr_private.h	Mon Nov 11 00:45:17 2013	(r257933)
+++ vendor/subversion/dist/subversion/include/private/svn_subr_private.h	Mon Nov 11 01:00:29 2013	(r257934)
@@ -26,6 +26,7 @@
 
 #include "svn_types.h"
 #include "svn_io.h"
+#include "svn_version.h"
 
 
 #ifdef __cplusplus
@@ -331,6 +332,18 @@ svn_version__at_least(svn_version_t *ver
                       int minor,
                       int patch);
 
+/** Like svn_ver_check_list(), but with a @a comparator parameter.
+ * Private backport of svn_ver_check_list2() from trunk.
+ */
+svn_error_t *
+svn_ver__check_list2(const svn_version_t *my_version,
+                     const svn_version_checklist_t *checklist,
+                     svn_boolean_t (*comparator)(const svn_version_t *,
+                                                 const svn_version_t *));
+
+/** To minimize merge churn in callers, alias the trunk name privately. */
+#define svn_ver_check_list2 svn_ver__check_list2
+
 /** @} */
 
 #ifdef __cplusplus

Modified: vendor/subversion/dist/subversion/include/svn_config.h
==============================================================================
--- vendor/subversion/dist/subversion/include/svn_config.h	Mon Nov 11 00:45:17 2013	(r257933)
+++ vendor/subversion/dist/subversion/include/svn_config.h	Mon Nov 11 01:00:29 2013	(r257934)
@@ -732,6 +732,12 @@ typedef svn_error_t *
  * under @a config_dir.  If the callback sets its delete_cred return
  * flag, delete the associated credential.
  *
+ * If @a config_dir is not NULL, it must point to an alternative
+ * config directory location. If it is NULL, the default location
+ * is used.
+ *
+ * @note @a config_dir may only be NULL in 1.8.2 and later.
+ *
  * @note Removing credentials from the config-based disk store will
  * not purge them from any open svn_auth_baton_t instance.  Consider
  * using svn_auth_forget_credentials() -- from the @a cleanup_func,

Modified: vendor/subversion/dist/subversion/include/svn_types.h
==============================================================================
--- vendor/subversion/dist/subversion/include/svn_types.h	Mon Nov 11 00:45:17 2013	(r257933)
+++ vendor/subversion/dist/subversion/include/svn_types.h	Mon Nov 11 01:00:29 2013	(r257934)
@@ -219,6 +219,16 @@ svn__apr_hash_index_val(const apr_hash_i
                       || ((s) == APR_OS_START_SYSERR + ERROR_INVALID_NAME))
 #endif
 
+/** On Windows, APR_STATUS_IS_EPIPE does not include ERROR_NO_DATA error.
+ * So we include it.*/
+/* ### These fixes should go into APR. */
+#ifndef WIN32
+#define SVN__APR_STATUS_IS_EPIPE(s)  APR_STATUS_IS_EPIPE(s)
+#else
+#define SVN__APR_STATUS_IS_EPIPE(s)  (APR_STATUS_IS_EPIPE(s) \
+                      || ((s) == APR_OS_START_SYSERR + ERROR_NO_DATA))
+#endif
+
 /** @} */
 
 

Modified: vendor/subversion/dist/subversion/include/svn_version.h
==============================================================================
--- vendor/subversion/dist/subversion/include/svn_version.h	Mon Nov 11 00:45:17 2013	(r257933)
+++ vendor/subversion/dist/subversion/include/svn_version.h	Mon Nov 11 01:00:29 2013	(r257934)
@@ -72,7 +72,7 @@ extern "C" {
  *
  * @since New in 1.1.
  */
-#define SVN_VER_PATCH      1
+#define SVN_VER_PATCH      4
 
 
 /** @deprecated Provided for backward compatibility with the 1.0 API. */
@@ -95,7 +95,7 @@ extern "C" {
  *
  * Always change this at the same time as SVN_VER_NUMTAG.
  */
-#define SVN_VER_TAG        " (r1503906)"
+#define SVN_VER_TAG        " (r1534716)"
 
 
 /** Number tag: a string describing the version.
@@ -121,7 +121,7 @@ extern "C" {
  * When rolling a tarball, we automatically replace it with what we
  * guess to be the correct revision number.
  */
-#define SVN_VER_REVISION   1503906
+#define SVN_VER_REVISION   1534716
 
 
 /* Version strings composed from the above definitions. */

Modified: vendor/subversion/dist/subversion/libsvn_client/commit.c
==============================================================================
--- vendor/subversion/dist/subversion/libsvn_client/commit.c	Mon Nov 11 00:45:17 2013	(r257933)
+++ vendor/subversion/dist/subversion/libsvn_client/commit.c	Mon Nov 11 01:00:29 2013	(r257934)
@@ -999,9 +999,22 @@ svn_client_commit6(const apr_array_heade
     }
 
  cleanup:
-  /* Sleep to ensure timestamp integrity. */
+  /* Sleep to ensure timestamp integrity.  BASE_ABSPATH may have been
+     removed by the commit or it may the common ancestor of multiple
+     working copies. */
   if (timestamp_sleep)
-    svn_io_sleep_for_timestamps(base_abspath, pool);
+    {
+      const char *wcroot_abspath;
+      svn_error_t *err = svn_wc__get_wcroot(&wcroot_abspath, ctx->wc_ctx,
+                                            base_abspath, pool, pool);
+      if (err)
+        {
+          svn_error_clear(err);
+          wcroot_abspath = NULL;
+        }
+
+      svn_io_sleep_for_timestamps(wcroot_abspath, pool);
+    }
 
   /* Abort the commit if it is still in progress. */
   svn_pool_clear(iterpool); /* Close open handles before aborting */

Modified: vendor/subversion/dist/subversion/libsvn_client/merge.c
==============================================================================
--- vendor/subversion/dist/subversion/libsvn_client/merge.c	Mon Nov 11 00:45:17 2013	(r257933)
+++ vendor/subversion/dist/subversion/libsvn_client/merge.c	Mon Nov 11 01:00:29 2013	(r257934)
@@ -10716,7 +10716,7 @@ log_find_operative_revs(void *baton,
 
           suffix = svn_relpath_skip_ancestor(subtree_missing_this_rev,
                                              source_rel_path);
-          if (suffix)
+          if (suffix && suffix[0] != '\0')
             {
               missing_path = apr_pstrmemdup(pool, path,
                                             strlen(path) - strlen(suffix) - 1);
@@ -12051,11 +12051,15 @@ short_circuit_mergeinfo_log(svn_mergeinf
                             svn_log_entry_receiver_t receiver,
                             svn_revnum_t *revision,
                             svn_client_ctx_t *ctx,
+                            svn_ra_session_t *ra_session,
                             apr_pool_t *result_pool,
                             apr_pool_t *scratch_pool)
 {
   apr_array_header_t *revprops;
   svn_error_t *err;
+  const char *session_url;
+
+  SVN_ERR(svn_ra_get_session_url(ra_session, &session_url, scratch_pool));
 
   revprops = apr_array_make(scratch_pool, 0, sizeof(const char *));
   err = svn_client__mergeinfo_log(finding_merged,
@@ -12068,8 +12072,12 @@ short_circuit_mergeinfo_log(svn_mergeinf
                                   source_end_revision,
                                   receiver, revision,
                                   TRUE, svn_depth_infinity,
-                                  revprops, ctx, result_pool,
-                                  scratch_pool);
+                                  revprops, ctx, ra_session,
+                                  result_pool, scratch_pool);
+
+  err = svn_error_compose_create(
+                  err,
+                  svn_ra_reparent(ra_session, session_url, scratch_pool));
 
   if (err)
     {
@@ -12133,6 +12141,7 @@ find_last_merged_location(svn_client__pa
                           const branch_history_t *source_branch,
                           svn_client__pathrev_t *target,
                           svn_client_ctx_t *ctx,
+                          svn_ra_session_t *ra_session,
                           apr_pool_t *result_pool,
                           apr_pool_t *scratch_pool)
 {
@@ -12160,7 +12169,8 @@ find_last_merged_location(svn_client__pa
                                       &source_end_rev, &source_start_rev,
                                       operative_rev_receiver,
                                       &youngest_merged_rev,
-                                      ctx, result_pool, scratch_pool));
+                                      ctx, ra_session,
+                                      result_pool, scratch_pool));
 
   if (!SVN_IS_VALID_REVNUM(youngest_merged_rev))
     {
@@ -12195,7 +12205,8 @@ find_last_merged_location(svn_client__pa
                                           &source_start_rev, &source_end_rev,
                                           operative_rev_receiver,
                                           &oldest_eligible_rev,
-                                          ctx, scratch_pool, scratch_pool));
+                                          ctx, ra_session,
+                                          scratch_pool, scratch_pool));
 
       /* If there are revisions eligible for merging, use the oldest one
          to calculate the base.  Otherwise there are no operative revisions
@@ -12249,7 +12260,9 @@ find_base_on_source(svn_client__pathrev_
                                     s_t->yca,
                                     &s_t->source_branch,
                                     s_t->target_branch.tip,
-                                    ctx, result_pool, scratch_pool));
+                                    ctx,
+                                    s_t->source_ra_session,
+                                    result_pool, scratch_pool));
   return SVN_NO_ERROR;
 }
 
@@ -12282,7 +12295,9 @@ find_base_on_target(svn_client__pathrev_
                                     s_t->yca,
                                     &s_t->target_branch,
                                     s_t->source,
-                                    ctx, result_pool, scratch_pool));
+                                    ctx,
+                                    s_t->target_ra_session,
+                                    result_pool, scratch_pool));
 
   return SVN_NO_ERROR;
 }

Modified: vendor/subversion/dist/subversion/libsvn_client/mergeinfo.c
==============================================================================
--- vendor/subversion/dist/subversion/libsvn_client/mergeinfo.c	Mon Nov 11 00:45:17 2013	(r257933)
+++ vendor/subversion/dist/subversion/libsvn_client/mergeinfo.c	Mon Nov 11 01:00:29 2013	(r257934)
@@ -1021,6 +1021,11 @@ svn_client__elide_mergeinfo(const char *
    Set *REPOS_ROOT to the root URL of the repository associated with
    PATH_OR_URL.
 
+   If RA_SESSION is NOT NULL and PATH_OR_URL refers to a URL, RA_SESSION
+   (which must be of the repository containing PATH_OR_URL) will be used
+   instead of a temporary RA session. Caller is responsible for reparenting
+   the session if it wants to use it after the call.
+
    Allocate *MERGEINFO_CATALOG and all its contents in RESULT_POOL.  Use
    SCRATCH_POOL for all temporary allocations.
 
@@ -1034,17 +1039,30 @@ get_mergeinfo(svn_mergeinfo_catalog_t *m
               svn_boolean_t include_descendants,
               svn_boolean_t ignore_invalid_mergeinfo,
               svn_client_ctx_t *ctx,
+              svn_ra_session_t *ra_session,
               apr_pool_t *result_pool,
               apr_pool_t *scratch_pool)
 {
-  svn_ra_session_t *ra_session;
   const char *local_abspath;
   svn_boolean_t use_url = svn_path_is_url(path_or_url);
   svn_client__pathrev_t *peg_loc;
 
-  SVN_ERR(svn_client__ra_session_from_path2(&ra_session, &peg_loc,
-                                            path_or_url, NULL, peg_revision,
-                                            peg_revision, ctx, scratch_pool));
+  if (ra_session && svn_path_is_url(path_or_url))
+    {
+      SVN_ERR(svn_ra_reparent(ra_session, path_or_url, scratch_pool));
+      SVN_ERR(svn_client__resolve_rev_and_url(&peg_loc, ra_session,
+                                              path_or_url,
+                                              peg_revision,
+                                              peg_revision,
+                                              ctx, scratch_pool));
+    }
+  else
+    {
+      SVN_ERR(svn_client__ra_session_from_path2(&ra_session, &peg_loc,
+                                                path_or_url, NULL,
+                                                peg_revision,
+                                                peg_revision, ctx, scratch_pool));
+    }

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

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 01:01:05 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 1E88753F;
 Mon, 11 Nov 2013 01:01:05 +0000 (UTC)
 (envelope-from peter@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 07D0F2E51;
 Mon, 11 Nov 2013 01:01:05 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAB114d2020960;
 Mon, 11 Nov 2013 01:01:05 GMT (envelope-from peter@svn.freebsd.org)
Received: (from peter@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAB114VP020958;
 Mon, 11 Nov 2013 01:01:04 GMT (envelope-from peter@svn.freebsd.org)
Message-Id: <201311110101.rAB114VP020958@svn.freebsd.org>
From: Peter Wemm <peter@FreeBSD.org>
Date: Mon, 11 Nov 2013 01:01:04 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-vendor@freebsd.org
Subject: svn commit: r257935 - in vendor/subversion/subversion-1.8.4: .
 subversion/include subversion/include/private subversion/libsvn_client
 subversion/libsvn_diff subversion/libsvn_fs subversion/libsvn_f...
X-SVN-Group: vendor
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 01:01:05 -0000

Author: peter
Date: Mon Nov 11 01:01:04 2013
New Revision: 257935
URL: http://svnweb.freebsd.org/changeset/base/257935

Log:
  Tag svn-1.8.4 import

Added:
  vendor/subversion/subversion-1.8.4/
     - copied from r257933, vendor/subversion/dist/
Replaced:
  vendor/subversion/subversion-1.8.4/CHANGES
     - copied unchanged from r257934, vendor/subversion/dist/CHANGES
  vendor/subversion/subversion-1.8.4/INSTALL
     - copied unchanged from r257934, vendor/subversion/dist/INSTALL
  vendor/subversion/subversion-1.8.4/Makefile.in
     - copied unchanged from r257934, vendor/subversion/dist/Makefile.in
  vendor/subversion/subversion-1.8.4/build-outputs.mk
     - copied unchanged from r257934, vendor/subversion/dist/build-outputs.mk
  vendor/subversion/subversion-1.8.4/build.conf
     - copied unchanged from r257934, vendor/subversion/dist/build.conf
  vendor/subversion/subversion-1.8.4/configure
     - copied unchanged from r257934, vendor/subversion/dist/configure
  vendor/subversion/subversion-1.8.4/subversion/include/private/svn_client_private.h
     - copied unchanged from r257934, vendor/subversion/dist/subversion/include/private/svn_client_private.h
  vendor/subversion/subversion-1.8.4/subversion/include/private/svn_subr_private.h
     - copied unchanged from r257934, vendor/subversion/dist/subversion/include/private/svn_subr_private.h
  vendor/subversion/subversion-1.8.4/subversion/include/svn_config.h
     - copied unchanged from r257934, vendor/subversion/dist/subversion/include/svn_config.h
  vendor/subversion/subversion-1.8.4/subversion/include/svn_types.h
     - copied unchanged from r257934, vendor/subversion/dist/subversion/include/svn_types.h
  vendor/subversion/subversion-1.8.4/subversion/include/svn_version.h
     - copied unchanged from r257934, vendor/subversion/dist/subversion/include/svn_version.h
  vendor/subversion/subversion-1.8.4/subversion/libsvn_client/commit.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_client/commit.c
  vendor/subversion/subversion-1.8.4/subversion/libsvn_client/merge.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_client/merge.c
  vendor/subversion/subversion-1.8.4/subversion/libsvn_client/mergeinfo.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_client/mergeinfo.c
  vendor/subversion/subversion-1.8.4/subversion/libsvn_client/update.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_client/update.c
  vendor/subversion/subversion-1.8.4/subversion/libsvn_diff/diff_file.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_diff/diff_file.c
  vendor/subversion/subversion-1.8.4/subversion/libsvn_fs/fs-loader.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_fs/fs-loader.c
  vendor/subversion/subversion-1.8.4/subversion/libsvn_fs_base/fs.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_fs_base/fs.c
  vendor/subversion/subversion-1.8.4/subversion/libsvn_fs_fs/fs.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_fs_fs/fs.c
  vendor/subversion/subversion-1.8.4/subversion/libsvn_fs_fs/fs_fs.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_fs_fs/fs_fs.c
  vendor/subversion/subversion-1.8.4/subversion/libsvn_fs_fs/rep-cache-db.h
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_fs_fs/rep-cache-db.h
  vendor/subversion/subversion-1.8.4/subversion/libsvn_ra/ra_loader.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_ra/ra_loader.c
  vendor/subversion/subversion-1.8.4/subversion/libsvn_ra/ra_loader.h
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_ra/ra_loader.h
  vendor/subversion/subversion-1.8.4/subversion/libsvn_ra_local/ra_plugin.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_ra_local/ra_plugin.c
  vendor/subversion/subversion-1.8.4/subversion/libsvn_ra_local/split_url.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_ra_local/split_url.c
  vendor/subversion/subversion-1.8.4/subversion/libsvn_ra_serf/commit.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_ra_serf/commit.c
  vendor/subversion/subversion-1.8.4/subversion/libsvn_ra_serf/ra_serf.h
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_ra_serf/ra_serf.h
  vendor/subversion/subversion-1.8.4/subversion/libsvn_ra_serf/replay.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_ra_serf/replay.c
  vendor/subversion/subversion-1.8.4/subversion/libsvn_ra_serf/serf.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_ra_serf/serf.c
  vendor/subversion/subversion-1.8.4/subversion/libsvn_ra_serf/util.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_ra_serf/util.c
  vendor/subversion/subversion-1.8.4/subversion/libsvn_ra_svn/client.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_ra_svn/client.c
  vendor/subversion/subversion-1.8.4/subversion/libsvn_subr/auth.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_subr/auth.c
  vendor/subversion/subversion-1.8.4/subversion/libsvn_subr/cache_config.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_subr/cache_config.c
  vendor/subversion/subversion-1.8.4/subversion/libsvn_subr/cmdline.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_subr/cmdline.c
  vendor/subversion/subversion-1.8.4/subversion/libsvn_subr/config_auth.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_subr/config_auth.c
  vendor/subversion/subversion-1.8.4/subversion/libsvn_subr/deprecated.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_subr/deprecated.c
  vendor/subversion/subversion-1.8.4/subversion/libsvn_subr/dirent_uri.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_subr/dirent_uri.c
  vendor/subversion/subversion-1.8.4/subversion/libsvn_subr/internal_statements.h
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_subr/internal_statements.h
  vendor/subversion/subversion-1.8.4/subversion/libsvn_subr/io.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_subr/io.c
  vendor/subversion/subversion-1.8.4/subversion/libsvn_subr/sysinfo.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_subr/sysinfo.c
  vendor/subversion/subversion-1.8.4/subversion/libsvn_subr/utf.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_subr/utf.c
  vendor/subversion/subversion-1.8.4/subversion/libsvn_subr/version.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_subr/version.c
  vendor/subversion/subversion-1.8.4/subversion/libsvn_subr/win32_crashrpt.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_subr/win32_crashrpt.c
  vendor/subversion/subversion-1.8.4/subversion/libsvn_wc/diff_editor.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_wc/diff_editor.c
  vendor/subversion/subversion-1.8.4/subversion/libsvn_wc/diff_local.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_wc/diff_local.c
  vendor/subversion/subversion-1.8.4/subversion/libsvn_wc/info.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_wc/info.c
  vendor/subversion/subversion-1.8.4/subversion/libsvn_wc/old-and-busted.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_wc/old-and-busted.c
  vendor/subversion/subversion-1.8.4/subversion/libsvn_wc/update_editor.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_wc/update_editor.c
  vendor/subversion/subversion-1.8.4/subversion/libsvn_wc/wc-checks.h
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_wc/wc-checks.h
  vendor/subversion/subversion-1.8.4/subversion/libsvn_wc/wc-metadata.h
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_wc/wc-metadata.h
  vendor/subversion/subversion-1.8.4/subversion/libsvn_wc/wc-queries.h
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_wc/wc-queries.h
  vendor/subversion/subversion-1.8.4/subversion/libsvn_wc/wc-queries.sql
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_wc/wc-queries.sql
  vendor/subversion/subversion-1.8.4/subversion/libsvn_wc/wc_db.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_wc/wc_db.c
  vendor/subversion/subversion-1.8.4/subversion/libsvn_wc/wc_db.h
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_wc/wc_db.h
  vendor/subversion/subversion-1.8.4/subversion/libsvn_wc/wc_db_private.h
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_wc/wc_db_private.h
  vendor/subversion/subversion-1.8.4/subversion/libsvn_wc/wc_db_update_move.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/libsvn_wc/wc_db_update_move.c
  vendor/subversion/subversion-1.8.4/subversion/svn/cl.h
     - copied unchanged from r257934, vendor/subversion/dist/subversion/svn/cl.h
  vendor/subversion/subversion-1.8.4/subversion/svn/status-cmd.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/svn/status-cmd.c
  vendor/subversion/subversion-1.8.4/subversion/svn/status.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/svn/status.c
  vendor/subversion/subversion-1.8.4/subversion/svn/svn.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/svn/svn.c
  vendor/subversion/subversion-1.8.4/subversion/svnadmin/svnadmin.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/svnadmin/svnadmin.c
  vendor/subversion/subversion-1.8.4/subversion/svndumpfilter/svndumpfilter.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/svndumpfilter/svndumpfilter.c
  vendor/subversion/subversion-1.8.4/subversion/svnlook/svnlook.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/svnlook/svnlook.c
  vendor/subversion/subversion-1.8.4/subversion/svnmucc/svnmucc.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/svnmucc/svnmucc.c
  vendor/subversion/subversion-1.8.4/subversion/svnserve/svnserve.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/svnserve/svnserve.c
  vendor/subversion/subversion-1.8.4/subversion/svnsync/svnsync.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/svnsync/svnsync.c
  vendor/subversion/subversion-1.8.4/subversion/svnversion/svnversion.c
     - copied unchanged from r257934, vendor/subversion/dist/subversion/svnversion/svnversion.c

Copied: vendor/subversion/subversion-1.8.4/CHANGES (from r257934, vendor/subversion/dist/CHANGES)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/subversion/subversion-1.8.4/CHANGES	Mon Nov 11 01:01:04 2013	(r257935, copy of r257934, vendor/subversion/dist/CHANGES)
@@ -0,0 +1,4868 @@
+Version 1.8.4
+(29 October 2013, from /branches/1.8.x)
+http://svn.apache.org/repos/asf/subversion/tags/1.8.4
+
+ User-visible changes:
+  - Client- and server-side bugfixes:
+    * fix assertion on urls of the form 'file://./' (r1516806)
+    * stop linking against psapi.dll on Windows (r1534102)
+    * translation updates for Swedish
+
+  - Client-side bugfixes:
+    * revert: fix problems reverting moves (issue #4436)
+    * update: fix assertion when file external access is denied (issue #4422)
+    * merge: reduce network connections for automatic merge (r1468980 et al)
+    * merge: fix path corruption during reintegration (r1523666)
+    * mergeinfo: fix crash (r1519955)
+    * ra_serf: verify the result of xml parsing (r1501199 et al)
+    * ra_serf: improve error messages during commit (r1526439)
+    * ra_local: fix error with repository in Windows drive root (r1518184)
+    * fix crash on windows when piped command is interrupted (r1522892)
+    * fix crash in the crash handler on windows (r1532023)
+    * fix assertion when upgrading old working copies (r1520529)
+
+  - Server-side bugfixes:
+    * hotcopy: cleanup unpacked revprops with '--incremental' (r1512300 et al)
+    * fix OOM on concurrent requests at threaded server start (r1527103 et al)
+    * fsfs: improve error message when unsupported fsfs format found (r1534158)
+    * fix memory problem in 3rd party FS module loader (r1519615 et al)
+
+ Developer-visible changes:
+  - General:
+    * allow compiling against serf 1.3 and later on Windows (r1517123)
+
+  - Bindings:
+    * javahl: canonicalize path for streaFileContent method (r1524869)
+
+
+Version 1.8.3
+(29 August 2013, from /branches/1.8.x)
+http://svn.apache.org/repos/asf/subversion/tags/1.8.3
+
+ User-visible changes:
+  - Client- and server-side bugfixes:
+    * translation updates for Swedish
+    * enforce strict version equality between tools and libraries (r1502267)
+    * consistently output revisions as "r%ld" in error messags (r1499044 et al)
+
+  - Client-side bugfixes:
+    * status: always use absolute paths in XML output (issue #4398)
+    * ra_serf: 'svn log -v' fails with a 1.2.x server (issue #4044)
+    * ra_serf: fix crash when committing cp with deep deletion (issue #4400)
+    * diff: issue an error for files that can't fit in memory (r1513119 et al)
+    * svnmucc: generate proper error for mismatched URLs (r1511353)
+    * update: fix a crash when a temp file doesn't exist (r1513156)
+    * commit & update: improve sleep for timestamps performance (r1508438)
+    * diff: continue on missing or obstructing files (issue #4396)
+    * ra_serf: use runtime serf version for User-Agent (r1514315, r1514628)
+    * ra_serf: ignore case when checking certificate common names (r1514763)
+    * ra_serf: format distinguished names properly (r1514804)
+    * ra_serf: do not retry HTTP requests if we started to parse them (r1503318)
+    * ra_serf: output ssl cert verification failure reason (r1514785 et al)
+    * ra_serf: allow session reuse after SVN_ERR_CEASE_INVOCATION (r1502901)
+    * ra_serf: include library version in '--version' output (r1514295 et al)
+    * info: fix spurious error on wc root with child in conflict (r1515366)
+
+  - Server-side bugfixes:
+    * svnserve: fix creation of pid files (r1516556)
+    * svnadmin: fix output encoding in non-UTF8 environments (r1506966)
+    * svnsync: fix high memory usage when running over ra_serf (r1515249 et al)
+    * mod_dav_svn: do not map requests to filesystem (r1512432 et al)
+    * svnauthz: improve help strings (r1511272) 
+    * fsfs: fixed manifest file growth with revprop changes (r1513874)
+    * fsfs: fix packed revprops causing loss of revprops (r1513879 et al)
+  
+  - Other tool improvements and bugfixes:
+    * svnwcsub/irkerbridge: fix symlink attack via pid file (r175 from upstream)
+
+ Developer-visible changes:
+  - General:
+    * describe APR unimplemented errors as coming from APR (r1503010 et al)
+    * mod_dav_svn: update INSTALL to reflect configure defaults (r1515141)
+    * davautocheck: use the correct apxs binary by default (r1507889, r1507891)
+
+  - API changes:
+    * svn_config_walk_auth_data() config_dir arg: permit NULL (r1507382 et al)
+
+  - Bindings:
+    * swig-pl: fix SVN::Client not honoring config file settings (r150744)
+    * swig-pl & swig-py: disable unusable svn_fs_set_warning_func (r1515119)
+
+
+Version 1.8.2
+(Not released, see changes for 1.8.3.)
+ 
+ 
+Version 1.8.1
+(23 July 2013, from /branches/1.8.x)
+http://svn.apache.org/repos/asf/subversion/tags/1.8.1
+
+ User-visible changes:
+  - Client- and server-side bugfixes:
+    * translation updates for German and Simplified Chinese
+    * improve sqlite error message output (r1497804)
+    * support platforms lacking mmap (r1498136)
+    * allow configuration files to start with UTF-8 BOM (r1499100 et al)
+    * don't fail on UTF-8 data when encoding conversion not available (r1503009)
+    * improve error messages when encoding conversion fails (r1503010)
+
+  - Client-side bugfixes:
+    * merge: rename 'automatic merge' to 'complete merge' (r1491432)
+    * mergeinfo: reduce network usage for '--show-revs' (r1492005)
+    * ra_serf: improve http status handling (r1495104)
+    * merge: avoid unneeded ra session (r1493475)
+    * merge: reduce network usage (r1478987)
+    * merge: remove duplicated ancestry check (r1493424, r1495597)
+    * ra_serf: fix 'Accept-Encoding' header for IIS interoperability (r1497551)
+    * svn status: improve documentation for lock columns (r1497318, r1497319)
+    * ra_serf: fix support for 'get-file-revs-reversed' capability (r1498456)
+    * log: reduce network usage on repository roots (r1496957)
+    * diff: avoid temporary files when calling external diff (issue #4382)
+    * upgrade: fix notification of 1.7.x working copies (r1493703, r1494171)
+    * fix crash during tree conflict resolution (issue #4388)
+    * interactive file merge: add two additional choices (r1491816, r1494089)
+    * diff: use local style paths in error messages (r1500680)
+    * resolve: improve the interactive conflict resolution menu (r1491739 et al)
+    * switch: use local style path in error message (r1500074)
+    * ra_serf: improve error output when receiving invalid XML (r1498851)
+    * svn cleanup: explain what the command does in help output (r1497310)
+    * blame: error on -r M:N where M>N unless server supports (r1498449 et al)
+    * gpg-agent auth: don't try to use agent when unavailable (r1500762 et al)
+    * gpg-agent auth: don't require GPG_TTY or TERM env vars (r1500801)
+    * update: fix some tree conflicts not triggering resolver (r1491868 et al)
+    * commit: remove stale entries from wc lock table when deleting (r1491756)
+    * merge: fix --record-only erroring out on renamed path (issue #4387)
+    * svnmucc: fix 'make install' symlink to work when DESTDIR is set (r1501072)
+    * wc: fix crash when target is symlink to a working copy root (issue #4383)
+    * ra_serf: change "internal malfunction" errors to normal errors (r1502577)
+    * ra_serf: handle proxies not supporting chunked requests (r1502401 et al)
+
+  - Server-side bugfixes:
+    * fsfs: resolve endless loop problem when repos/db/uuid has \r\n (r1492145)
+    * fsfs: remove revision property buffer limit (r1491770)
+    * mod_dav_svn: better status codes for anonymous user errors (r1495918)
+    * mod_dav_svn: better status codes for commit failures (r1490684)
+    * fix performance regression in 'svn log' against root (r1494913)
+    * allow deleting non-user-visible 'svn:' properties (r1495432)
+    * fsfs: fix crash on strict-alignment architectures (r1495806, r1495985)
+    * svnadmin upgrade: fix error of non-sharded fsfs repositories (r1494287)
+    * svnadmin create: deny '--fs-type=fsfs --compatible-version=1.0' (r1494223)
+    * svnadmin upgrade: fix data loss when cancelling in last stage (r1494298)
+    * mod_dav_svn: fix incorrect path canonicalization (r1503528)
+            See CVE-2013-4131, and descriptive advisory at
+            http://subversion.apache.org/security/CVE-2013-4131-advisory.txt
+
+  - Other tool improvements and bugfixes:
+    * fsfs-stats (tool): resolve segfault when passing invalid path (r1492164)
+    * svn-bench: fix help output (r1493951)
+    * svnpubsub: add version header to server (r1491707)
+
+ Developer-visible changes
+  - General:
+    * ra_serf: fix some test runner issues on Windows (r1490679)
+    * fix two issues in reverse svn_ra_get_file_revs() (r1492148, et al)
+    * handle --compatible-version=1.8 in the C tests (r1494342)
+    * improve clang compatibility (r1480080 et al)
+    * use proper cancel baton when handling conflicts (r1495850)
+    * fs: BDB: provide proper error value from BDB (r1495428)
+    * ra_serf: tweak connection failed error value (r1496132, et al)
+    * svn_client_log5: resolve possible segfault (r1496110)
+    * fix metadata_only move to work when target is unversioned node (r1498564)
+    * ra_svn: fix segfault with a NULL commit message (r1498550, r1499727)
+    * Ev2: correctly initialize node kind in shims' change table (r1501058)
+    * Ev2: fix copyfrom URL construction in shims (r1500226)
+    * fs: improve test against newlines in filenames (r1498483 et al)
+    * make building with BDB 6 an opt-in feature (r1499438)
+    * sqlite: allow placing amalgamation in build dir (r1499034, r1500175) 
+    * ra_svn: make sessions usable after log callback early out (r1503554)
+
+  - Bindings:
+    * swig-rb: fix tests with out-of-tree-builds (r1492295)
+    * javahl: fix encoding of error messages produced by javahl (r1492264) 
+    * swig-pl: silence compiler warnings (r1487094)
+    * swig-pl: improve documentation (r1488693, r1490721, r1500904)
+
+
+Version 1.8.0
+(18 Jun 2013, from /branches/1.8.x)
+http://svn.apache.org/repos/asf/subversion/tags/1.8.0
+
+ User-visible changes:
+  - General:
+    * require serf as client-side http library (neon support removed) (r1349694)
+    * deprecate the Berkeley DB FS backend (libsvn_fs_base) (r1464985 et al)
+
+  - Major new features:
+    * working copy records moves as first-class operation (issue #3631, #4232)
+    * merge uses reintegrate mode automatically when needed (r1369896 et al)
+    * FSFS: Packing of revision property shards (issue #3944)
+    * support inheritable properties (r1395109)
+    * repository can suggest config for autoprops and ignores (r1401908)
+    * support gpg-agent for password caching (r1151069)
+    * authz rules can be stored inside the repository (r1424780)
+
+  - Minor new features and improvements (client-side):
+    * doubled svn:// protocol throughput (r1325899)
+    * optimize file/dir truename checks on Windows (r1435527)
+    * new 'commit --include-externals' option (related to issues #1167, #3563)
+    * new --include-externals option for 'svn list' (issue #4225)
+    * remove extraneous externals output from 'svn status -q' (issue #1935)
+    * reject some attempts to merge between unrelated branches (r1215273)
+    * new --ignore-properties option for 'svn diff' (r1239553, -617)
+    * new --properties-only option for 'svn diff' (r1336110)
+    * new --patch-compatible option for 'svn diff' (r1239561)
+    * new --no-diff-added option for 'svn diff' (r1433958)
+    * new w/c subtree duplication tool (tools/client-side/detach.py)
+    * new mergeinfo fixup tool (tools/client-side/mergeinfo-sanitizer.py)
+    * 'svn diff' can compare arbitrary files and directories (r1310291, et al)
+    * ra_serf avoids re-downloading content present in pristine store (r1333936)
+    * 'svn mergeinfo' now honors the --revision (-r) option (issue #4199)
+    * 'svn mergeinfo' now shows a summary graph by default (issue #4239)
+    * new --search and --search-and options for 'svn log' (r1354666, -83518)
+    * 'svn log' reports the node kind even for pre-1.6 revision files (r1242958)
+    * sort path list generated by "svn log -v --xml" (r1299323)
+    * new built-in interactive text conflict merge tool (r1357864, et al)
+    * 'svn --version' shows build system info (r1368662)
+    * 'svn --version --verbose' shows runtime environment info (r1370813 et al)
+    * 'svn' is now non-interactive when not run in a terminal device (r1424037)
+    * 'svn propset' checks spelling of reserved property names (r1470781)
+    * improve working copy performance on network disks (issue #4176) 
+    * support for custom keyword definitions in svn:keywords (issue #890)
+    * svn:ignore __pycache__ directories by default (r1150073)
+    * 'svn diff --git' include copyfrom revision in "copied" headers (r1155279)
+    * svn:mergeinfo related operations now use much less memory (r1149519 et al)
+    * get list of supported schemes for RA libraries (r1148134)
+    * 'svn checkout' skips file externals from other repositories (r1153110)
+    * 'svn resolve' exits non-zero if conflicts could not be resolved (r1150439)
+    * let HTTPv2-aware clients fetch v2-style resources (r1161202)
+    * 'svn status' with better NLS support (r1157537, -682)
+    * better tracking of shallow-yet-complete merges (issues #4056, #4057)
+    * make 'svn status --quiet' w/ externals quieter still (issue #1935)
+    * ensure that conflict paths are shown relative-ized (r1337520)
+    * improve performance of local multi-target deletions (r1195873)
+    * various interactive conflict resolver improvements in 'svn' (r1440421 etc)
+    * improved tree diff implementation for diff and merge (r1440599 et al)
+    * tree conflicts on directories detected better during merges (issue #3150)
+    * allow reverting unmodified copies with 'svn remove' (r1442611)
+    * make 'svn diff' with mixed URL and local path targets work (r1442640)
+    * make 'svn patch' re-add deleted directories if needed (r1445333)
+    * make repos-wc diffs fully ancestry-aware (r1445904)
+    * 'svn diff --git' now implies 'svn diff --show-copies-as-adds' (r1446279)
+    * 'svn diff --show-copies-as-adds' now implies --notice-ancestry (r1446279)
+    * improved tree-conflict detection for 'svn switch' (r1449413, r1450582)
+    * allow up to 8 revision number digits in 'svn status -v' output (r1428637)
+    * show node kind (file or dir) in tree conflict descriptions (r1429907)
+    * restore deleted switched paths upon next update (issue #4295)
+    * add support for copying paths from foreign repositories (issue #3590)
+    * fix merge -cA,B with --accept option aborts if rA conflicts (issue #4238)
+    * 'svn resolve' interactive support; no longer requires --accept (r1336929)
+    * notify when removing externals leaves behind modified files (r1366021)
+    * new 'http-max-connections' configuration option for serf (r1421559)
+    * new 'http-bulk-updates' configuration option for serf (r1421490)
+    * 'svn cleanup' now runs SQLite "vacuum" to reclaim space (r1418459)
+    * 'svn info' displays repository-relative URL (r1415365)
+    * fix serf memory leak on checkout (issue #4194)
+    * detect duplicate paths setting svn:externals (issue #4227)
+    * make ra_serf work over HTTP/1.0 proxies (issue #3979)
+    * make ra_serf accept gzip compression for all responses (r1407454)
+    * double ra_serf performance for checkout and export (r1407545)
+    * improve network and disk i/o interleaving in ra_serf (r1407934)
+    * avoid assert in ra_serf when REPORT response was truncated (r1407935)
+    * rewrite ra_serf XML parser (r1409259 et al)
+    * ra_serf can create transaction with inline txnprops (r1375167)
+    * partially fix replace+propset of locked file fails over DAV (issue #3674)
+    * fix ra_serf doesn't handle bad baseline error from server (issue #4127)
+    * decreased default http timeout for ra_serf (issue #3968)
+    * prevent ra_serf from corrupting the working copy (issue #3993)
+    * ra_serf transmits property changes inline to reduce requests (r1378927)
+    * allow client to avoid SSL certificate prompts (issue #2410)
+    * improve interactive resolution of property conflicts (r1387678 et al)
+    * make ra_serf raise an error upon delta-base mismatch (issue #4235)
+    * tune ra_svn transmit buffer handling (r1391788)
+    * make 'svnrdump' work with serf (issue #4116)
+    * fix 'svnrdump' on path below repository root (issue #4101)
+    * support ipv6 in URLs (e.g. http://[::1]/svn/repos) (r1454047)
+    * conflict resolver now iterates paths in a sorted order (r1461820)
+    * mod_dav_svn does keyword expansion with 'kw=1' query arg (r1466055)
+
+  - Minor new features and improvements (server-side):
+    * improve performance of config file parsing (r1344347 et al)
+    * new 'svnadmin load --revision' load filtering support (issue #3734)
+    * new 'svnadmin hotcopy --incremental' support for FSFS (issue #3815)
+    * new 'svnadmin lock' / 'svnadmin unlock' subcommands (issue #3942, #4092)
+    * new SVNUseUTF8 configuration option for mod_dav_svn (issue #2487)
+    * new SVNHooksEnv configuration option for mod_dav_svn (r1239966)
+    * new SvnPubSub distributed commit hooks (tools/server-side/svnpubsub)
+    * new light-weight benchmarking client (tools/client-side/svn-bench)
+    * svndumpfilter dependency analysis (tools/server-side/svnpredumpfilter.py)
+    * new automatic working copy updater (tools/server-side/svnpubsub)
+    * new 'svnadmin freeze' subcommand (r1376228)
+    * 'svndumpfilter' now supports --delta dumpfiles (r1351009, -3745)
+    * new --drop-all-emtpy-revs option for 'svndumpfilter' (issue #3681)
+    * client version info now reported to commit hooks (issue #4124)
+    * txn name now reported to post-commit hooks (r1240856)
+    * support for server-side keyword expansion in mod_dav_svn (r1466055)
+    * FSFS now able to cache revision properties (r1326307)
+    * FSFS cache for changed-paths increases 'svn log' performance (r1378358)
+    * FSFS cache mergeinfo requested during 'log -g' (r1395439)
+    * many FSFS caching improvements (r1390435, r1390447)
+    * directory and property deltification option in FSFS (issue #4084)
+    * fine-grained control deltification behavior via fsfs.conf (r1311476)
+    * FSFS de-duplication ("rep sharing") now works within a revision (r1397773)
+    * FSFS de-duplication now works for properties as well (r1243312)
+    * read FSFS data using fewer fopen calls (issue #3372)
+    * 'svnadmin verify' will now check meta data (issues #3956, #4211)
+    * 'svnadmin verify' now checks for issue #4129 style corruption (r1304656)
+    * new --client-speed option for svnserve (r1391788)
+    * new --single-threaded option in svnserve (r1296018)
+    * hook script templates are now marked as executable (r1153414)
+    * error out on non-canonical fspaths in the authz file (r1166111)
+    * improve path lookup performance in FSFS (r1442088)
+    * svnserve now logs explicit path and reason for authz failures (r1446542)
+    * validate offsets from rep-cache to prevent FSFS corruption (issue #4277)
+    * new AuthzSVNGroupsFile option to store authz groups separately (r1438407)
+    * new 'SVNAllowBulkUpdates prefer' option for mod_dav_svn (r1417642, et al)
+    * new 'SVNMasterVersion' option for mod_dav_svn (r1398962)
+    * added virtual-host support to 'svnserve' (r1401296)
+    * new fsfs-stats tool which prints FSFS repository stats (r1410995)
+    * new fsfs-reorg tool to optimize FSFS packing (r1383214, r1385395)
+    * new --compatible-version option for 'svnadmin create' (r1407279 )
+    * new --ignore-properties option for 'svnlook diff' (r1407905)
+    * new --properties-only option for 'svnlook diff' (r1407905)
+    * new --diff-cmd option for 'svnlook diff' (r1413449)
+    * allow leading "r"'s in http: ?p= and ?r= query parameters (r1221463)
+    * faster 'svn ls' for large directories (r1296627)
+    * mod_dav_svn now advertises supported POST types (r1375123)
+    * mod_dav_svn can create transaction with inline txnprops (r1375167)
+    * run start-commit hook after transaction creation (r1376201)
+    * avoid byte-for-byte comparison where it can be avoided (r1390641)
+    * various server-side performance improvements for 'log -g' (r1395442 et al)
+    * allow up to 10Gbit throughput with svnserve (r1391788)
+    * install mod_dontdothat correctly (r1454450)
+    * svnadmin verify can now verify transactions (r1462353)
+    * FSFS verifies revisions as they are added (r1462409)
+
+  - Client-side bugfixes:
+    * fix inconsistent 'svn log' output for empty revisions (issue #3964)
+    * fix mis-ordered text output of 'svn log --diff' on Windows (r1220783)
+    * fix 'svn log --diff' on moved file (issue #4153).
+    * fix 'svn revert' of 'svn move' (issue #876)
+    * fix file externals wrongly "resurrecting" a deleted file (#4017)
+    * fix reporting of corrupted 1.6 w/cs by 'svn upgrade' (r1182904, -9)
+    * fix bug caused by URI-decoding local merge source paths (r1210539)
+    * fix properties out of sync with repos after merge and revert (issue #4305)
+    * fix merge of replacement on local delete fails (issue #4011)
+    * fix replacements on deletes produce wrong tree conflicts (issue #3806)
+    * made ra_serf handle location headers that are not RFC-compliant (r1443906)
+    * merge no longer errors out after resolving all conflicts (issue #4316)
+    * fix svn blame mis-categorizing file type as binary (issue #2089)
+    * fix externals not removed when working copy is made shallow (issue #3741)
+    * fix update under add with not-present parent (issue #4111)
+    * fix revert of files with svn:needs-lock under copied dirs (r1343168)
+    * fix repos->wc diff of local copied/moved-here directories (r1341927)
+    * fix repos->wc diff of local copied/moved-here files (r1341544)
+    * fix "svn diff -cN PATH" where PATH was deleted in rN (r1338708)
+    * fix dependency on APR hash order in several logic paths (r1338350 et al)
+    * fix path inconsistencies in 'svn diff' output (r1338291)
+    * fix misleading error message printed by 'svn switch' (issue #2337)
+    * fix bug in mergeinfo recording during foreign-repos merge (r1430310)
+    * fix spurious merge conflicts for binary files with keywords (issue #4221)
+    * fix patching symlinks with 'svn patch' (issue #4273)
+    * make 'svn switch' refresh lock information (issue #3376)
+    * fix 'svn diff' output doesn't apply as patch without fuzz (issue #3362)
+    * fix mergeinfo recording for multiple-revision-range merge (issue #4306)
+    * fix diffs shown by 'show-diff' conflict prompt option (r1438879)
+    * don't print an update summary header with no content (r1439480)
+    * make 'svn rm' remove externals registrations below its targets (r1361256)
+    * fix crashes in ra_serf where AVG 2012 Surf-Shield is in use (issue #4175)
+    * don't raise conflicts on identical binary files (issue #4128)
+    * improve error messages when wc.db missing (issue #4118)
+    * fix 'svn diff' showing wrong text change (issue #4270)
+    * fix 'svn diff -rN' failing to show local replace (issue #3797)
+    * fix 'svn diff' showing wrong revision (issue #4010)
+    * fix 'svn merge' showing spurious notifications (issue #2910)
+    * parse '.@HEAD' correctly (issue #3606)
+    * fix 'svn revert' after conflict in sparse working copy (issue #4168)
+    * fix bug in global/per-server config handling in serf (r1421516)
+    * properly display errors from serf (r1398742)
+    * fix crash in ra_serf (r1408291)
+    * fixed svnmucc propset and propdel on repository root (issue #3663)
+    * fix 'svn info' output with ancient svnserve servers (pre-1.2) (r1409732)
+    * ra_serf shows error message for 408 Request Timeout response (r1410983)
+    * fix handling of "\ No newline ..." in diff/patch (r1411723, r1412382)
+    * allow infinite http timeout in ra_serf (r1411976)
+    * using unknown svn: property names now requires --force (issue #4261)
+    * fix handling of case insensitive configuration files (r1215089)
+    * properly handle errors during password caching (r1380695)
+    * fix svnversion output not always a number (issue #4226)
+    * fix conflict resolver losing executable bit of a file (r1391019)
+    * fix redundant notifications when merging with ra_serf (issue #3802)
+    * fix 'svn add --force /path/to/wcroot' should work (issue #4241)
+    * fix file permissions changed after commit (issue #4331)
+    * improve handling of http errors in ra_serf (1452792, 1452870)
+    * include checksum of missing pristines in error message (r1452800)
+    * fix an assert when merging against a replaced source (issue #4132)
+    * fix replacement in merge source has incorrect notification (issue #4138)
+    * improve performance of checkout (r1453791)
+    * fixed documentation regarding merge source (issue #3247)
+    * fix merge errors out after resolving conflicts (issue #4316)
+    * fix delete/move with file external in unversioned dir (issue #4293)
+    * fix resolving tree conflict with local node missing (r1461848)
+    * fix invalid read during diff suffix scanning (issue #4339)
+    * fix assertion when running 'svn log <SOME_URL>@PREV' (r1462134)
+    * optimize enumerating configuration options (r1464478)
+    * revert will now sleep for timestamps if using commit times (r1464769)
+    * don't allow externals to be deleted with 'svn rm' (r1464992)
+    * improved memory usage in ra_serf and ra_local (r1465280)
+    * replace some assertions with more helpful error messages (r1465975)
+    * fixed long keyword expansion truncated (issue #4349)
+
+  - Server-side bugfixes:
+    * SVNParentPath / repository listing now authz-filtered (r1408184)
+    * user/group names in the authz config file are case-sensitive (r1475772)
+    * limit commit runtime for nodes with very deep histories (r1224836)
+    * 'svnadmin recover' truncates rep-cache at the right point (issue #4077)
+    * fix crashes in dumpstream loading with skipped revs (r1214202, r1214216)
+    * fix 'svn log -g' incorrectly treating rename as merge (issue #4022)
+    * fix bug where fsfs file-hinting fails (issue #4320)
+    * don't leak path of repository on server's disk to clients (r1330906)
+    * remove spurious is-fresh-txn-root from empty revision files (issue #4031)
+    * fix a stdout handling problem in 'svnlook diff' (r1411971)
+    * fix erratic behaviour in 'svnlook diff' showing property diffs (r1412224)
+    * fix inconsistent authz error messages in 'svn log' in svnserve (r1292462)
+    * fix svndumpfilter for empty paths in included or excluded lists (r1294583)
+    * make fsfs packing threadsafe (r1376011)
+    * don't error out on intermittent memcached failures (r1394470)
+    * fix a ra_svn deadlock with zero-copy server option (r1465622)
+
+  - Other tool improvements and bugfixes:
+    * 'svnmucc' promoted to first-class supported utility (issue #3308, #4279)
+    * make 'svnmucc' prompt for log messages (issue #3418)
+    * rename 'svnauthz-validate' to 'svnauthz' (issue #4284)
+    * make 'svnauthz' optionally validate user/path access (r1197588)
+    * fix mailer.py test suite problems (r1449582)
+    * fix mailer.py not showing dirs with property deletions (r1449582)
+    * make mailer.py generate Date and Message-ID headers (r1449592)
+    * new '-?' option support for 'svnmucc' (r1339428)
+    * provide the repository name to mailer.py (r1439592)
+    * add '--force-interactive' to svnmucc (r1457789)
+    * add '--trust-server-cert' to svnmucc (r1458995)
+  
+ Developer-visible changes:
+  - General:
+    * now require Python 2.5 for tests and dev tools (r1243627)
+    * now require bzip2 for tests and dev tools (r1148512)
+    * configure defaults to --without-apache-libexecdir (r1469862)
+    * support builds with APR pool debugging (r1176894)
+    * 'make extraclean' is more thorough now (r1149460)
+    * support for Serf 2 (r1147538)
+    * introduction of editor v2 (via private APIs only) (r1166332 et al)
+    * improve SQLite setup for compatibility with OS X 10.7. (r1181666)
+    * rework switch statement to accommodate OWC compiler limitations (r1204407)
+    * new --enable-sqlite-compatibility-version configure option (r1201421)
+    * make test suite LD_LIBRARY_PATH include just-built auth plugins (r1200474)
+    * packages/ directory removed, contents were outdated and unused (r1442167)
+    * rename 'makefile.ezt' to 'build-outputs.mk.ezt' (r1444822)
+    * use expensive compiler optimizations with --enable-optimize (r1445063)
+    * in Visual C++ builds, move temp files to different directory (r1446416)
+    * remove --with-ssl and --with-gssapi configure options (r1449023)
+    * require at least serf 1.2.0 as build dependency (issue #4296)
+    * fix error tracing to record file/line properly (r1331242)
+    * add --log-level argument to win-tests.py (r1335461)
+    * improve GDB pretty-printing of svn types (r1351336, r1364750, r1365035)
+    * load third-party FS modules (if --enable-runtime-module-search) (r1362434)
+    * enable running the regression tests over https (r1349699)
+    * support 'make davautocheck' on OS X (r1421583)
+    * new '--enable-gcov' configure option (r1416646)
+    * fix build with Apache HTTPD 2.5 (r1408985)
+    * allow running the test suite through a http proxy (r1410195)
+    * don't use non-constant initializers in struct variables (r1412911)
+    * allow generation of Visual Studio 2012 compatible projects (r1245152)
+    * nicer pretty-printing of Subversion data types in gdb (r1367262 et al)
+    * teach serf build on Windows to use static APR/Util and OpenSSL (r1371338)
+    * add --ssl-cert option to win-tests.py to run tests over https (r1372760)
+    * don't strip Content-Type header form .po files on Windows (r1380056)
+    * configure now script auto-detects GNOME keyring (r1387230)
+    * allow configure to detect BDB on Debian-based Linux distros (r1390633)
+    * auto-detect serf via pkg-config (r1391662)
+    * improve queries for compatability with SQLite 3.7.16 (r1455239)
+    * remove support for in-tree apr, apr-util and apr-memcache (r1456924)
+    * FSFS caching supports prefixes now (r1462436)
+    * maintainer mode now prints symbolic error codes (r1465157)
+    * don't require NLS support for kwallet support (r1466445)
+    * make Julian happy (r1413030)
+
+  - API changes:
+    * fix inconsistent handling of log revs without changed paths (issue #3694)
+    * deprecated SVN_ERR_SQLITE_UNSUPPORTED_SCHEMA (r1173240)
+    * provide API to clear cached auth credentials (issue #2775)
+    * improve repository location information in various APIs (issue #4170)
+    * major rewrite of conflict storage and handling APIs (r1354973 et al)
+    * hide (deprecate) svn_wc APIs that use editors (r1243339)
+    * svn_stringbuf_ensure() allocates an extra byte for terminator (r1308966)
+    * switch and update apis are now more consistent (r1465292)
+    * deprecated svn_client_merge_reintegrate (r1466742)
+    * deprecated low level ra_svn apis (r1466907)
+
+  - Bindings:
+    * star-imports in swig-py only import 'svn_*' symbols (r1303375)
+    * fix compilation of Perl bindings on Mandriva 2007 (issue #2617)
+    * new JavaHL testing targets (r1182983)
+    * enable returning an error on malfunctions for JavaHL (r1366215)
+    * MacOS X build fix to cope with missing GNOME keyring (r1397844)
+    * fix swig bindings tests on MacOS X (r1397846)
+    * fix assertion failure in JavaHL error reporting (r1405922)
+    * support ruby 1.9 (r1407206)
+    * JavaHL: Include OSGI Manifest information in svn-javahl.jar (r1234864)
+    * new svn_auth_set_gnome_keyring_unlock_prompt_func function (r1241554)
+    * fix svn_txdelta window ops for python bindings (r1389054)
+    * fix build of Perl bindings with newer versions of SWIG (r1389658)
+    * add missing API functions to Perl bindings (issue #2646)
+    * add missing API functions to Python bindings (r1392038 et al)
+    * add missing API functions to JavaHL bindings (issue #4326)
+    * fix some reference counting bugs in swig-py bindings (r1464899, r1466524)
+
+
+Version 1.7.13
+(29 Aug 2013, from /branches/1.7.x)
+http://svn.apache.org/repos/asf/subversion/tags/1.7.13
+
+ User-visible changes:
+  - General
+    * merge: fix bogus mergeinfo with conflicting file merges (issue #4306)
+    * diff: fix duplicated path component in '--summarize' output (issue #4408)
+    * ra_serf: ignore case when checking certificate common names (r1514763)
+
+  - Server-side bugfixes:
+    * svnserve: fix creation of pid files (r1516556)
+    * mod_dav_svn: better status codes for commit failures (r1490684)
+    * mod_dav_svn: do not map requests to filesystem (r1512432 et al)
+
+ Developer-visible changes:
+  - General:
+    * support linking against gssapi on Solaris 10 (r1515068)
+    * don't use uninitialized variable to produce an error code (r1482282)
+
+  - Bindings:
+    * swig-pl: fix SVN::Client not honoring config file settings (r150744)
+    * swig-pl & swig-py: disable unusable svn_fs_set_warning_func (r1515119)
+
+
+Version 1.7.12
+(Not released, see changes for 1.7.13.)
+ 
+ 
+Version 1.7.11
+(23 Jul 2013, from /branches/1.7.x)
+http://svn.apache.org/repos/asf/subversion/tags/1.7.11
+
+ User-visible changes:
+  - General
+    * translation updates for Simplified Chinese
+
+  - Server-side bugfixes:
+    * mod_dav_svn: fix incorrect path canonicalization (r1503528)
+            See CVE-2013-4131, and descriptive advisory at
+            http://subversion.apache.org/security/CVE-2013-4131-advisory.txt
+
+  - Other tool improvements and bugfixes:
+    * fix argument processing in contrib hook scripts (r1485350)
+            See CVE-2013-2088, and descriptive advisory at
+            http://subversion.apache.org/security/CVE-2013-2088-advisory.txt
+
+ Developer-visible changes:
+  - Bindings:
+    * javahl: fix bug in error constructing code (r1405922)
+
+
+Version 1.7.10
+(30 May 2013, from /branches/1.7.x)
+http://svn.apache.org/repos/asf/subversion/tags/1.7.10
+
+ User-visible changes:
+  - Client-side bugfixes:
+    * fix 'svn revert' "no such table: revert_list" spurious error (issue #4168)
+    * fix 'svn diff' doesn't show some locally added files (issue #3797)
+    * fix changelist filtering when --changelist values aren't UTF8 (r1475724)
+    * fix 'svn diff --git' shows wrong copyfrom (issue #4294)
+    * fix 'svn diff -x-w' shows wrong changes (issues #4133 and #4270, r1427278)
+    * fix 'svn blame' sometimes shows every line as modified (issue #4034)
+    * fix regression in 'svn status -u' output for externals (r1434750)
+    * fix file permissions change on commit of file with keywords (issue #4331)
+    * improve some fatal error messages (r1465975)
+    * fix externals not removed when working copy is made shallow (issue #3741)
+
+  - Server-side bugfixes:
+    * fix FSFS repository corruption due to newline in filename (issue #4340)
+            See CVE-2013-1968, and descriptive advisory at
+            http://subversion.apache.org/security/CVE-2013-1968-advisory.txt
+    * fix svnserve exiting when a client connection is aborted (r1482759)
+            See CVE-2013-2112, and descriptive advisory at
+            http://subversion.apache.org/security/CVE-2013-2112-advisory.txt
+    * fix svnserve memory use after clear (issue #4365)
+    * fix repository corruption on power/disk failure on Windows (r1483781)
+
+ Developer-visible changes
+  - General:
+    * make get-deps.sh compatible with Solaris /bin/sh (r1451678)
+    * fix infinite recursion bug in get-deps.sh (r1421541, r1424977)
+    * fix uninitialised output parameter of svn_fs_commit_txn() (r1461743)
+
+  - Bindings:
+    * fix JavaHL thread-safety bug (r1476359)
+
+
+Version 1.7.9
+(04 Apr 2013, from /branches/1.7.x)
+http://svn.apache.org/repos/asf/subversion/tags/1.7.9
+ User-visible changes
+  - Client-side bugfixes:
+    * improved error messages about svn:date and svn:author props. (r1440620)
+    * fix local_relpath assertion (issue #4257)
+    * fix memory leak in `svn log` over svn:// (r1458341)
+    * fix incorrect authz failure when using neon http library (issue #4332)
+    * fix segfault when using kwallet (r1421103)
+    
+  - Server-side bugfixes:
+      See CVE-2013-1845, CVE-2013-1846, CVE-2013-1847, CVE-2013-1849,
+      and CVE-2013-1884, and descriptive advisories at
+            http://subversion.apache.org/security/
+    * svnserve will log the replayed rev not the low-water rev. (r1461278)
+    * mod_dav_svn will omit some property values for activity urls (r1453780)
+    * fix an assertion in mod_dav_svn when acting as a proxy on / (issue #4272)
+    * improve memory usage when committing properties in mod_dav_svn (r1443929)
+    * fix svnrdump to load dump files with non-LF line endings (issue #4263)
+    * fix assertion when rep-cache is inaccessible (r1422100)
+    * improved logic in mod_dav_svn's implementation of lock. (r1455352)
+    * avoid executing unnecessary code in log with limit (r1459599)
+
+ Developer-visible changes:
+  - General:
+    * fix an assertion in dav_svn_get_repos_path() on Windows (r1425368)
+    * fix get-deps.sh to correctly download zlib (r13520131)
+    * doxygen docs will now ignore prefixes when producing the index (r1429201)
+    * fix get-deps.sh on freebsd (r1423646)
+
+  - Bindings:
+    * javahl status api now respects the ignoreExternals boolean (r1435361)
+
+
+Version 1.7.8
+(17 Dec 2012, from /branches/1.7.x)
+http://svn.apache.org/repos/asf/subversion/tags/1.7.8
+ User-visible changes
+  - Client- and server-side bugfixes:
+    * Fix typos in pt_BR, es and zh_TW translations (r1402417, r1402421)
+
+  - Client-side bugfixes:
+    * fix crash with --username option on Windows (r1396285)
+    * add missing attributes to "svn log -v --xml" output (r1398100)
+    * fix svn patch ignoring hunks after no trailing newline (r1399174)
+    * fix hang with ra_serf during error processing (r1403583)
+    * ignore file externals with mergeinfo when merging (r1401915)
+    * fix "svnmucc cp" segfault with a missing last argument (issue #4079)
+    * fix conflict handling on symlinks (issue #4091)
+    
+  - Server-side bugfixes:
+    * properly detect threading availability (r1398325)
+    * fix "svnadmin load --bypass-prop-validation" (r1237779)
+    * fix parsing of [groupsfoo] sections in authz file (issue #3531)
+    * add Vary: header to GET responses to improve cacheability (r1390653)
+    * fix fs_fs to cleanup after failed rep transmission (r1403964, et al)
+    * fix mod_dav_svn to complain about revisions > HEAD (r1403588)
+
+ Developer-visible changes:
+  - General:
+    * fix incorrect status returned by 1.6 API (r1403258)
+    * fix compilation with g++ 4.7 (r1345740)
+    * fix svn_uri_get_file_url_from_dirent on Windows (r1409146)
+
+
+Version 1.7.7
+(09 Oct 2012, from /branches/1.7.x)
+http://svn.apache.org/repos/asf/subversion/tags/1.7.7
+ User-visible changes
+  - Client- and server-side bugfixes:
+    * fix memory read bug (r137614)
+    * update Chinese translation
+
+  - Client-side bugfixes:
+    * fix issues with applying Git patch files (r1374800, et al)
+    * fix status does not descend into dir externals after upgrade (issue #4016)
+    * fix file externals don't update with old mod_dav_svn (issue #4224)
+    * fix external diff tool duplicates Index: lines with 'svn diff' (r1380697)
+    * fix GNOME keyring library fails with very old glib (r1378847)
+    * fix unknown password stores in config file cause error (r1375052)
+    * fix assertions in ra_serf running against server root (r1365519, et al)
+    * fix ra_serf checkout/export aborts early on Windows (issue #4174)
+ 
+  - Server-side bugfixes:
+    * fix an assert with SVNAutoVersioning in mod_dav_svn (issue #4231)
+    * fix unbounded memory use with SVNPathAuthz short_circuit (r1387943)
+    * fix svndumpfilter exclude --targets requires leading slash (issue #4234)
+    * fix connection ttl for memcache should be 50 seconds (r1391641)
+    * stabilize order of paths in dumpfiles with APR 1.4.6 (r1344864, et al)
+
+ Developer-visible changes:
+  - General:
+    * print "All tests successful" at the end of 'make check' (r1375089)
+    * fix sandbox violation in a test (r1371282)
+    * fix tests fail when running within a format 30 WC (r1391188, et al)
+    * fix return value of svn_client_update4() incorrect (r1380295)
+    * fix make check summary missing test failures (r1390965)
+    * fix build does not fail when apache httpd is not available (r1374198)
+
+  - Bindings:
+    * fix swig-pl build fails with swig 2.0.7 and newer. (r1389658)
+    * fix swig-py runtime problems with swig 2.0.5 and newer (r1351117)
+
+
+Version 1.7.6
+(15 Aug 2012, from /branches/1.7.x)
+http://svn.apache.org/repos/asf/subversion/tags/1.7.6
+
+ User-visible changes:
+  - Client- and server-side bugfixes:
+
+  - Client-side bugfixes:
+    * Fix "svn status -u --depth empty FILE" (r1348822, r1349215)
+    * Fix example output of 'svn help status' (issue #3962)
+    * propset of svn:eol-style might not notice related text changes (r1353572)
+    * sort output of 'svn propget -R' (r1355699)
+    * sort output of 'svn proplist' (r1355698)
+    * sort output of 'svn status' (r1341012)
+    * avoid a filestat per working copy find operation (r1340556)
+    * optimize 'svn upgrade' performance on large working copies (r1342984)
+    * allow 'file:///C:\repos' style arguments on Windows, like 1.6 (r1346765)
+    * fix ra_serf against Subversion 1.2 servers (r1349367)
+    * fix 'svn upgrade' on working copies with certain tree conflicts (r1345482)
+    * avoid workqueue references to system temp dir (r1367854)
+    * allow non-existant canonical paths (r1367853)
+    * fix 'svn revert --depth files' to operate on files (r1365554)
+    * fix ra_serf XML namespace handling against malicious server (r1337441)
+    * fix relocate with server-relative externals (issue 4216)
+    * change two asserts into errors for TortoiseSVN (r1368128, r1368065)
+    * don't attempt to anchor an operation outside a wc root (r1361341)
+
+  - Server-side bugfixes:
+    * partial sync drops properties when converting to adds (issue #4184)
+    * replaying a copy and delete of an unreadable child fails (issue #4121)
+    * allow svnlook to operate on r0 (r1362508)
+    * make FSFS revision files independent of APR hash order (r1367498)
+
+  - Other tool improvements and bugfixes:
+    * move mod_dontdothat to install-tools (r1307177)
+
+ Developer-visible changes:
+  - General:
+    * fix running tests against httpd 2.4 (r1291594)
+    * use constant struct initialisers for C89 compatibility (r1352068)
+
+  - Bindings:
+    * JavaHL: Don't assert on some invalid input (r1354626, r1354652)
+    * JavaHL: Add missing new in 1.7 notifications (r1351772)
+
+
+Version 1.7.5
+(17 May 2012, from /branches/1.7.x)
+http://svn.apache.org/repos/asf/subversion/tags/1.7.5
+
+ User-visible changes:
+  - Client- and server-side bugfixes:
+    * http: report deleted-revision upon delete during update (r1327474)
+
+  - Client-side bugfixes:
+    * avoid potential segfault when canonicalizing properties (r1296369)
+    * improve memory and file-handle management with externals (issue #4130)
+    * serf: convert assertions to "MERGE failed" errors (r1302417)
+    * fix undefined behaviour during multi-segment reverse merges (issue #4144)
+    * fix potential use of already freed memory during diff operation (r1311935)
+    * improve performance of scan for the working copy root (r1306334)
+    * cmdline: fix segfault during 'svn diff' argument processing (r1311702)
+    * fix regression from 1.6 in update with --depth option (issue #4136)
+    * propset: avoid undefined behaviour in error path (r1325361)
+    * reset sqlite statements, partly for sqlite-3.7.11 compat (r1328846, et al)
+    * fix assertion during 'svn diff -r BASE:HEAD ^/trunk' (issue #4161)
+    * notify upon 'update' just removing locks on files (r1329876)
+    * neon: fix potential use of freed memory during commits (r1329388)
+    * 'status --xml' doesn't show repository deletes correctly (issue #4167)
+    * fix assert on svn:externals with drive letter on Windows (issue #4073)
+    * fix 'svn update --depth=empty' against 1.4 servers (issue #4046)
+    * handle missing svn:date reported by svnserve gracefully (r1306111)
+    * fix merges which first add a subtree and then delete it (issue #4166)
+    * fix a regression with checkout of file externals (issue #4087)
+    * don't add spurious mergeinfo to subtrees in edge-case merge (issue #4169)
+    * improve performance of status on large working copies (issue #4178)
+
+  - Server-side bugfixes:
+    * fix non-fatal FSFS corruption bug with concurrent commits (issue #4129)
+    * mod_dav_svn: raise an error on MERGE of non-existent resource (r1298343)
+    * mod_dav_svn: support compiling/running under httpd-2.4 (r1232267)
+    * mod_dav_svn: forbid BDB repositories under httpd's event MPM (issue #4157)
+
+  - Other tool improvements and bugfixes:
+    * emacs support: updates to dsvn.el and vc-svn.el (r1200896, et al)
+
+ Developer-visible changes:
+  - General:
+    * windows example distribution scripts: include svnrdump (r1295007)
+    * fix running the test suite with jsvn (r1335555)
+
+  - Bindings:
+    * swig-py tests: avoid FAILs on APR hash order (r1296137, r1292248)
+    * swig-rb tests: avoid FAILs on APR hash order (r1310535, r1310594)
+    * swig-pl: Improved perl detection in gen-make.py (r1291797, r1291810)
+
+
+Version 1.7.4
+(08 Mar 2012, from /branches/1.7.x)
+http://svn.apache.org/repos/asf/subversion/tags/1.7.4
+
+  User-visible changes:
+    * fix 'svn log --diff' for moved paths (r1210147, et al)
+    * fix ra_serf problem with reading directory entries via HTTPv2 (r1238121)
+    * prepend "sqlite:" to error messages from SQLite (r1245738, -817)
+    * fix randomly missing "Merged via" notifications in 'svn log -g' (r1293229)
+    * fix spurious conflict when merging deleted symbolic link (issue #4052)
+    * fix URL-to-WC copy of externals on Windows (issue #4123)
+    * improve an FSFS sanity-check error message (r1294470)
+    * fix regressions with symlinks pointing at externals (issue #4102)
+    * fix 'svn log --diff' output ordering issue on Windows (r1295671)
+
+  Developer-visible changes:
+    * don't build mod_dontdothat if not building with httpd (r1243976)
+    * fix the testsuite to avoid FAILs on APR hash order (r1230714, et al)
+
+
+Version 1.7.3
+(14 Feb 2012, from /branches/1.7.x)
+http://svn.apache.org/repos/asf/subversion/tags/1.7.3
+
+  General:
+    * ship mod_dontdothat with the standard release
+
+  User-visible changes:
+    * fix segfault on 'svn rm $ROOT_URL' (issue #4074)
+    * replace a couple of assertions in favor of errors (r1207858, -949)
+    * fix a server assert after being upgraded (r1210195)
+    * fix segfault on 'svn mkdir svn://localhost' (r1211483)
+    * make 'svnadmin recover' prune the rep cache (r1213331, et al)
+    * make svnmucc use values from --config-dir option
+    * update and clarify the merge help text (r1154121, et al)
+    * replace wc assertion with informative error (r1222521, -693)
+    * copy permissions correctly for FSFS dirs (r1229252)
+    * improve 'svn log --with-all-revprops' over ra-dav (issue #4082)
+    * fix segfault when remapping a file external (issue #4093)
+    * fix segfault caused by obstructing unversioned dir (r1229677)
+    * fix regression on first update of external dir with '-r' (issue #4053)
+    * fix various EOL-handling problems in 'svn patch' (issues #3814, #3991)
+    * fix segfault in 'svn revert' (r1229303)
+    * improve correctness of 'svn patch --dry-run' (r1231944, -5)
+    * enforce revisions given in 'svn:externals' (issue #4053)
+    * fix potential corruption on 32-bit FSFS with large files (r1230212)
+    * make 'svn status --xml' show new files (issue #4097)
+    * fix 'svn mergeinfo' correctness (issue #4050)
+    * return the correct status for non-present nodes (r1232202, -07, -21, -22)
+    * improve SASL error messages (r1236343, et al)
+    * improve server cert error code for ra_serf (r1232413)
+    * fix SVNParentPath listings for parent path symlinks (r1221767, -80)
+    * fix mod_dav_svn's handling of POST errors (issue #4086)
+    * log some mod_dav_svn errors, rather than ignoring them (r1237720, -9596)
+    * relax requirements for canonicalization in mod_dav_svn (r1236173)
+    * fix a rare source of FSFS corruption (r1240752)
+    * allow committing the result of some copy operations (issue #4059)
+    * prevent one-byte buffer overflow in base64 decoding (r1242337)
+
+  Developer-visible changes:
+    * JavaHL: Add missing notify action, fixing an exception (r1221793)
+    * fix swig-py memory leak (r1235264, -296, -302, -736)
+    * fix spurious test suite failure (r1220742, -50)
+    * allow running tests on UNC shares (r1225491)
+    * bindings: see platform-specific password providers (r1242660, -1)
+    * skip 'svnrdump dump' tests over ra_serf (r1242537)
+    * convert a few ra_serf assertions to errors (r1242607)
+
+
+Version 1.7.2
+(02 Dec 2011, from /branches/1.7.x)
+http://svn.apache.org/repos/asf/subversion/tags/1.7.2
+
+  User-visible changes:
+   * fix working copy corruption after interrupted update/switch (issue #4040)
+   * avoid segfaults against pre-1.5 servers (r1186928)
+   * improve configure error message if apr-util uses old or no bdb (r1186784)
+   * make 'svn patch' ignore '/dev/null' targets for compat with git (r1197998)
+   * fix 'svn patch' segfault on patch that skips and deletes files (r1199950)
+   * omit "Committed revision N." output from 'svn commit --quiet' (r1200837)
+   * fix authz denial when svnserve root is a repository (issue #4060)
+   * fix uninitialized memory read in client diff code (r1201002)
+   * avoid potential segfault during merges (r1202807)
+   * fix an assertion failure when a symlink is updated (r1186944, -81, -83)
+   * make working copy operations fail if nodes have no base checksum (r1202630)
+   * fix nested <Location>s when using v2 protocol (r1203546, -651, -653)
+   * make mod_dav_svn ignore non-Subversion POST requests (r1187695)
+   * avoid reading freed memory (r1204478)
+   * recognize empty (only byte order mark) UTF-8 files as text (issue #4064)
+   * fix 1.7 client regression when operating against a 1.0.x server (r1199876)
+   * remove empty parent dirs of removed externals on update (issue #4044)
+   * make 'svn diff -c N' work for files added in rN (issue #2873)
+   * plug a memory leak in the bdb backend (r1205726)
+   * fix 'svn import' with native eol-style and inconsistent EOLs (r1205193)
+   * fix reading beyond the end of a string in bdb backend (r1205839, -48)
+   * don't assert when committing an incomplete directory (issue #4042)
+
+  Developer-visible changes:
+   * JavaHL: allow 'status -u' to function properly (r1189190, -395)
+   * don't put '\r' characters in our generate sql headers (r1189580)
+   * properly define WIN64 on Windows x64 builds (r1188609)
+   * better adherence to C89 in enum definitions (r1189665)
+   * bump copyright year in Windows DLLs (r1189261)
+   * log a better error when opening rep-cache.db fails (r1204610, -73)
+
+
+Version 1.7.1
+(24 Oct 2011, from /branches/1.7.x)
+http://svn.apache.org/repos/asf/subversion/tags/1.7.1
+
+  User-visible changes:
+   * improve performance of 'svn info' (r1164386)
+   * improve hash table sorting performance (r1167659)
+   * update bash completion for 1.7 (r1177001)
+   * make 'svn ls' continue to work with 1.0-1.3 repos (r1154278, -379, -82)
+   * improve handling of error messages generated by Cyrus SASL (r1179767)
+   * update INSTALL documentation file (r1182115, and others)
+   * error instead of assert when upgrading corrupt WCs (r1182904, -9)
+   * improve memory usage in merge (r1176915)
+   * fix an invalid assertion in merge (r1149103, -35)
+   * improve performance of 'merge --reintegrate' in edge-case (r1167681)
+   * fixed: 'svn mergeinfo' shows wrong revisions for added nodes (issue #3791)
+   * make 'svn add --parents D/file' work if D is deleted (r1185222)
+   * improve performance of trivial text file merges (issue #4009)
+   * add FSFS sanity check to prevent corruption seen in the wild (r1178280)
+   * improve correctness/performance of recursive info and proplist (r1164426)
+   * fix memory leak in 'merge --reintegrate' (r1180154)
+   * fix handling of directories after 'update --set-depth=empty' (r1185911)
+   * fix 'checksum != NULL' assertions in some upgraded WCs (r1177732)
+   * fix upgrading of WCs containing authz-restricted dirs (r1185738)
+   * make the server tolerate svn:mergeinfo with malformed paths (r1182771)
+   * fix some erroneous warning messages from the svn client (r1185746)
+   * fix WC upgrade with replaced nodes in edge-case (issue #4033)
+
+  Developer-visible changes:
+   * fix object lifetime issues in the JavaHL bindings (r1175888)
+   * fix org.tigris JavaHL wrappers to avoid double finalize (r1179680)
+   * don't write to const memory (r1177492)
+   * improve zlib configuration (r1174761, -98, -806)
+   * improve SQLite runtime init for OS X 10.7 compat (r1181666)
+   * improve test suite correctness (r1174111)
+   * fix potential segfault seen by TSVN (r1183263)
+   * fix backward compat crashes in JavaHL (r1183054, -347)
+   * fill in repos_* fields of svn_wc_status3_t for repos-only nodes (r1181609)
+   * disable the SQLite shared process cache (r1185242, r1185280)
+
+
+Version 1.7.0
+(11 Oct 2011, from /branches/1.7.x)
+http://svn.apache.org/repos/asf/subversion/tags/1.7.0
+
+See the 1.7 release notes for a more verbose overview of the changes since
+the 1.6 release:  http://subversion.apache.org/docs/release-notes/1.7.html
+
+ User-visible changes:
+  - General:
+    * No longer including contrib/ in the release tarballs (r877798)
+
+  - Major new features:
+    * Less verbose HTTP-based repository access protocol (issue #1161, #3371)
+    * Rewritten working copy metadata storage (issue #3357)
+    * New 'svn patch' subcommand (issue #511)
+    * Rewritten FSFS in-memory caching for better performance
+    * New remote repository dump/load client 'svnrdump'
+
+  - Minor new features and improvements:
+    * Better handling of HTTP redirects (issue #2779)
+    * Improved and much more consistent path handling (issue #2028, and others)
+    * 'svnadmin load' rewrites changed revnums in mergeinfo (issue #3020)
+    * Error message and help text improvements
+    * 'svn log' can print unidiff of changes made in a revision (issue #2909)
+    * 'svn diff' can print git-style unidiff annotations 
+    * svnsync can now steal locks on a mirror repository (issue #3309)
+    * display the wc root in the output of 'svn info' (issue #3355)
+    * add 'svnlook filesize' (issue #3509)
+    * add 'svn upgrade' command for upgrading working copies (r877675)
+    * add 'svnsync --disable-locking' (issue #3545)
+    * subtree merges don't unconditionally stop reintegrate merge (issue #3577)
+    * 'svn relocate' replaces 'svn switch --relocate'  (r1026475)
+    * 'svn relocate' updates relative externals (issue #3597)
+    * allow svnsync users to specify the source repo (issue #3637)

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

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 01:15:01 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 8F17D90C;
 Mon, 11 Nov 2013 01:15:01 +0000 (UTC)
 (envelope-from peter@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 78E8A2EEA;
 Mon, 11 Nov 2013 01:15:01 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAB1F1e6025311;
 Mon, 11 Nov 2013 01:15:01 GMT (envelope-from peter@svn.freebsd.org)
Received: (from peter@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAB1EwsX025246;
 Mon, 11 Nov 2013 01:14:58 GMT (envelope-from peter@svn.freebsd.org)
Message-Id: <201311110114.rAB1EwsX025246@svn.freebsd.org>
From: Peter Wemm <peter@FreeBSD.org>
Date: Mon, 11 Nov 2013 01:14:58 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257936 - in head: contrib/subversion
 contrib/subversion/subversion/include
 contrib/subversion/subversion/include/private
 contrib/subversion/subversion/libsvn_client contrib/subversion/...
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 01:15:01 -0000

Author: peter
Date: Mon Nov 11 01:14:58 2013
New Revision: 257936
URL: http://svnweb.freebsd.org/changeset/base/257936

Log:
  Update svn from 1.8.1 to 1.8.4 - minor security fixes and client side
  merge handling bug fixes (reintegrate, mergeinfo etc)

Modified:
  head/contrib/subversion/CHANGES
  head/contrib/subversion/INSTALL
  head/contrib/subversion/Makefile.in
  head/contrib/subversion/build-outputs.mk
  head/contrib/subversion/build.conf
  head/contrib/subversion/configure
  head/contrib/subversion/subversion/include/private/svn_client_private.h
  head/contrib/subversion/subversion/include/private/svn_subr_private.h
  head/contrib/subversion/subversion/include/svn_config.h
  head/contrib/subversion/subversion/include/svn_types.h
  head/contrib/subversion/subversion/include/svn_version.h
  head/contrib/subversion/subversion/libsvn_client/commit.c
  head/contrib/subversion/subversion/libsvn_client/merge.c
  head/contrib/subversion/subversion/libsvn_client/mergeinfo.c
  head/contrib/subversion/subversion/libsvn_client/update.c
  head/contrib/subversion/subversion/libsvn_diff/diff_file.c
  head/contrib/subversion/subversion/libsvn_fs/fs-loader.c
  head/contrib/subversion/subversion/libsvn_fs_base/fs.c
  head/contrib/subversion/subversion/libsvn_fs_fs/fs.c
  head/contrib/subversion/subversion/libsvn_fs_fs/fs_fs.c
  head/contrib/subversion/subversion/libsvn_fs_fs/rep-cache-db.h
  head/contrib/subversion/subversion/libsvn_ra/ra_loader.c
  head/contrib/subversion/subversion/libsvn_ra/ra_loader.h
  head/contrib/subversion/subversion/libsvn_ra_local/ra_plugin.c
  head/contrib/subversion/subversion/libsvn_ra_local/split_url.c
  head/contrib/subversion/subversion/libsvn_ra_serf/commit.c
  head/contrib/subversion/subversion/libsvn_ra_serf/ra_serf.h
  head/contrib/subversion/subversion/libsvn_ra_serf/replay.c
  head/contrib/subversion/subversion/libsvn_ra_serf/serf.c
  head/contrib/subversion/subversion/libsvn_ra_serf/util.c
  head/contrib/subversion/subversion/libsvn_ra_svn/client.c
  head/contrib/subversion/subversion/libsvn_subr/auth.c
  head/contrib/subversion/subversion/libsvn_subr/cache_config.c
  head/contrib/subversion/subversion/libsvn_subr/cmdline.c
  head/contrib/subversion/subversion/libsvn_subr/config_auth.c
  head/contrib/subversion/subversion/libsvn_subr/deprecated.c
  head/contrib/subversion/subversion/libsvn_subr/dirent_uri.c
  head/contrib/subversion/subversion/libsvn_subr/internal_statements.h
  head/contrib/subversion/subversion/libsvn_subr/io.c
  head/contrib/subversion/subversion/libsvn_subr/sysinfo.c
  head/contrib/subversion/subversion/libsvn_subr/utf.c
  head/contrib/subversion/subversion/libsvn_subr/version.c
  head/contrib/subversion/subversion/libsvn_subr/win32_crashrpt.c
  head/contrib/subversion/subversion/libsvn_wc/diff_editor.c
  head/contrib/subversion/subversion/libsvn_wc/diff_local.c
  head/contrib/subversion/subversion/libsvn_wc/info.c
  head/contrib/subversion/subversion/libsvn_wc/old-and-busted.c
  head/contrib/subversion/subversion/libsvn_wc/update_editor.c
  head/contrib/subversion/subversion/libsvn_wc/wc-checks.h
  head/contrib/subversion/subversion/libsvn_wc/wc-metadata.h
  head/contrib/subversion/subversion/libsvn_wc/wc-queries.h
  head/contrib/subversion/subversion/libsvn_wc/wc-queries.sql
  head/contrib/subversion/subversion/libsvn_wc/wc_db.c
  head/contrib/subversion/subversion/libsvn_wc/wc_db.h
  head/contrib/subversion/subversion/libsvn_wc/wc_db_private.h
  head/contrib/subversion/subversion/libsvn_wc/wc_db_update_move.c
  head/contrib/subversion/subversion/svn/cl.h
  head/contrib/subversion/subversion/svn/status-cmd.c
  head/contrib/subversion/subversion/svn/status.c
  head/contrib/subversion/subversion/svn/svn.c
  head/contrib/subversion/subversion/svnadmin/svnadmin.c
  head/contrib/subversion/subversion/svndumpfilter/svndumpfilter.c
  head/contrib/subversion/subversion/svnlook/svnlook.c
  head/contrib/subversion/subversion/svnmucc/svnmucc.c
  head/contrib/subversion/subversion/svnserve/svnserve.c
  head/contrib/subversion/subversion/svnsync/svnsync.c
  head/contrib/subversion/subversion/svnversion/svnversion.c
  head/usr.bin/svn/svn_private_config.h
Directory Properties:
  head/contrib/subversion/   (props changed)

Modified: head/contrib/subversion/CHANGES
==============================================================================
--- head/contrib/subversion/CHANGES	Mon Nov 11 01:01:04 2013	(r257935)
+++ head/contrib/subversion/CHANGES	Mon Nov 11 01:14:58 2013	(r257936)
@@ -1,3 +1,98 @@
+Version 1.8.4
+(29 October 2013, from /branches/1.8.x)
+http://svn.apache.org/repos/asf/subversion/tags/1.8.4
+
+ User-visible changes:
+  - Client- and server-side bugfixes:
+    * fix assertion on urls of the form 'file://./' (r1516806)
+    * stop linking against psapi.dll on Windows (r1534102)
+    * translation updates for Swedish
+
+  - Client-side bugfixes:
+    * revert: fix problems reverting moves (issue #4436)
+    * update: fix assertion when file external access is denied (issue #4422)
+    * merge: reduce network connections for automatic merge (r1468980 et al)
+    * merge: fix path corruption during reintegration (r1523666)
+    * mergeinfo: fix crash (r1519955)
+    * ra_serf: verify the result of xml parsing (r1501199 et al)
+    * ra_serf: improve error messages during commit (r1526439)
+    * ra_local: fix error with repository in Windows drive root (r1518184)
+    * fix crash on windows when piped command is interrupted (r1522892)
+    * fix crash in the crash handler on windows (r1532023)
+    * fix assertion when upgrading old working copies (r1520529)
+
+  - Server-side bugfixes:
+    * hotcopy: cleanup unpacked revprops with '--incremental' (r1512300 et al)
+    * fix OOM on concurrent requests at threaded server start (r1527103 et al)
+    * fsfs: improve error message when unsupported fsfs format found (r1534158)
+    * fix memory problem in 3rd party FS module loader (r1519615 et al)
+
+ Developer-visible changes:
+  - General:
+    * allow compiling against serf 1.3 and later on Windows (r1517123)
+
+  - Bindings:
+    * javahl: canonicalize path for streaFileContent method (r1524869)
+
+
+Version 1.8.3
+(29 August 2013, from /branches/1.8.x)
+http://svn.apache.org/repos/asf/subversion/tags/1.8.3
+
+ User-visible changes:
+  - Client- and server-side bugfixes:
+    * translation updates for Swedish
+    * enforce strict version equality between tools and libraries (r1502267)
+    * consistently output revisions as "r%ld" in error messags (r1499044 et al)
+
+  - Client-side bugfixes:
+    * status: always use absolute paths in XML output (issue #4398)
+    * ra_serf: 'svn log -v' fails with a 1.2.x server (issue #4044)
+    * ra_serf: fix crash when committing cp with deep deletion (issue #4400)
+    * diff: issue an error for files that can't fit in memory (r1513119 et al)
+    * svnmucc: generate proper error for mismatched URLs (r1511353)
+    * update: fix a crash when a temp file doesn't exist (r1513156)
+    * commit & update: improve sleep for timestamps performance (r1508438)
+    * diff: continue on missing or obstructing files (issue #4396)
+    * ra_serf: use runtime serf version for User-Agent (r1514315, r1514628)
+    * ra_serf: ignore case when checking certificate common names (r1514763)
+    * ra_serf: format distinguished names properly (r1514804)
+    * ra_serf: do not retry HTTP requests if we started to parse them (r1503318)
+    * ra_serf: output ssl cert verification failure reason (r1514785 et al)
+    * ra_serf: allow session reuse after SVN_ERR_CEASE_INVOCATION (r1502901)
+    * ra_serf: include library version in '--version' output (r1514295 et al)
+    * info: fix spurious error on wc root with child in conflict (r1515366)
+
+  - Server-side bugfixes:
+    * svnserve: fix creation of pid files (r1516556)
+    * svnadmin: fix output encoding in non-UTF8 environments (r1506966)
+    * svnsync: fix high memory usage when running over ra_serf (r1515249 et al)
+    * mod_dav_svn: do not map requests to filesystem (r1512432 et al)
+    * svnauthz: improve help strings (r1511272) 
+    * fsfs: fixed manifest file growth with revprop changes (r1513874)
+    * fsfs: fix packed revprops causing loss of revprops (r1513879 et al)
+  
+  - Other tool improvements and bugfixes:
+    * svnwcsub/irkerbridge: fix symlink attack via pid file (r175 from upstream)
+
+ Developer-visible changes:
+  - General:
+    * describe APR unimplemented errors as coming from APR (r1503010 et al)
+    * mod_dav_svn: update INSTALL to reflect configure defaults (r1515141)
+    * davautocheck: use the correct apxs binary by default (r1507889, r1507891)
+
+  - API changes:
+    * svn_config_walk_auth_data() config_dir arg: permit NULL (r1507382 et al)
+
+  - Bindings:
+    * swig-pl: fix SVN::Client not honoring config file settings (r150744)
+    * swig-pl & swig-py: disable unusable svn_fs_set_warning_func (r1515119)
+
+
+Version 1.8.2
+(Not released, see changes for 1.8.3.)
+ 
+ 
 Version 1.8.1
 (23 July 2013, from /branches/1.8.x)
 http://svn.apache.org/repos/asf/subversion/tags/1.8.1
@@ -54,6 +149,8 @@ http://svn.apache.org/repos/asf/subversi
     * svnadmin create: deny '--fs-type=fsfs --compatible-version=1.0' (r1494223)
     * svnadmin upgrade: fix data loss when cancelling in last stage (r1494298)
     * mod_dav_svn: fix incorrect path canonicalization (r1503528)
+            See CVE-2013-4131, and descriptive advisory at
+            http://subversion.apache.org/security/CVE-2013-4131-advisory.txt
 
   - Other tool improvements and bugfixes:
     * fsfs-stats (tool): resolve segfault when passing invalid path (r1492164)
@@ -361,7 +458,7 @@ http://svn.apache.org/repos/asf/subversi
     * support for Serf 2 (r1147538)
     * introduction of editor v2 (via private APIs only) (r1166332 et al)
     * improve SQLite setup for compatibility with OS X 10.7. (r1181666)
-    * rework switch statement to accomodate OWC compiler limitations (r1204407)
+    * rework switch statement to accommodate OWC compiler limitations (r1204407)
     * new --enable-sqlite-compatibility-version configure option (r1201421)
     * make test suite LD_LIBRARY_PATH include just-built auth plugins (r1200474)
     * packages/ directory removed, contents were outdated and unused (r1442167)
@@ -426,6 +523,35 @@ http://svn.apache.org/repos/asf/subversi
     * fix some reference counting bugs in swig-py bindings (r1464899, r1466524)
 
 
+Version 1.7.13
+(29 Aug 2013, from /branches/1.7.x)
+http://svn.apache.org/repos/asf/subversion/tags/1.7.13
+
+ User-visible changes:
+  - General
+    * merge: fix bogus mergeinfo with conflicting file merges (issue #4306)
+    * diff: fix duplicated path component in '--summarize' output (issue #4408)
+    * ra_serf: ignore case when checking certificate common names (r1514763)
+
+  - Server-side bugfixes:
+    * svnserve: fix creation of pid files (r1516556)
+    * mod_dav_svn: better status codes for commit failures (r1490684)
+    * mod_dav_svn: do not map requests to filesystem (r1512432 et al)
+
+ Developer-visible changes:
+  - General:
+    * support linking against gssapi on Solaris 10 (r1515068)
+    * don't use uninitialized variable to produce an error code (r1482282)
+
+  - Bindings:
+    * swig-pl: fix SVN::Client not honoring config file settings (r150744)
+    * swig-pl & swig-py: disable unusable svn_fs_set_warning_func (r1515119)
+
+
+Version 1.7.12
+(Not released, see changes for 1.7.13.)
+ 
+ 
 Version 1.7.11
 (23 Jul 2013, from /branches/1.7.x)
 http://svn.apache.org/repos/asf/subversion/tags/1.7.11
@@ -436,9 +562,13 @@ http://svn.apache.org/repos/asf/subversi
 
   - Server-side bugfixes:
     * mod_dav_svn: fix incorrect path canonicalization (r1503528)
+            See CVE-2013-4131, and descriptive advisory at
+            http://subversion.apache.org/security/CVE-2013-4131-advisory.txt
 
   - Other tool improvements and bugfixes:
     * fix argument processing in contrib hook scripts (r1485350)
+            See CVE-2013-2088, and descriptive advisory at
+            http://subversion.apache.org/security/CVE-2013-2088-advisory.txt
 
  Developer-visible changes:
   - Bindings:
@@ -464,7 +594,11 @@ http://svn.apache.org/repos/asf/subversi
 
   - Server-side bugfixes:
     * fix FSFS repository corruption due to newline in filename (issue #4340)
+            See CVE-2013-1968, and descriptive advisory at
+            http://subversion.apache.org/security/CVE-2013-1968-advisory.txt
     * fix svnserve exiting when a client connection is aborted (r1482759)
+            See CVE-2013-2112, and descriptive advisory at
+            http://subversion.apache.org/security/CVE-2013-2112-advisory.txt
     * fix svnserve memory use after clear (issue #4365)
     * fix repository corruption on power/disk failure on Windows (r1483781)
 
@@ -490,6 +624,9 @@ http://svn.apache.org/repos/asf/subversi
     * fix segfault when using kwallet (r1421103)
     
   - Server-side bugfixes:
+      See CVE-2013-1845, CVE-2013-1846, CVE-2013-1847, CVE-2013-1849,
+      and CVE-2013-1884, and descriptive advisories at
+            http://subversion.apache.org/security/
     * svnserve will log the replayed rev not the low-water rev. (r1461278)
     * mod_dav_svn will omit some property values for activity urls (r1453780)
     * fix an assertion in mod_dav_svn when acting as a proxy on / (issue #4272)
@@ -1027,6 +1164,8 @@ http://svn.apache.org/repos/asf/subversi
   - Server-side bugfixes:
     * fix FSFS repository corruption due to newline in filename (issue #4340)
     * fix svnserve exiting when a client connection is aborted (r1482759)
+            See CVE-2013-2112, and descriptive advisory at
+            http://subversion.apache.org/security/CVE-2013-2112-advisory.txt
 
   - Other tool improvements and bugfixes:
     * fix argument processing in contrib hook scripts (r1485350)

Modified: head/contrib/subversion/INSTALL
==============================================================================
--- head/contrib/subversion/INSTALL	Mon Nov 11 01:01:04 2013	(r257935)
+++ head/contrib/subversion/INSTALL	Mon Nov 11 01:14:58 2013	(r257936)
@@ -3,7 +3,7 @@
                           A Quick Guide
                ======================================
 
-$LastChangedDate: 2013-06-05 04:00:25 +0000 (Wed, 05 Jun 2013) $
+$LastChangedDate: 2013-09-27 06:57:44 +0000 (Fri, 27 Sep 2013) $
 
 
 Contents:
@@ -477,7 +477,7 @@ I.    INTRODUCTION
 
       13. SQLite  (REQUIRED)
 
-      Subversion 1.7 requires SQLite version 3.6.18 or above.  You can meet
+      Subversion 1.8 requires SQLite version 3.7.12 or above.  You can meet
       this dependency several ways:
         * Use an SQLite amalgamation file.
         * Specify an SQLite installation to use.
@@ -1263,7 +1263,8 @@ III.  BUILDING A SUBVERSION SERVER
 
       After the make install, the Subversion shared libraries are in
       /usr/local/lib/.  mod_dav_svn.so should be installed in
-      /usr/local/apache2/modules/.
+      /usr/local/libexec/ (or elsewhere, such as /usr/local/apache2/modules/,
+      if you passed --with-apache-libexecdir to configure).
 
 
       Section II.E explains how to build the server on Windows.
@@ -1287,8 +1288,9 @@ III.  BUILDING A SUBVERSION SERVER
       http://httpd.apache.org/docs-2.0/
 
       First, your httpd.conf needs to load the mod_dav_svn module.
-      Subversion's 'make install' target should automatically add this
-      line for you.  But if apache gives you an error like "Unknown
+      If you pass --enable-mod-activation to Subversion's configure,
+      'make install' target should automatically add this line for you.
+      In any case, if Apache HTTPD gives you an error like "Unknown
       DAV provider: svn", then you may want to verify that this line
       exists in your httpd.conf:
 

Modified: head/contrib/subversion/Makefile.in
==============================================================================
--- head/contrib/subversion/Makefile.in	Mon Nov 11 01:01:04 2013	(r257935)
+++ head/contrib/subversion/Makefile.in	Mon Nov 11 01:14:58 2013	(r257936)
@@ -340,8 +340,8 @@ TEST_SHLIB_VAR_SWIG_RB=\
     done; \
     export @SVN_APR_SHLIB_PATH_VAR@; \
   fi;
- 
-APXS = @APXS@ 
+
+APXS = @APXS@
 
 PYTHON = @PYTHON@
 PERL = @PERL@

Modified: head/contrib/subversion/build-outputs.mk
==============================================================================
--- head/contrib/subversion/build-outputs.mk	Mon Nov 11 01:01:04 2013	(r257935)
+++ head/contrib/subversion/build-outputs.mk	Mon Nov 11 01:14:58 2013	(r257936)
@@ -1977,7 +1977,7 @@ subversion/libsvn_client/compat_provider
 
 subversion/libsvn_client/copy.lo: subversion/libsvn_client/copy.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/inclu
 de/svn_time.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/libsvn_client/mergeinfo.h subversion/svn_private_config.h
 
-subversion/libsvn_client/copy_foreign.lo: subversion/libsvn_client/copy_foreign.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include
 /svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h
+subversion/libsvn_client/copy_foreign.lo: subversion/libsvn_client/copy_foreign.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include
 /svn_version.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h
 
 subversion/libsvn_client/ctx.lo: subversion/libsvn_client/ctx.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h
 
@@ -1985,17 +1985,17 @@ subversion/libsvn_client/delete.lo: subv
 
 subversion/libsvn_client/deprecated.lo: subversion/libsvn_client/deprecated.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_opt_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_compat.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn
 _types.h subversion/include/svn_utf.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/libsvn_client/mergeinfo.h subversion/svn_private_config.h
 
-subversion/libsvn_client/diff.lo: subversion/libsvn_client/diff.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_private.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_io_private.h subversion/include/private/svn_magic.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subvers
 ion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h
+subversion/libsvn_client/diff.lo: subversion/libsvn_client/diff.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_private.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_io_private.h subversion/include/private/svn_magic.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subvers
 ion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h
 
 subversion/libsvn_client/diff_local.lo: subversion/libsvn_client/diff_local.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_wc.h subversi
 on/libsvn_client/client.h subversion/svn_private_config.h
 
 subversion/libsvn_client/diff_summarize.lo: subversion/libsvn_client/diff_summarize.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_client/client.h
 
-subversion/libsvn_client/export.lo: subversion/libsvn_client/export.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_delta_private.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/inc
 lude/svn_subst.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h
+subversion/libsvn_client/export.lo: subversion/libsvn_client/export.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_delta_private.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/inc
 lude/svn_subst.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h
 
 subversion/libsvn_client/externals.lo: subversion/libsvn_client/externals.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversi
 on/svn_private_config.h
 
-subversion/libsvn_client/import.lo: subversion/libsvn_client/import.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_subst.h
  subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h
+subversion/libsvn_client/import.lo: subversion/libsvn_client/import.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_subst.h
  subversion/include/svn_types.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h
 
 subversion/libsvn_client/info.lo: subversion/libsvn_client/info.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_fspath.h subversion/include/private/svn_magic.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversio
 n/svn_private_config.h
 
@@ -2007,11 +2007,11 @@ subversion/libsvn_client/locking_command
 
 subversion/libsvn_client/log.lo: subversion/libsvn_client/log.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_compat.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/
 svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h
 
-subversion/libsvn_client/merge.lo: subversion/libsvn_client/merge.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_fspath.h subversion/include/private/svn_magic.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_opt_private.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subve
 rsion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/libsvn_client/mergeinfo.h subversion/svn_private_config.h
+subversion/libsvn_client/merge.lo: subversion/libsvn_client/merge.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_fspath.h subversion/include/private/svn_magic.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_opt_private.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subve
 rsion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/libsvn_client/mergeinfo.h subversion/svn_private_config.h
 
 subversion/libsvn_client/mergeinfo.lo: subversion/libsvn_client/mergeinfo.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_fspath.h subversion/include/private/svn_magic.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_opt_private.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/i
 nclude/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/libsvn_client/mergeinfo.h subversion/svn_private_config.h
 
-subversion/libsvn_client/patch.lo: subversion/libsvn_client/patch.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_eol_private.h subversion/include/private/svn_magic.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/includ
 e/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h
+subversion/libsvn_client/patch.lo: subversion/libsvn_client/patch.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_eol_private.h subversion/include/private/svn_magic.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/includ
 e/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h
 
 subversion/libsvn_client/prop_commands.lo: subversion/libsvn_client/prop_commands.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include
 /svn_types.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h
 
@@ -2019,7 +2019,7 @@ subversion/libsvn_client/ra.lo: subversi
 
 subversion/libsvn_client/relocate.lo: subversion/libsvn_client/relocate.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h
 
-subversion/libsvn_client/repos_diff.lo: subversion/libsvn_client/repos_diff.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn
 _wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h
+subversion/libsvn_client/repos_diff.lo: subversion/libsvn_client/repos_diff.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn
 _version.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h
 
 subversion/libsvn_client/resolved.lo: subversion/libsvn_client/resolved.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion
 /svn_private_config.h
 
@@ -2133,13 +2133,13 @@ subversion/libsvn_fs_base/dag.lo: subver
 
 subversion/libsvn_fs_base/err.lo: subversion/libsvn_fs_base/err.c subversion/include/private/svn_debug.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_base/err.h subversion/libsvn_fs_base/id.h subversion/svn_private_config.h
 
-subversion/libsvn_fs_base/fs.lo: subversion/libsvn_fs_base/fs.c subversion/include/private/svn_debug.h subversion/include/private/svn_fs_util.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_base/bdb/bdb-err.h subversion/libsvn_fs_base/bdb/bdb_compat.h subversion/libsvn_fs_base/bdb/changes-table.h subversion/libsvn_fs_base/bdb/checksum-reps-table.h subversion/libsvn_fs_base/bdb/copies-table.h subversion/libsvn_fs_base/bdb/env.h subversion/libsvn_fs_base/bdb/lock-tokens-table.h s
 ubversion/libsvn_fs_base/bdb/locks-table.h subversion/libsvn_fs_base/bdb/miscellaneous-table.h subversion/libsvn_fs_base/bdb/node-origins-table.h subversion/libsvn_fs_base/bdb/nodes-table.h subversion/libsvn_fs_base/bdb/reps-table.h subversion/libsvn_fs_base/bdb/rev-table.h subversion/libsvn_fs_base/bdb/strings-table.h subversion/libsvn_fs_base/bdb/txn-table.h subversion/libsvn_fs_base/bdb/uuids-table.h subversion/libsvn_fs_base/dag.h subversion/libsvn_fs_base/err.h subversion/libsvn_fs_base/fs.h subversion/libsvn_fs_base/id.h subversion/libsvn_fs_base/lock.h subversion/libsvn_fs_base/revs-txns.h subversion/libsvn_fs_base/trail.h subversion/libsvn_fs_base/tree.h subversion/libsvn_fs_base/uuid.h subversion/svn_private_config.h
+subversion/libsvn_fs_base/fs.lo: subversion/libsvn_fs_base/fs.c subversion/include/private/svn_debug.h subversion/include/private/svn_fs_util.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_base/bdb/bdb-err.h subversion/libsvn_fs_base/bdb/bdb_compat.h subversion/libsvn_fs_base/bdb/changes-table.h subversion/libsvn_fs_base/bdb/checksum-reps-table.h subversion/libsvn_fs_base/bdb/copies-table.h subversion/libsvn_fs_base/bdb/env.h subve
 rsion/libsvn_fs_base/bdb/lock-tokens-table.h subversion/libsvn_fs_base/bdb/locks-table.h subversion/libsvn_fs_base/bdb/miscellaneous-table.h subversion/libsvn_fs_base/bdb/node-origins-table.h subversion/libsvn_fs_base/bdb/nodes-table.h subversion/libsvn_fs_base/bdb/reps-table.h subversion/libsvn_fs_base/bdb/rev-table.h subversion/libsvn_fs_base/bdb/strings-table.h subversion/libsvn_fs_base/bdb/txn-table.h subversion/libsvn_fs_base/bdb/uuids-table.h subversion/libsvn_fs_base/dag.h subversion/libsvn_fs_base/err.h subversion/libsvn_fs_base/fs.h subversion/libsvn_fs_base/id.h subversion/libsvn_fs_base/lock.h subversion/libsvn_fs_base/revs-txns.h subversion/libsvn_fs_base/trail.h subversion/libsvn_fs_base/tree.h subversion/libsvn_fs_base/uuid.h subversion/svn_private_config.h
 
 subversion/libsvn_fs_base/id.lo: subversion/libsvn_fs_base/id.c subversion/include/private/svn_debug.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_base/id.h
 
 subversion/libsvn_fs_base/key-gen.lo: subversion/libsvn_fs_base/key-gen.c subversion/include/private/svn_debug.h subversion/include/private/svn_skel.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_fs_base/key-gen.h
 
-subversion/libsvn_fs_base/lock.lo: subversion/libsvn_fs_base/lock.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_fs_util.h subversion/include/private/svn_skel.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_base/bdb/bdb_compat.h subversion/libsvn_fs_base/bdb/env.h subversion/libsvn_fs_base/bdb/lock-tokens-table.h subversion/libsvn_fs_base/bdb/locks-table.h subversion/libsvn_fs_base/err.h subversion/libsvn_fs_base/fs.h subversion/libsvn_fs_base/lock.h subversion/libsvn_fs_base/trail.h subver
 sion/libsvn_fs_base/tree.h subversion/libsvn_fs_base/util/fs_skels.h subversion/svn_private_config.h
+subversion/libsvn_fs_base/lock.lo: subversion/libsvn_fs_base/lock.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_fs_util.h subversion/include/private/svn_skel.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_base/bdb/bdb_compat.h subversion/libsvn_fs_base/bdb/env.h subversion/libsvn_fs_base/bdb/lock-tokens-table.h subversion/libsvn_fs_base/bdb/locks-table.h subversion/libsvn_fs_base/err.h subversion/libsvn_fs_base/fs.h subversion/libsvn_fs_base/lock.h subvers
 ion/libsvn_fs_base/trail.h subversion/libsvn_fs_base/tree.h subversion/libsvn_fs_base/util/fs_skels.h subversion/svn_private_config.h
 
 subversion/libsvn_fs_base/node-rev.lo: subversion/libsvn_fs_base/node-rev.c subversion/include/private/svn_debug.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_base/bdb/bdb_compat.h subversion/libsvn_fs_base/bdb/env.h subversion/libsvn_fs_base/bdb/node-origins-table.h subversion/libsvn_fs_base/bdb/nodes-table.h subversion/libsvn_fs_base/err.h subversion/libsvn_fs_base/fs.h subversion/libsvn_fs_base/id.h subversion/libsvn_fs_base/node-rev.h subversion/libsvn_fs_base/reps-strings.h subversion/libsvn_fs_base/trail.h subversion/svn_private_config.h
 
@@ -2151,15 +2151,15 @@ subversion/libsvn_fs_base/trail.lo: subv
 
 subversion/libsvn_fs_base/tree.lo: subversion/libsvn_fs_base/tree.c subversion/include/private/svn_debug.h subversion/include/private/svn_fs_util.h subversion/include/private/svn_fspath.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_skel.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_base/bdb/bdb_compat.h subversion/libsvn_fs_base/bdb/changes-table.h subversion/libsvn_fs_base/bdb/copies-table.h subversion/libsvn_fs_base/bdb/env.h subversion/libsvn_fs_base/bdb/miscellaneo
 us-table.h subversion/libsvn_fs_base/bdb/node-origins-table.h subversion/libsvn_fs_base/bdb/nodes-table.h subversion/libsvn_fs_base/bdb/rev-table.h subversion/libsvn_fs_base/bdb/txn-table.h subversion/libsvn_fs_base/dag.h subversion/libsvn_fs_base/err.h subversion/libsvn_fs_base/fs.h subversion/libsvn_fs_base/id.h subversion/libsvn_fs_base/key-gen.h subversion/libsvn_fs_base/lock.h subversion/libsvn_fs_base/node-rev.h subversion/libsvn_fs_base/revs-txns.h subversion/libsvn_fs_base/trail.h subversion/libsvn_fs_base/tree.h subversion/svn_private_config.h
 
-subversion/libsvn_fs_base/util/fs_skels.lo: subversion/libsvn_fs_base/util/fs_skels.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_skel.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/libsvn_fs_base/bdb/bdb_compat.h subversion/libsvn_fs_base/bdb/env.h subversion/libsvn_fs_base/fs.h subversion/libsvn_fs_base/id.h subversion/libsvn_fs_base/util/fs_skels.h subversion/svn_private_config.h
+subversion/libsvn_fs_base/util/fs_skels.lo: subversion/libsvn_fs_base/util/fs_skels.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_skel.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_fs_base/bdb/bdb_compat.h subversion/libsvn_fs_base/bdb/env.h subversion/libsvn_fs_base/fs.h subversion/libsvn_fs_base/id.h subversion/libsvn_fs_base/util/fs_skels.h subversion/svn_private_config.h
 
 subversion/libsvn_fs_base/uuid.lo: subversion/libsvn_fs_base/uuid.c subversion/include/private/svn_debug.h subversion/include/private/svn_fs_util.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_base/bdb/bdb_compat.h subversion/libsvn_fs_base/bdb/env.h subversion/libsvn_fs_base/bdb/uuids-table.h subversion/libsvn_fs_base/err.h subversion/libsvn_fs_base/fs.h subversion/libsvn_fs_base/trail.h subversion/libsvn_fs_base/uuid.h subversion/svn_private_config.h
 
-subversion/libsvn_fs_fs/caching.lo: subversion/libsvn_fs_fs/caching.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fs_private.h subversion/include/private/svn_mutex.h subversion/include/private/svn_named_atomic.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/svn_cache_config.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_mergeinfo.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_fs/fs
 -loader.h subversion/libsvn_fs_fs/dag.h subversion/libsvn_fs_fs/fs.h subversion/libsvn_fs_fs/fs_fs.h subversion/libsvn_fs_fs/id.h subversion/libsvn_fs_fs/temp_serializer.h subversion/libsvn_fs_fs/tree.h subversion/svn_private_config.h
+subversion/libsvn_fs_fs/caching.lo: subversion/libsvn_fs_fs/caching.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fs_private.h subversion/include/private/svn_mutex.h subversion/include/private/svn_named_atomic.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/svn_cache_config.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_mergeinfo.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_
 version.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_fs/dag.h subversion/libsvn_fs_fs/fs.h subversion/libsvn_fs_fs/fs_fs.h subversion/libsvn_fs_fs/id.h subversion/libsvn_fs_fs/temp_serializer.h subversion/libsvn_fs_fs/tree.h subversion/svn_private_config.h
 
 subversion/libsvn_fs_fs/dag.lo: subversion/libsvn_fs_fs/dag.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fs_private.h subversion/include/private/svn_fspath.h subversion/include/private/svn_mutex.h subversion/include/private/svn_named_atomic.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_temp_serializer.h subversion/include/private/svn_token.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn
 _string.h subversion/include/svn_types.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_fs/dag.h subversion/libsvn_fs_fs/fs.h subversion/libsvn_fs_fs/fs_fs.h subversion/libsvn_fs_fs/id.h subversion/libsvn_fs_fs/key-gen.h subversion/libsvn_fs_fs/temp_serializer.h subversion/svn_private_config.h
 
-subversion/libsvn_fs_fs/fs.lo: subversion/libsvn_fs_fs/fs.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fs_private.h subversion/include/private/svn_fs_util.h subversion/include/private/svn_mutex.h subversion/include/private/svn_named_atomic.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_token.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_mergeinfo.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_fs/fs.h subversion/
 libsvn_fs_fs/fs_fs.h subversion/libsvn_fs_fs/id.h subversion/libsvn_fs_fs/lock.h subversion/libsvn_fs_fs/rep-cache.h subversion/libsvn_fs_fs/tree.h subversion/svn_private_config.h
+subversion/libsvn_fs_fs/fs.lo: subversion/libsvn_fs_fs/fs.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fs_private.h subversion/include/private/svn_fs_util.h subversion/include/private/svn_mutex.h subversion/include/private/svn_named_atomic.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_mergeinfo.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_fs/fs-loa
 der.h subversion/libsvn_fs_fs/fs.h subversion/libsvn_fs_fs/fs_fs.h subversion/libsvn_fs_fs/id.h subversion/libsvn_fs_fs/lock.h subversion/libsvn_fs_fs/rep-cache.h subversion/libsvn_fs_fs/tree.h subversion/svn_private_config.h
 
 subversion/libsvn_fs_fs/fs_fs.lo: subversion/libsvn_fs_fs/fs_fs.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_delta_private.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fs_private.h subversion/include/private/svn_fs_util.h subversion/include/private/svn_mutex.h subversion/include/private/svn_named_atomic.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_ctype.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/sv
 n_iter.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_fs/fs.h subversion/libsvn_fs_fs/fs_fs.h subversion/libsvn_fs_fs/id.h subversion/libsvn_fs_fs/key-gen.h subversion/libsvn_fs_fs/lock.h subversion/libsvn_fs_fs/rep-cache.h subversion/libsvn_fs_fs/temp_serializer.h subversion/libsvn_fs_fs/tree.h subversion/svn_private_config.h
 
@@ -2171,9 +2171,9 @@ subversion/libsvn_fs_fs/lock.lo: subvers
 
 subversion/libsvn_fs_fs/rep-cache.lo: subversion/libsvn_fs_fs/rep-cache.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fs_private.h subversion/include/private/svn_mutex.h subversion/include/private/svn_named_atomic.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_token.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_fs/fs.h subve
 rsion/libsvn_fs_fs/fs_fs.h subversion/libsvn_fs_fs/rep-cache-db.h subversion/libsvn_fs_fs/rep-cache.h subversion/svn_private_config.h
 
-subversion/libsvn_fs_fs/temp_serializer.lo: subversion/libsvn_fs_fs/temp_serializer.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fs_private.h subversion/include/private/svn_fs_util.h subversion/include/private/svn_mutex.h subversion/include/private/svn_named_atomic.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_temp_serializer.h subversion/include/private/svn_token.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_mergeinfo.h subversion/include/svn_pools.h subversion/include
 /svn_string.h subversion/include/svn_types.h subversion/libsvn_fs_fs/fs.h subversion/libsvn_fs_fs/id.h subversion/libsvn_fs_fs/temp_serializer.h
+subversion/libsvn_fs_fs/temp_serializer.lo: subversion/libsvn_fs_fs/temp_serializer.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fs_private.h subversion/include/private/svn_fs_util.h subversion/include/private/svn_mutex.h subversion/include/private/svn_named_atomic.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_temp_serializer.h subversion/include/private/svn_token.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_mergeinfo.h subversion/include/svn_pools.h subversion/include
 /svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_fs_fs/fs.h subversion/libsvn_fs_fs/id.h subversion/libsvn_fs_fs/temp_serializer.h
 
-subversion/libsvn_fs_fs/tree.lo: subversion/libsvn_fs_fs/tree.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fs_private.h subversion/include/private/svn_fs_util.h subversion/include/private/svn_fspath.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_mutex.h subversion/include/private/svn_named_atomic.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_merge
 info.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_fs/dag.h subversion/libsvn_fs_fs/fs.h subversion/libsvn_fs_fs/fs_fs.h subversion/libsvn_fs_fs/id.h subversion/libsvn_fs_fs/key-gen.h subversion/libsvn_fs_fs/lock.h subversion/libsvn_fs_fs/temp_serializer.h subversion/libsvn_fs_fs/tree.h subversion/svn_private_config.h
+subversion/libsvn_fs_fs/tree.lo: subversion/libsvn_fs_fs/tree.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fs_private.h subversion/include/private/svn_fs_util.h subversion/include/private/svn_fspath.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_mutex.h subversion/include/private/svn_named_atomic.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_merge
 info.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_fs/dag.h subversion/libsvn_fs_fs/fs.h subversion/libsvn_fs_fs/fs_fs.h subversion/libsvn_fs_fs/id.h subversion/libsvn_fs_fs/key-gen.h subversion/libsvn_fs_fs/lock.h subversion/libsvn_fs_fs/temp_serializer.h subversion/libsvn_fs_fs/tree.h subversion/svn_private_config.h
 
 subversion/libsvn_fs_util/fs-util.lo: subversion/libsvn_fs_util/fs-util.c subversion/include/private/svn_debug.h subversion/include/private/svn_fs_util.h subversion/include/private/svn_fspath.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_fs/fs-loader.h subversion/svn_private_config.h
 
@@ -2189,7 +2189,7 @@ subversion/libsvn_ra/ra_loader.lo: subve
 
 subversion/libsvn_ra/util.lo: subversion/libsvn_ra/util.c subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_ra_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/svn_private_config.h
 
-subversion/libsvn_ra_local/ra_plugin.lo: subversion/libsvn_ra_local/ra_plugin.c subversion/include/private/svn_atomic.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fspath.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_repos_private.h subversion/include/svn_auth.h subversion/include/svn_cache_config.h subversion/include/svn_checksum.h subversion/include/svn_compat.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_repos.h
  subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_ra/ra_loader.h subversion/libsvn_ra/wrapper_template.h subversion/libsvn_ra_local/ra_local.h subversion/svn_private_config.h
+subversion/libsvn_ra_local/ra_plugin.lo: subversion/libsvn_ra_local/ra_plugin.c subversion/include/private/svn_atomic.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fspath.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_repos_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_cache_config.h subversion/include/svn_checksum.h subversion/include/svn_compat.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/i
 nclude/svn_ra.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_ra/ra_loader.h subversion/libsvn_ra/wrapper_template.h subversion/libsvn_ra_local/ra_local.h subversion/svn_private_config.h
 
 subversion/libsvn_ra_local/split_url.lo: subversion/libsvn_ra_local/split_url.c subversion/include/private/svn_debug.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_ra.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_ra_local/ra_local.h subversion/svn_private_config.h
 
@@ -2237,7 +2237,7 @@ subversion/libsvn_ra_serf/util_error.lo:
 
 subversion/libsvn_ra_serf/xml.lo: subversion/libsvn_ra_serf/xml.c subversion/include/private/svn_dav_protocol.h subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_dav.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/include/svn_xml.h subversion/libsvn_ra/ra_loader.h subversion/libsvn_ra_serf/blncache.h subversion/libsvn_ra_serf/ra_se
 rf.h subversion/svn_private_config.h
 
-subversion/libsvn_ra_svn/client.lo: subversion/libsvn_ra_svn/client.c subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_fspath.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_ra_svn_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_compat.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_ra_svn.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_ra/ra_loader.h subversion/libsvn_ra/wrapper_template.h subversio
 n/libsvn_ra_svn/ra_svn.h subversion/svn_private_config.h
+subversion/libsvn_ra_svn/client.lo: subversion/libsvn_ra_svn/client.c subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_fspath.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_ra_svn_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_compat.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_ra_svn.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_ra/ra_loader.h sub
 version/libsvn_ra/wrapper_template.h subversion/libsvn_ra_svn/ra_svn.h subversion/svn_private_config.h
 
 subversion/libsvn_ra_svn/cram.lo: subversion/libsvn_ra_svn/cram.c subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_ra_svn_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_ra.h subversion/include/svn_ra_svn.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_ra_svn/ra_svn.h subversion/svn_private_config.h
 
@@ -2273,7 +2273,7 @@ subversion/libsvn_repos/load-fs-vtable.l
 
 subversion/libsvn_repos/load.lo: subversion/libsvn_repos/load.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_mergeinfo_private.h subversion/include/svn_checksum.h subversion/include/svn_ctype.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/libsvn_repos/repos.h subversion/svn_private_config.h
 
-subversion/libsvn_repos/log.lo: subversion/libsvn_repos/log.c subversion/include/private/svn_debug.h subversion/include/private/svn_fspath.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_compat.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_repos.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_repos/repos.h subversion/svn_private_config.h
+subversion/libsvn_repos/log.lo: subversion/libsvn_repos/log.c subversion/include/private/svn_debug.h subversion/include/private/svn_fspath.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_compat.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_repos.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_repos/repos.h subversion/svn_private_config.h
 
 subversion/libsvn_repos/node_tree.lo: subversion/libsvn_repos/node_tree.c subversion/include/private/svn_debug.h subversion/include/private/svn_fspath.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_repos/repos.h subversion/svn_private_config.h
 
@@ -2281,7 +2281,7 @@ subversion/libsvn_repos/notify.lo: subve
 
 subversion/libsvn_repos/replay.lo: subversion/libsvn_repos/replay.c subversion/include/private/svn_debug.h subversion/include/private/svn_delta_private.h subversion/include/private/svn_editor.h subversion/include/private/svn_fspath.h subversion/include/private/svn_repos_private.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_repos.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/svn_private_config.h
 
-subversion/libsvn_repos/reporter.lo: subversion/libsvn_repos/reporter.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_fspath.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_repos/repos.h subversion/svn_private_config.h
+subversion/libsvn_repos/reporter.lo: subversion/libsvn_repos/reporter.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_fspath.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_repos/repos.h subversion/svn_private_config.h
 
 subversion/libsvn_repos/repos.lo: subversion/libsvn_repos/repos.c subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_repos_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/libsvn_repos/repos.h subversion/svn_private_config.h
 
@@ -2291,9 +2291,9 @@ subversion/libsvn_subr/adler32.lo: subve
 
 subversion/libsvn_subr/atomic.lo: subversion/libsvn_subr/atomic.c subversion/include/private/svn_atomic.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_types.h
 
-subversion/libsvn_subr/auth.lo: subversion/libsvn_subr/auth.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_dso.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_subr/auth.h subversion/svn_private_config.h
+subversion/libsvn_subr/auth.lo: subversion/libsvn_subr/auth.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_dso.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_subr/auth.h subversion/svn_private_config.h
 
-subversion/libsvn_subr/base64.lo: subversion/libsvn_subr/base64.c subversion/include/private/svn_debug.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_base64.h subversion/include/svn_checksum.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h
+subversion/libsvn_subr/base64.lo: subversion/libsvn_subr/base64.c subversion/include/private/svn_debug.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_base64.h subversion/include/svn_checksum.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h
 
 subversion/libsvn_subr/cache-inprocess.lo: subversion/libsvn_subr/cache-inprocess.c subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_mutex.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_subr/cache.h subversion/svn_private_config.h
 
@@ -2303,9 +2303,9 @@ subversion/libsvn_subr/cache-memcache.lo
 
 subversion/libsvn_subr/cache.lo: subversion/libsvn_subr/cache.c subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_subr/cache.h
 
-subversion/libsvn_subr/cache_config.lo: subversion/libsvn_subr/cache_config.c subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/svn_cache_config.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h
+subversion/libsvn_subr/cache_config.lo: subversion/libsvn_subr/cache_config.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/svn_cache_config.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h
 
-subversion/libsvn_subr/checksum.lo: subversion/libsvn_subr/checksum.c subversion/include/private/svn_debug.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_ctype.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_subr/md5.h subversion/libsvn_subr/sha1.h subversion/svn_private_config.h
+subversion/libsvn_subr/checksum.lo: subversion/libsvn_subr/checksum.c subversion/include/private/svn_debug.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_ctype.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_subr/md5.h subversion/libsvn_subr/sha1.h subversion/svn_private_config.h
 
 subversion/libsvn_subr/cmdline.lo: subversion/libsvn_subr/cmdline.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_string_private.h subversion/include/private/svn_utf_private.h subversion/include/svn_auth.h subversion/include/svn_base64.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_ctype.h subversion/include/svn_dirent_uri.h subversion/include/svn_dso.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_nls.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_xml.h subversion/libsvn_subr/win32_crashrpt.h subversion/svn_privat
 e_config.h
 
@@ -2327,7 +2327,7 @@ subversion/libsvn_subr/date.lo: subversi
 
 subversion/libsvn_subr/debug.lo: subversion/libsvn_subr/debug.c subversion/include/private/svn_debug.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_string.h subversion/include/svn_types.h
 
-subversion/libsvn_subr/deprecated.lo: subversion/libsvn_subr/deprecated.c subversion/include/private/svn_debug.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_opt_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_dirent_uri.h subversion/include/svn_dso.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/include/svn_xml.h subversion/libsvn_subr/opt.h subversion/svn_private_config.h
+subversion/libsvn_subr/deprecated.lo: subversion/libsvn_subr/deprecated.c subversion/include/private/svn_debug.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_opt_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_dirent_uri.h subversion/include/svn_dso.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/include/svn_xml.h subversion/libsvn_subr/opt.h subversion/svn_private_config.h
 
 subversion/libsvn_subr/dirent_uri.lo: subversion/libsvn_subr/dirent_uri.c subversion/include/private/svn_debug.h subversion/include/private/svn_fspath.h subversion/include/svn_ctype.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_path.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_subr/dirent_uri.h subversion/svn_private_config.h
 
@@ -2339,7 +2339,7 @@ subversion/libsvn_subr/error.lo: subvers
 
 subversion/libsvn_subr/gpg_agent.lo: subversion/libsvn_subr/gpg_agent.c subversion/include/private/svn_auth_private.h subversion/include/private/svn_debug.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/svn_private_config.h
 
-subversion/libsvn_subr/hash.lo: subversion/libsvn_subr/hash.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_pools.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/svn_private_config.h
+subversion/libsvn_subr/hash.lo: subversion/libsvn_subr/hash.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_pools.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/svn_private_config.h
 
 subversion/libsvn_subr/io.lo: subversion/libsvn_subr/io.c subversion/include/private/svn_atomic.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_io_private.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_ctype.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/svn_private_config.h
 
@@ -2355,7 +2355,7 @@ subversion/libsvn_subr/magic.lo: subvers
 
 subversion/libsvn_subr/md5.lo: subversion/libsvn_subr/md5.c subversion/include/private/svn_debug.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_md5.h subversion/include/svn_types.h subversion/libsvn_subr/md5.h
 
-subversion/libsvn_subr/mergeinfo.lo: subversion/libsvn_subr/mergeinfo.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_fspath.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_ctype.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/svn_private_config.h
+subversion/libsvn_subr/mergeinfo.lo: subversion/libsvn_subr/mergeinfo.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_fspath.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_ctype.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/svn_private_config.h
 
 subversion/libsvn_subr/mutex.lo: subversion/libsvn_subr/mutex.c subversion/include/private/svn_debug.h subversion/include/private/svn_mutex.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_types.h subversion/svn_private_config.h
 
@@ -2371,7 +2371,7 @@ subversion/libsvn_subr/pool.lo: subversi
 
 subversion/libsvn_subr/prompt.lo: subversion/libsvn_subr/prompt.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_ctype.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_path.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/svn_private_config.h
 
-subversion/libsvn_subr/properties.lo: subversion/libsvn_subr/properties.c subversion/include/private/svn_debug.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_ctype.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_props.h subversion/include/svn_string.h subversion/include/svn_types.h
+subversion/libsvn_subr/properties.lo: subversion/libsvn_subr/properties.c subversion/include/private/svn_debug.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_ctype.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_props.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h
 
 subversion/libsvn_subr/pseudo_md5.lo: subversion/libsvn_subr/pseudo_md5.c subversion/include/private/svn_pseudo_md5.h
 
@@ -2385,7 +2385,7 @@ subversion/libsvn_subr/skel.lo: subversi
 
 subversion/libsvn_subr/sorts.lo: subversion/libsvn_subr/sorts.c subversion/include/private/svn_debug.h subversion/include/svn_checksum.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_path.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h
 
-subversion/libsvn_subr/spillbuf.lo: subversion/libsvn_subr/spillbuf.c subversion/include/private/svn_debug.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h
+subversion/libsvn_subr/spillbuf.lo: subversion/libsvn_subr/spillbuf.c subversion/include/private/svn_debug.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h
 
 subversion/libsvn_subr/sqlite.lo: subversion/libsvn_subr/sqlite.c subversion/include/private/svn_atomic.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_token.h subversion/include/svn_checksum.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_subr/internal_statements.h subversion/svn_private_config.h
 
@@ -2397,7 +2397,7 @@ subversion/libsvn_subr/ssl_client_cert_p
 
 subversion/libsvn_subr/ssl_server_trust_providers.lo: subversion/libsvn_subr/ssl_server_trust_providers.c subversion/include/private/svn_debug.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_string.h subversion/include/svn_types.h
 
-subversion/libsvn_subr/stream.lo: subversion/libsvn_subr/stream.c subversion/include/private/svn_debug.h subversion/include/private/svn_eol_private.h subversion/include/private/svn_error_private.h subversion/include/private/svn_io_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/svn_private_config.h
+subversion/libsvn_subr/stream.lo: subversion/libsvn_subr/stream.c subversion/include/private/svn_debug.h subversion/include/private/svn_eol_private.h subversion/include/private/svn_error_private.h subversion/include/private/svn_io_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/svn_private_config.h
 
 subversion/libsvn_subr/string.lo: subversion/libsvn_subr/string.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_string_private.h subversion/include/svn_ctype.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/svn_private_config.h
 
@@ -2441,7 +2441,7 @@ subversion/libsvn_wc/adm_crawler.lo: sub
 
 subversion/libsvn_wc/adm_files.lo: subversion/libsvn_wc/adm_files.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_wc/adm_files.h subversion/libsvn_wc/entries.h subversion/libsvn_wc/lock.h subversion/libsvn_wc/props.h subversion/libsvn_wc/wc.h subver
 sion/libsvn_wc/wc_db.h subversion/svn_private_config.h
 
-subversion/libsvn_wc/adm_ops.lo: subversion/libsvn_wc/adm_ops.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h sub
 version/include/svn_wc.h subversion/libsvn_wc/adm_files.h subversion/libsvn_wc/conflicts.h subversion/libsvn_wc/props.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/libsvn_wc/workqueue.h subversion/svn_private_config.h
+subversion/libsvn_wc/adm_ops.lo: subversion/libsvn_wc/adm_ops.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h sub
 version/include/svn_version.h subversion/include/svn_wc.h subversion/libsvn_wc/adm_files.h subversion/libsvn_wc/conflicts.h subversion/libsvn_wc/props.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/libsvn_wc/workqueue.h subversion/svn_private_config.h
 
 subversion/libsvn_wc/ambient_depth_filter_editor.lo: subversion/libsvn_wc/ambient_depth_filter_editor.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/svn_private_config.h
 
@@ -2457,15 +2457,15 @@ subversion/libsvn_wc/crop.lo: subversion
 
 subversion/libsvn_wc/delete.lo: subversion/libsvn_wc/delete.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_wc/adm_files.h subversion/libsvn_wc/conflicts.h subversion/libsvn_wc/props.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/libsvn_wc/workqueue.h subve
 rsion/svn_private_config.h
 
-subversion/libsvn_wc/deprecated.lo: subversion/libsvn_wc/deprecated.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/li
 bsvn_wc/entries.h subversion/libsvn_wc/lock.h subversion/libsvn_wc/props.h subversion/libsvn_wc/translate.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/libsvn_wc/workqueue.h subversion/svn_private_config.h
+subversion/libsvn_wc/deprecated.lo: subversion/libsvn_wc/deprecated.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_version.h subversi
 on/include/svn_wc.h subversion/libsvn_wc/entries.h subversion/libsvn_wc/lock.h subversion/libsvn_wc/props.h subversion/libsvn_wc/translate.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/libsvn_wc/workqueue.h subversion/svn_private_config.h
 
-subversion/libsvn_wc/diff_editor.lo: subversion/libsvn_wc/diff_editor.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.
 h subversion/include/svn_wc.h subversion/libsvn_wc/adm_files.h subversion/libsvn_wc/diff.h subversion/libsvn_wc/props.h subversion/libsvn_wc/translate.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/svn_private_config.h
+subversion/libsvn_wc/diff_editor.lo: subversion/libsvn_wc/diff_editor.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.
 h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/libsvn_wc/adm_files.h subversion/libsvn_wc/diff.h subversion/libsvn_wc/props.h subversion/libsvn_wc/translate.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/svn_private_config.h
 
 subversion/libsvn_wc/diff_local.lo: subversion/libsvn_wc/diff_local.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_wc/diff.h subversion/libsvn_wc/props.h subversion/libsvn_wc/translate.h
  subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/svn_private_config.h
 
 subversion/libsvn_wc/entries.lo: subversion/libsvn_wc/entries.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_ctype.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_wc/adm_files.h subversion/libsvn_wc/conflicts.h
  subversion/libsvn_wc/entries.h subversion/libsvn_wc/lock.h subversion/libsvn_wc/props.h subversion/libsvn_wc/tree_conflicts.h subversion/libsvn_wc/wc-queries.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/svn_private_config.h
 
-subversion/libsvn_wc/externals.lo: subversion/libsvn_wc/externals.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libs
 vn_wc/adm_files.h subversion/libsvn_wc/conflicts.h subversion/libsvn_wc/props.h subversion/libsvn_wc/translate.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/libsvn_wc/workqueue.h subversion/svn_private_config.h
+subversion/libsvn_wc/externals.lo: subversion/libsvn_wc/externals.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_version.h subversion
 /include/svn_wc.h subversion/libsvn_wc/adm_files.h subversion/libsvn_wc/conflicts.h subversion/libsvn_wc/props.h subversion/libsvn_wc/translate.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/libsvn_wc/workqueue.h subversion/svn_private_config.h
 
 subversion/libsvn_wc/info.lo: subversion/libsvn_wc/info.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/svn_private_config.h
 
@@ -2477,7 +2477,7 @@ subversion/libsvn_wc/node.lo: subversion
 
 subversion/libsvn_wc/old-and-busted.lo: subversion/libsvn_wc/old-and-busted.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_ctype.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/include/svn_xml.h subversion/libsvn_wc/a
 dm_files.h subversion/libsvn_wc/entries.h subversion/libsvn_wc/lock.h subversion/libsvn_wc/props.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/svn_private_config.h
 
-subversion/libsvn_wc/props.lo: subversion/libsvn_wc/props.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/incl
 ude/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_wc.h subversion/libsvn_wc/conflicts.h subversion/libsvn_wc/props.h subversion/libsvn_wc/translate.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/libsvn_wc/workqueue.h subversion/svn_private_config.h
+subversion/libsvn_wc/props.lo: subversion/libsvn_wc/props.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/incl
 ude/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/libsvn_wc/conflicts.h subversion/libsvn_wc/props.h subversion/libsvn_wc/translate.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/libsvn_wc/workqueue.h subversion/svn_private_config.h
 
 subversion/libsvn_wc/questions.lo: subversion/libsvn_wc/questions.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_wc/conflicts.h subversion/libsvn_wc/translate.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h 
 subversion/svn_private_config.h
 
@@ -2493,7 +2493,7 @@ subversion/libsvn_wc/translate.lo: subve
 
 subversion/libsvn_wc/tree_conflicts.lo: subversion/libsvn_wc/tree_conflicts.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_wc/conflicts.h subversion/libsvn_wc/tree_conflicts.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/svn_private_config.h
 
-subversion/libsvn_wc/update_editor.lo: subversion/libsvn_wc/update_editor.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_time.h subversion/include/svn_typ
 es.h subversion/include/svn_wc.h subversion/libsvn_wc/adm_files.h subversion/libsvn_wc/conflicts.h subversion/libsvn_wc/props.h subversion/libsvn_wc/translate.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/libsvn_wc/workqueue.h subversion/svn_private_config.h
+subversion/libsvn_wc/update_editor.lo: subversion/libsvn_wc/update_editor.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_time.h subversion/include/svn_typ
 es.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/libsvn_wc/adm_files.h subversion/libsvn_wc/conflicts.h subversion/libsvn_wc/props.h subversion/libsvn_wc/translate.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/libsvn_wc/workqueue.h subversion/svn_private_config.h
 
 subversion/libsvn_wc/upgrade.lo: subversion/libsvn_wc/upgrade.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_wc/adm_files.h subversion/libsvn_wc/conflicts.h subversion/libsvn_wc/entries.h subversion/libsvn_wc/props.h 
 subversion/libsvn_wc/tree_conflicts.h subversion/libsvn_wc/wc-queries.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/libsvn_wc/workqueue.h subversion/svn_private_config.h
 
@@ -2659,7 +2659,7 @@ subversion/svn/mkdir-cmd.lo: subversion/
 
 subversion/svn/move-cmd.lo: subversion/svn/move-cmd.c subversion/include/private/svn_debug.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/svn/cl.h subversion/svn_private_config.h
 
-subversion/svn/notify.lo: subversion/svn/notify.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/svn/cl.h subversion/svn_private_config.h
+subversion/svn/notify.lo: subversion/svn/notify.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/svn/cl.h subversion/svn_private_config.h
 
 subversion/svn/patch-cmd.lo: subversion/svn/patch-cmd.c subversion/include/private/svn_debug.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/svn/cl.h subversion/svn_private_config.h
 
@@ -2687,7 +2687,7 @@ subversion/svn/status-cmd.lo: subversion
 
 subversion/svn/status.lo: subversion/svn/status.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/include/svn_xml.h subversion/svn/cl-conflicts.h subversion/svn/cl.h subversion/svn_private_config.h
 
-subversion/svn/svn.lo: subversion/svn/svn.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_opt_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/svn/cl.h subversion/svn_private_config.h
+subversion/svn/svn.lo: subversion/svn/svn.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_opt_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/svn/cl.h subversion/svn_private_config.h
 
 subversion/svn/switch-cmd.lo: subversion/svn/switch-cmd.c subversion/include/private/svn_debug.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/svn/cl.h subversion/svn_private_config.h
 
@@ -2701,13 +2701,13 @@ subversion/svn/util.lo: subversion/svn/u
 
 subversion/svnadmin/svnadmin.lo: subversion/svnadmin/svnadmin.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_opt_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_cache_config.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_user.h subversion/include/svn_ut
 f.h subversion/include/svn_version.h subversion/include/svn_xml.h subversion/svn_private_config.h
 
-subversion/svndumpfilter/svndumpfilter.lo: subversion/svndumpfilter/svndumpfilter.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_mergeinfo_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_repos.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/svn_private_config.h
+subversion/svndumpfilter/svndumpfilter.lo: subversion/svndumpfilter/svndumpfilter.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_repos.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/svn_private_config.h
 
-subversion/svnlook/svnlook.lo: subversion/svnlook/svnlook.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_private.h subversion/include/private/svn_fspath.h subversion/include/private/svn_io_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_repos.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_time.h subversion/include/svn_types
 .h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/include/svn_xml.h subversion/svn_private_config.h
+subversion/svnlook/svnlook.lo: subversion/svnlook/svnlook.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_private.h subversion/include/private/svn_fspath.h subversion/include/private/svn_io_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_repos.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/i
 nclude/svn_time.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/include/svn_xml.h subversion/svn_private_config.h
 
-subversion/svnmucc/svnmucc.lo: subversion/svnmucc/svnmucc.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_string_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_ver
 sion.h subversion/include/svn_wc.h subversion/svn_private_config.h
+subversion/svnmucc/svnmucc.lo: subversion/svnmucc/svnmucc.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversio
 n/include/svn_utf.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/svn_private_config.h
 
-subversion/svnrdump/dump_editor.lo: subversion/svnrdump/dump_editor.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/svnrdump/svnrdump.h
+subversion/svnrdump/dump_editor.lo: subversion/svnrdump/dump_editor.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/svnrdump/svnrdump.h
 
 subversion/svnrdump/load_editor.lo: subversion/svnrdump/load_editor.c subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_fspath.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_repos_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/svn_private_config.h subv
 ersion/svnrdump/svnrdump.h
 
@@ -2721,15 +2721,15 @@ subversion/svnserve/log-escape.lo: subve
 
 subversion/svnserve/serve.lo: subversion/svnserve/serve.c subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_fspath.h subversion/include/private/svn_log.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_ra_svn_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_compat.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_ra_svn.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_u
 ser.h subversion/svn_private_config.h subversion/svnserve/server.h
 
-subversion/svnserve/svnserve.lo: subversion/svnserve/svnserve.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/svn_auth.h subversion/include/svn_cache_config.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra_svn.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/svn_private_config.h subversion/svnserve/server.h subversion/svnserve/winservic
 e.h
+subversion/svnserve/svnserve.lo: subversion/svnserve/svnserve.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_cache_config.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra_svn.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/svn_private_config.h subversion/s
 vnserve/server.h subversion/svnserve/winservice.h
 
 subversion/svnserve/winservice.lo: subversion/svnserve/winservice.c subversion/include/private/svn_debug.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_types.h subversion/svn_private_config.h subversion/svnserve/winservice.h
 
-subversion/svnsync/svnsync.lo: subversion/svnsync/svnsync.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_opt_private.h subversion/include/private/svn_ra_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/svn_private_config.h subversion/svnsync/sync.h
+subversion/svnsync/svnsync.lo: subversion/svnsync/svnsync.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_opt_private.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/s
 vn_private_config.h subversion/svnsync/sync.h
 
 subversion/svnsync/sync.lo: subversion/svnsync/sync.c subversion/include/private/svn_debug.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/svn_private_config.h subversion/svnsync/sync.h
 
-subversion/svnversion/svnversion.lo: subversion/svnversion/svnversion.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_opt_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/svn_private_config.h
+subversion/svnversion/svnversion.lo: subversion/svnversion/svnversion.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_opt_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/svn_private_config.h
 
 subversion/tests/cmdline/atomic-ra-revprop-change.lo: subversion/tests/cmdline/atomic-ra-revprop-change.c subversion/include/private/svn_debug.h subversion/include/private/svn_skel.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/svn_private_config.h
 
@@ -2743,7 +2743,7 @@ subversion/tests/libsvn_delta/svndiff-te
 
 subversion/tests/libsvn_delta/vdelta-test.lo: subversion/tests/libsvn_delta/vdelta-test.c subversion/include/private/svn_debug.h subversion/include/svn_checksum.h subversion/include/svn_ctype.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_delta/delta.h subversion/tests/libsvn_delta/delta-window-test.h subversion/tests/svn_test.h
 
-subversion/tests/libsvn_delta/window-test.lo: subversion/tests/libsvn_delta/window-test.c subversion/include/private/svn_debug.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_path.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/tests/svn_test.h
+subversion/tests/libsvn_delta/window-test.lo: subversion/tests/libsvn_delta/window-test.c subversion/include/private/svn_debug.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_path.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/tests/svn_test.h
 
 subversion/tests/libsvn_diff/diff-diff3-test.lo: subversion/tests/libsvn_diff/diff-diff3-test.c subversion/include/private/svn_debug.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/tests/svn_test.h
 
@@ -2805,7 +2805,7 @@ subversion/tests/libsvn_subr/revision-te
 
 subversion/tests/libsvn_subr/skel-test.lo: subversion/tests/libsvn_subr/skel-test.c subversion/include/private/svn_debug.h subversion/include/private/svn_skel.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/tests/svn_test.h subversion/tests/svn_test_fs.h
 
-subversion/tests/libsvn_subr/spillbuf-test.lo: subversion/tests/libsvn_subr/spillbuf-test.c subversion/include/private/svn_debug.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_path.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/tests/svn_test.h
+subversion/tests/libsvn_subr/spillbuf-test.lo: subversion/tests/libsvn_subr/spillbuf-test.c subversion/include/private/svn_debug.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_path.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/tests/svn_test.h
 
 subversion/tests/libsvn_subr/stream-test.lo: subversion/tests/libsvn_subr/stream-test.c subversion/include/private/svn_debug.h subversion/include/private/svn_io_private.h subversion/include/svn_base64.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/tests/svn_test.h
 
@@ -2869,7 +2869,7 @@ tools/client-side/svn-bench/util.lo: too
 
 tools/dev/fsfs-access-map.lo: tools/dev/fsfs-access-map.c subversion/include/private/svn_debug.h subversion/include/private/svn_string_private.h subversion/include/svn_checksum.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h
 
-tools/dev/fsfs-reorg.lo: tools/dev/fsfs-reorg.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_pools.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h
+tools/dev/fsfs-reorg.lo: tools/dev/fsfs-reorg.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_pools.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h
 
 tools/dev/svnraisetreeconflict/svnraisetreeconflict.lo: tools/dev/svnraisetreeconflict/svnraisetreeconflict.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/svn_private_config.h
 
@@ -2879,7 +2879,7 @@ tools/diff/diff3.lo: tools/diff/diff3.c 
 
 tools/diff/diff4.lo: tools/diff/diff4.c subversion/include/private/svn_debug.h subversion/include/svn_checksum.h subversion/include/svn_diff.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h
 
-tools/server-side/fsfs-stats.lo: tools/server-side/fsfs-stats.c subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_cache_config.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_pools.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h
+tools/server-side/fsfs-stats.lo: tools/server-side/fsfs-stats.c subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_cache_config.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_pools.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h
 
 tools/server-side/mod_dontdothat/mod_dontdothat.lo: tools/server-side/mod_dontdothat/mod_dontdothat.c subversion/include/mod_dav_svn.h subversion/include/private/svn_debug.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_string.h subversion/include/svn_types.h
 	if $(INSTALL_APACHE_MODS) ; then $(COMPILE_APACHE_MOD) $(canonicalized_srcdir)tools/server-side/mod_dontdothat/mod_dontdothat.c ; else echo "fake" > tools/server-side/mod_dontdothat/mod_dontdothat.lo ; fi

Modified: head/contrib/subversion/build.conf
==============================================================================
--- head/contrib/subversion/build.conf	Mon Nov 11 01:01:04 2013	(r257935)
+++ head/contrib/subversion/build.conf	Mon Nov 11 01:14:58 2013	(r257936)
@@ -325,7 +325,7 @@ install = fsmod-lib
 path = subversion/libsvn_subr
 libs = aprutil apriconv apr xml zlib apr_memcache sqlite magic
 msvc-libs = kernel32.lib advapi32.lib shfolder.lib ole32.lib
-            crypt32.lib version.lib psapi.lib
+            crypt32.lib version.lib
 msvc-export = 
         svn_auth.h svn_base64.h svn_cache_config.h svn_checksum.h svn_cmdline.h
         svn_compat.h svn_config.h svn_ctype.h svn_dirent_uri.h svn_dso.h 
@@ -1263,13 +1263,13 @@ lang = python
 [__SWIG_PERL__]
 type = swig_project
 path = build/win32
-libs = swig_client swig_delta swig_fs swig_ra swig_repos swig_wc swig_core
+libs = swig_client swig_delta swig_diff swig_fs swig_ra swig_repos swig_wc swig_core
 lang = perl
 
 [__SWIG_RUBY__]
 type = swig_project
 path = build/win32
-libs = swig_client swig_delta swig_fs swig_ra swig_repos swig_wc swig_core
+libs = swig_client swig_delta swig_diff swig_fs swig_ra swig_repos swig_wc swig_core
 lang = ruby
 
 [__JAVAHL__]

Modified: head/contrib/subversion/configure
==============================================================================
--- head/contrib/subversion/configure	Mon Nov 11 01:01:04 2013	(r257935)
+++ head/contrib/subversion/configure	Mon Nov 11 01:14:58 2013	(r257936)
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for subversion 1.8.1.
+# Generated by GNU Autoconf 2.69 for subversion 1.8.4.
 #
 # Report bugs to <http://subversion.apache.org/>.
 #
@@ -590,8 +590,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='subversion'
 PACKAGE_TARNAME='subversion'
-PACKAGE_VERSION='1.8.1'
-PACKAGE_STRING='subversion 1.8.1'
+PACKAGE_VERSION='1.8.4'
+PACKAGE_STRING='subversion 1.8.4'
 PACKAGE_BUGREPORT='http://subversion.apache.org/'
 PACKAGE_URL=''
 
@@ -1456,7 +1456,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures subversion 1.8.1 to adapt to many kinds of systems.
+\`configure' configures subversion 1.8.4 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1522,7 +1522,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of subversion 1.8.1:";;
+     short | recursive ) echo "Configuration of subversion 1.8.4:";;
    esac
   cat <<\_ACEOF
 
@@ -1736,7 +1736,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-subversion configure 1.8.1
+subversion configure 1.8.4
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2280,7 +2280,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by subversion $as_me 1.8.1, which was
+It was created by subversion $as_me 1.8.4, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2660,8 +2660,8 @@ ac_configure="$SHELL $ac_aux_dir/configu
 
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: Configuring Subversion 1.8.1" >&5
-$as_echo "$as_me: Configuring Subversion 1.8.1" >&6;}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: Configuring Subversion 1.8.4" >&5
+$as_echo "$as_me: Configuring Subversion 1.8.4" >&6;}
 
 abs_srcdir="`cd $srcdir && pwd`"
 
@@ -25736,7 +25736,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by subversion $as_me 1.8.1, which was
+This file was extended by subversion $as_me 1.8.4, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -25802,7 +25802,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-subversion config.status 1.8.1
+subversion config.status 1.8.4
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 

Modified: head/contrib/subversion/subversion/include/private/svn_client_private.h
==============================================================================
--- head/contrib/subversion/subversion/include/private/svn_client_private.h	Mon Nov 11 01:01:04 2013	(r257935)
+++ head/contrib/subversion/subversion/include/private/svn_client_private.h	Mon Nov 11 01:14:58 2013	(r257936)
@@ -306,6 +306,11 @@ svn_client__copy_foreign(const char *url
  * The keys for the subtree mergeinfo are the repository root-relative
  * paths of TARGET_PATH_OR_URL and/or its subtrees, regardless of whether
  * TARGET_PATH_OR_URL is a URL or WC path.
+ *
+ * If RA_SESSION is not NULL, use it to obtain merge information instead of
+ * opening a new session. The session might be reparented after usage, so
+ * callers should reparent the session back to their original location if
+ * needed.
  */
 svn_error_t *
 svn_client__mergeinfo_log(svn_boolean_t finding_merged,
@@ -322,6 +327,7 @@ svn_client__mergeinfo_log(svn_boolean_t 
                           svn_depth_t depth,
                           const apr_array_header_t *revprops,
                           svn_client_ctx_t *ctx,
+                          svn_ra_session_t *ra_session,
                           apr_pool_t *result_pool,
                           apr_pool_t *scratch_pool);
 

Modified: head/contrib/subversion/subversion/include/private/svn_subr_private.h
==============================================================================
--- head/contrib/subversion/subversion/include/private/svn_subr_private.h	Mon Nov 11 01:01:04 2013	(r257935)
+++ head/contrib/subversion/subversion/include/private/svn_subr_private.h	Mon Nov 11 01:14:58 2013	(r257936)
@@ -26,6 +26,7 @@
 
 #include "svn_types.h"
 #include "svn_io.h"
+#include "svn_version.h"
 
 
 #ifdef __cplusplus
@@ -331,6 +332,18 @@ svn_version__at_least(svn_version_t *ver
                       int minor,
                       int patch);
 
+/** Like svn_ver_check_list(), but with a @a comparator parameter.
+ * Private backport of svn_ver_check_list2() from trunk.
+ */
+svn_error_t *
+svn_ver__check_list2(const svn_version_t *my_version,
+                     const svn_version_checklist_t *checklist,
+                     svn_boolean_t (*comparator)(const svn_version_t *,
+                                                 const svn_version_t *));
+
+/** To minimize merge churn in callers, alias the trunk name privately. */
+#define svn_ver_check_list2 svn_ver__check_list2
+
 /** @} */
 
 #ifdef __cplusplus

Modified: head/contrib/subversion/subversion/include/svn_config.h
==============================================================================
--- head/contrib/subversion/subversion/include/svn_config.h	Mon Nov 11 01:01:04 2013	(r257935)
+++ head/contrib/subversion/subversion/include/svn_config.h	Mon Nov 11 01:14:58 2013	(r257936)
@@ -732,6 +732,12 @@ typedef svn_error_t *
  * under @a config_dir.  If the callback sets its delete_cred return
  * flag, delete the associated credential.
  *
+ * If @a config_dir is not NULL, it must point to an alternative
+ * config directory location. If it is NULL, the default location
+ * is used.
+ *
+ * @note @a config_dir may only be NULL in 1.8.2 and later.
+ *
  * @note Removing credentials from the config-based disk store will
  * not purge them from any open svn_auth_baton_t instance.  Consider
  * using svn_auth_forget_credentials() -- from the @a cleanup_func,

Modified: head/contrib/subversion/subversion/include/svn_types.h
==============================================================================
--- head/contrib/subversion/subversion/include/svn_types.h	Mon Nov 11 01:01:04 2013	(r257935)
+++ head/contrib/subversion/subversion/include/svn_types.h	Mon Nov 11 01:14:58 2013	(r257936)
@@ -219,6 +219,16 @@ svn__apr_hash_index_val(const apr_hash_i
                       || ((s) == APR_OS_START_SYSERR + ERROR_INVALID_NAME))
 #endif
 
+/** On Windows, APR_STATUS_IS_EPIPE does not include ERROR_NO_DATA error.
+ * So we include it.*/
+/* ### These fixes should go into APR. */
+#ifndef WIN32
+#define SVN__APR_STATUS_IS_EPIPE(s)  APR_STATUS_IS_EPIPE(s)
+#else
+#define SVN__APR_STATUS_IS_EPIPE(s)  (APR_STATUS_IS_EPIPE(s) \
+                      || ((s) == APR_OS_START_SYSERR + ERROR_NO_DATA))
+#endif
+
 /** @} */
 
 

Modified: head/contrib/subversion/subversion/include/svn_version.h
==============================================================================
--- head/contrib/subversion/subversion/include/svn_version.h	Mon Nov 11 01:01:04 2013	(r257935)
+++ head/contrib/subversion/subversion/include/svn_version.h	Mon Nov 11 01:14:58 2013	(r257936)
@@ -72,7 +72,7 @@ extern "C" {
  *
  * @since New in 1.1.
  */
-#define SVN_VER_PATCH      1
+#define SVN_VER_PATCH      4
 
 
 /** @deprecated Provided for backward compatibility with the 1.0 API. */
@@ -95,7 +95,7 @@ extern "C" {
  *
  * Always change this at the same time as SVN_VER_NUMTAG.
  */
-#define SVN_VER_TAG        " (r1503906)"
+#define SVN_VER_TAG        " (r1534716)"
 
 
 /** Number tag: a string describing the version.
@@ -121,7 +121,7 @@ extern "C" {
  * When rolling a tarball, we automatically replace it with what we
  * guess to be the correct revision number.
  */
-#define SVN_VER_REVISION   1503906
+#define SVN_VER_REVISION   1534716
 
 
 /* Version strings composed from the above definitions. */

Modified: head/contrib/subversion/subversion/libsvn_client/commit.c
==============================================================================
--- head/contrib/subversion/subversion/libsvn_client/commit.c	Mon Nov 11 01:01:04 2013	(r257935)
+++ head/contrib/subversion/subversion/libsvn_client/commit.c	Mon Nov 11 01:14:58 2013	(r257936)
@@ -999,9 +999,22 @@ svn_client_commit6(const apr_array_heade
     }
 
  cleanup:
-  /* Sleep to ensure timestamp integrity. */
+  /* Sleep to ensure timestamp integrity.  BASE_ABSPATH may have been
+     removed by the commit or it may the common ancestor of multiple
+     working copies. */
   if (timestamp_sleep)
-    svn_io_sleep_for_timestamps(base_abspath, pool);
+    {
+      const char *wcroot_abspath;
+      svn_error_t *err = svn_wc__get_wcroot(&wcroot_abspath, ctx->wc_ctx,
+                                            base_abspath, pool, pool);
+      if (err)
+        {
+          svn_error_clear(err);
+          wcroot_abspath = NULL;
+        }
+
+      svn_io_sleep_for_timestamps(wcroot_abspath, pool);
+    }
 
   /* Abort the commit if it is still in progress. */
   svn_pool_clear(iterpool); /* Close open handles before aborting */

Modified: head/contrib/subversion/subversion/libsvn_client/merge.c
==============================================================================
--- head/contrib/subversion/subversion/libsvn_client/merge.c	Mon Nov 11 01:01:04 2013	(r257935)
+++ head/contrib/subversion/subversion/libsvn_client/merge.c	Mon Nov 11 01:14:58 2013	(r257936)
@@ -10716,7 +10716,7 @@ log_find_operative_revs(void *baton,
 
           suffix = svn_relpath_skip_ancestor(subtree_missing_this_rev,
                                              source_rel_path);
-          if (suffix)
+          if (suffix && suffix[0] != '\0')
             {
               missing_path = apr_pstrmemdup(pool, path,
                                             strlen(path) - strlen(suffix) - 1);
@@ -12051,11 +12051,15 @@ short_circuit_mergeinfo_log(svn_mergeinf
                             svn_log_entry_receiver_t receiver,
                             svn_revnum_t *revision,
                             svn_client_ctx_t *ctx,
+                            svn_ra_session_t *ra_session,
                             apr_pool_t *result_pool,
                             apr_pool_t *scratch_pool)
 {
   apr_array_header_t *revprops;
   svn_error_t *err;
+  const char *session_url;
+
+  SVN_ERR(svn_ra_get_session_url(ra_session, &session_url, scratch_pool));
 
   revprops = apr_array_make(scratch_pool, 0, sizeof(const char *));
   err = svn_client__mergeinfo_log(finding_merged,
@@ -12068,8 +12072,12 @@ short_circuit_mergeinfo_log(svn_mergeinf
                                   source_end_revision,
                                   receiver, revision,
                                   TRUE, svn_depth_infinity,
-                                  revprops, ctx, result_pool,
-                                  scratch_pool);
+                                  revprops, ctx, ra_session,
+                                  result_pool, scratch_pool);
+
+  err = svn_error_compose_create(
+                  err,
+                  svn_ra_reparent(ra_session, session_url, scratch_pool));
 
   if (err)
     {
@@ -12133,6 +12141,7 @@ find_last_merged_location(svn_client__pa
                           const branch_history_t *source_branch,
                           svn_client__pathrev_t *target,
                           svn_client_ctx_t *ctx,
+                          svn_ra_session_t *ra_session,
                           apr_pool_t *result_pool,
                           apr_pool_t *scratch_pool)
 {
@@ -12160,7 +12169,8 @@ find_last_merged_location(svn_client__pa
                                       &source_end_rev, &source_start_rev,
                                       operative_rev_receiver,
                                       &youngest_merged_rev,
-                                      ctx, result_pool, scratch_pool));
+                                      ctx, ra_session,
+                                      result_pool, scratch_pool));
 
   if (!SVN_IS_VALID_REVNUM(youngest_merged_rev))
     {
@@ -12195,7 +12205,8 @@ find_last_merged_location(svn_client__pa
                                           &source_start_rev, &source_end_rev,
                                           operative_rev_receiver,
                                           &oldest_eligible_rev,
-                                          ctx, scratch_pool, scratch_pool));
+                                          ctx, ra_session,
+                                          scratch_pool, scratch_pool));
 
       /* If there are revisions eligible for merging, use the oldest one
          to calculate the base.  Otherwise there are no operative revisions
@@ -12249,7 +12260,9 @@ find_base_on_source(svn_client__pathrev_
                                     s_t->yca,
                                     &s_t->source_branch,
                                     s_t->target_branch.tip,
-                                    ctx, result_pool, scratch_pool));
+                                    ctx,
+                                    s_t->source_ra_session,
+                                    result_pool, scratch_pool));
   return SVN_NO_ERROR;
 }
 
@@ -12282,7 +12295,9 @@ find_base_on_target(svn_client__pathrev_
                                     s_t->yca,
                                     &s_t->target_branch,
                                     s_t->source,
-                                    ctx, result_pool, scratch_pool));
+                                    ctx,
+                                    s_t->target_ra_session,
+                                    result_pool, scratch_pool));
 
   return SVN_NO_ERROR;
 }

Modified: head/contrib/subversion/subversion/libsvn_client/mergeinfo.c
==============================================================================
--- head/contrib/subversion/subversion/libsvn_client/mergeinfo.c	Mon Nov 11 01:01:04 2013	(r257935)
+++ head/contrib/subversion/subversion/libsvn_client/mergeinfo.c	Mon Nov 11 01:14:58 2013	(r257936)
@@ -1021,6 +1021,11 @@ svn_client__elide_mergeinfo(const char *
    Set *REPOS_ROOT to the root URL of the repository associated with
    PATH_OR_URL.
 
+   If RA_SESSION is NOT NULL and PATH_OR_URL refers to a URL, RA_SESSION
+   (which must be of the repository containing PATH_OR_URL) will be used
+   instead of a temporary RA session. Caller is responsible for reparenting
+   the session if it wants to use it after the call.
+
    Allocate *MERGEINFO_CATALOG and all its contents in RESULT_POOL.  Use
    SCRATCH_POOL for all temporary allocations.
 
@@ -1034,17 +1039,30 @@ get_mergeinfo(svn_mergeinfo_catalog_t *m
               svn_boolean_t include_descendants,
               svn_boolean_t ignore_invalid_mergeinfo,
               svn_client_ctx_t *ctx,
+              svn_ra_session_t *ra_session,
               apr_pool_t *result_pool,
               apr_pool_t *scratch_pool)
 {
-  svn_ra_session_t *ra_session;
   const char *local_abspath;
   svn_boolean_t use_url = svn_path_is_url(path_or_url);
   svn_client__pathrev_t *peg_loc;
 
-  SVN_ERR(svn_client__ra_session_from_path2(&ra_session, &peg_loc,
-                                            path_or_url, NULL, peg_revision,
-                                            peg_revision, ctx, scratch_pool));
+  if (ra_session && svn_path_is_url(path_or_url))
+    {
+      SVN_ERR(svn_ra_reparent(ra_session, path_or_url, scratch_pool));
+      SVN_ERR(svn_client__resolve_rev_and_url(&peg_loc, ra_session,
+                                              path_or_url,
+                                              peg_revision,
+                                              peg_revision,
+                                              ctx, scratch_pool));
+    }
+  else
+    {
+      SVN_ERR(svn_client__ra_session_from_path2(&ra_session, &peg_loc,
+                                                path_or_url, NULL,
+                                                peg_revision,
+                                                peg_revision, ctx, scratch_pool));
+    }

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

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 01:42:59 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id D14F61D4;
 Mon, 11 Nov 2013 01:42:59 +0000 (UTC) (envelope-from gjb@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id BF815205E;
 Mon, 11 Nov 2013 01:42:59 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAB1gxew072807;
 Mon, 11 Nov 2013 01:42:59 GMT (envelope-from gjb@svn.freebsd.org)
Received: (from gjb@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAB1gxLO072806;
 Mon, 11 Nov 2013 01:42:59 GMT (envelope-from gjb@svn.freebsd.org)
Message-Id: <201311110142.rAB1gxLO072806@svn.freebsd.org>
From: Glen Barber <gjb@FreeBSD.org>
Date: Mon, 11 Nov 2013 01:42:59 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257937 - head/usr.sbin/bsdconfig/share
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 01:42:59 -0000

Author: gjb
Date: Mon Nov 11 01:42:59 2013
New Revision: 257937
URL: http://svnweb.freebsd.org/changeset/base/257937

Log:
  Unbreak the installer on head/:
  
    When bsdinstall(8) sources the bsdconfig(8) common.subr file,
    PKG_ABI is set by calling 'pkg -vv' and searching for the ABI
    pkg(8) will use.
  
    When pkg(8) is run for the first time, the bootstrap process
    is run, which prompts for 'y/N' input from stdin if running with
    TERM set.
  
    Since TERM is set and it is the first time pkg(8) is run, which
    happens automatically, bsdinstall(8) hangs waiting for user input
    which is never displayed since a specific line is expected by
    awk(1), and stdin is expected by pkg(8).
  
    Set ASSUME_ALWAYS_YES=1, which will cause pkg(8) to assume the
    '-y' flag is also used for the bootstrap process, allowing
    bsdinstall(8) to proceed to the keymap lookup, otherwise
    bsdinstall(8) appears to hang after selecting 'Install' from the
    menu on first boot from CDROM.

Modified:
  head/usr.sbin/bsdconfig/share/common.subr

Modified: head/usr.sbin/bsdconfig/share/common.subr
==============================================================================
--- head/usr.sbin/bsdconfig/share/common.subr	Mon Nov 11 01:14:58 2013	(r257936)
+++ head/usr.sbin/bsdconfig/share/common.subr	Mon Nov 11 01:42:59 2013	(r257937)
@@ -64,6 +64,7 @@ export UNAME_M="$(uname -m)" # Machine p
 export UNAME_R="$(uname -r)" # Release Level (i.e. X.Y-RELEASE)
 if [ ! "${PKG_ABI+set}" ]; then
 	export PKG_ABI="$(
+		env ASSUME_ALWAYS_YES=1 \
 		pkg -vv | awk '$1=="ABI:"{print $2;exit}' 2> /dev/null
 	)"
 fi

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 02:02:06 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 89BE83C7;
 Mon, 11 Nov 2013 02:02:06 +0000 (UTC)
 (envelope-from dteske@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 776A22107;
 Mon, 11 Nov 2013 02:02:06 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAB226Bs055596;
 Mon, 11 Nov 2013 02:02:06 GMT (envelope-from dteske@svn.freebsd.org)
Received: (from dteske@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAB226hR055565;
 Mon, 11 Nov 2013 02:02:06 GMT (envelope-from dteske@svn.freebsd.org)
Message-Id: <201311110202.rAB226hR055565@svn.freebsd.org>
From: Devin Teske <dteske@FreeBSD.org>
Date: Mon, 11 Nov 2013 02:02:06 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257938 - head/usr.sbin/bsdconfig/share
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 02:02:06 -0000

Author: dteske
Date: Mon Nov 11 02:02:05 2013
New Revision: 257938
URL: http://svnweb.freebsd.org/changeset/base/257938

Log:
  Remove the env(1) but keep the var.

Modified:
  head/usr.sbin/bsdconfig/share/common.subr

Modified: head/usr.sbin/bsdconfig/share/common.subr
==============================================================================
--- head/usr.sbin/bsdconfig/share/common.subr	Mon Nov 11 01:42:59 2013	(r257937)
+++ head/usr.sbin/bsdconfig/share/common.subr	Mon Nov 11 02:02:05 2013	(r257938)
@@ -64,8 +64,8 @@ export UNAME_M="$(uname -m)" # Machine p
 export UNAME_R="$(uname -r)" # Release Level (i.e. X.Y-RELEASE)
 if [ ! "${PKG_ABI+set}" ]; then
 	export PKG_ABI="$(
-		env ASSUME_ALWAYS_YES=1 \
-		pkg -vv | awk '$1=="ABI:"{print $2;exit}' 2> /dev/null
+		ASSUME_ALWAYS_YES=1 pkg -vv |
+			awk '$1=="ABI:"{print $2;exit}' 2> /dev/null
 	)"
 fi
 

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 02:13:48 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 3E997681;
 Mon, 11 Nov 2013 02:13:48 +0000 (UTC)
 (envelope-from dteske@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 2AD282176;
 Mon, 11 Nov 2013 02:13:48 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAB2DmmS024356;
 Mon, 11 Nov 2013 02:13:48 GMT (envelope-from dteske@svn.freebsd.org)
Received: (from dteske@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAB2DmiA024355;
 Mon, 11 Nov 2013 02:13:48 GMT (envelope-from dteske@svn.freebsd.org)
Message-Id: <201311110213.rAB2DmiA024355@svn.freebsd.org>
From: Devin Teske <dteske@FreeBSD.org>
Date: Mon, 11 Nov 2013 02:13:48 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257939 - head/usr.sbin/bsdinstall/scripts
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 02:13:48 -0000

Author: dteske
Date: Mon Nov 11 02:13:47 2013
New Revision: 257939
URL: http://svnweb.freebsd.org/changeset/base/257939

Log:
  Check the partition scheme before blowing away disks, instead of after.
  The effects of this patch would only be noticeable if you were purposefully
  setting a bad value and trying to see what happens; and leaving the disks
  intact if a bad value has been set seems fair.

Modified:
  head/usr.sbin/bsdinstall/scripts/zfsboot

Modified: head/usr.sbin/bsdinstall/scripts/zfsboot
==============================================================================
--- head/usr.sbin/bsdinstall/scripts/zfsboot	Mon Nov 11 02:02:05 2013	(r257938)
+++ head/usr.sbin/bsdinstall/scripts/zfsboot	Mon Nov 11 02:13:47 2013	(r257939)
@@ -645,6 +645,18 @@ zfs_create_diskpart()
 	fi
 	f_dprintf "$funcname: disk=[%s] index=[%s]" "$disk" "$index"
 
+	# Check for unknown partition scheme before proceeding further
+	case "$ZFSBOOT_PARTITION_SCHEME" in
+	""|MBR|GPT) : known good ;;
+	*)
+		f_dprintf "$funcname: %s is an unsupported partition scheme" \
+		          "$ZFSBOOT_PARTITION_SCHEME"
+		msg_error="$msg_error: $funcname" f_show_err \
+			"$msg_unsupported_partition_scheme" \
+			"$ZFSBOOT_PARTITION_SCHEME"
+		return $FAILURE
+	esac
+
 	#
 	# Destroy whatever partition layout is currently on disk.
 	# NOTE: `-F' required to destroy if partitions still exist.
@@ -824,14 +836,6 @@ zfs_create_diskpart()
 		fi
 		;;
 
-	*)
-		f_dprintf "$funcname: %s is an unsupported partition scheme" \
-		          "$ZFSBOOT_PARTITION_SCHEME"
-		msg_error="$msg_error: $funcname" f_show_err \
-			"$msg_unsupported_partition_scheme" \
-			"$ZFSBOOT_PARTITION_SCHEME"
-		return $FAILURE
-
 	esac # $ZFSBOOT_PARTITION_SCHEME
 
 	return $SUCCESS

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 03:12:44 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 881A6364;
 Mon, 11 Nov 2013 03:12:44 +0000 (UTC) (envelope-from gjb@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 75A442470;
 Mon, 11 Nov 2013 03:12:44 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAB3CibI051170;
 Mon, 11 Nov 2013 03:12:44 GMT (envelope-from gjb@svn.freebsd.org)
Received: (from gjb@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAB3Cic5051169;
 Mon, 11 Nov 2013 03:12:44 GMT (envelope-from gjb@svn.freebsd.org)
Message-Id: <201311110312.rAB3Cic5051169@svn.freebsd.org>
From: Glen Barber <gjb@FreeBSD.org>
Date: Mon, 11 Nov 2013 03:12:44 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257940 - head/tools/build/mk
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 03:12:44 -0000

Author: gjb
Date: Mon Nov 11 03:12:43 2013
New Revision: 257940
URL: http://svnweb.freebsd.org/changeset/base/257940

Log:
  Silence bmake(1) errors if TEST_DIRS evaluation is empty.

Modified:
  head/tools/build/mk/OptionalObsoleteFiles.inc

Modified: head/tools/build/mk/OptionalObsoleteFiles.inc
==============================================================================
--- head/tools/build/mk/OptionalObsoleteFiles.inc	Mon Nov 11 02:13:47 2013	(r257939)
+++ head/tools/build/mk/OptionalObsoleteFiles.inc	Mon Nov 11 03:12:43 2013	(r257940)
@@ -4105,9 +4105,9 @@ OLD_FILES+=usr/share/man/man4/atf-test-c
 OLD_FILES+=usr/share/mk/atf.test.mk
 
 # Test suite.
-TESTS_DIRS!=find ${DESTDIR}/usr/tests -type d | sed -e 's,^${DESTDIR}/,,'
+TESTS_DIRS!=find ${DESTDIR}/usr/tests -type d | sed -e 's,^${DESTDIR}/,,'; echo
 OLD_DIRS+=${TESTS_DIRS}
-TESTS_FILES!=find ${DESTDIR}/usr/tests \! -type d | sed -e 's,^${DESTDIR}/,,'
+TESTS_FILES!=find ${DESTDIR}/usr/tests \! -type d | sed -e 's,^${DESTDIR}/,,'; echo
 OLD_FILES+=${TESTS_FILES}
 .endif
 

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 03:17:39 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 3B7234E8;
 Mon, 11 Nov 2013 03:17:39 +0000 (UTC)
 (envelope-from jhibbits@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 29E5F248A;
 Mon, 11 Nov 2013 03:17:39 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAB3HdGg052077;
 Mon, 11 Nov 2013 03:17:39 GMT
 (envelope-from jhibbits@svn.freebsd.org)
Received: (from jhibbits@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAB3HdC6052076;
 Mon, 11 Nov 2013 03:17:39 GMT
 (envelope-from jhibbits@svn.freebsd.org)
Message-Id: <201311110317.rAB3HdC6052076@svn.freebsd.org>
From: Justin Hibbits <jhibbits@FreeBSD.org>
Date: Mon, 11 Nov 2013 03:17:38 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257941 - head/sys/powerpc/aim
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 03:17:39 -0000

Author: jhibbits
Date: Mon Nov 11 03:17:38 2013
New Revision: 257941
URL: http://svnweb.freebsd.org/changeset/base/257941

Log:
  Add the necessary bits for dumps on ppc64.
  
  MFC after:	2 weeks

Modified:
  head/sys/powerpc/aim/mmu_oea64.c

Modified: head/sys/powerpc/aim/mmu_oea64.c
==============================================================================
--- head/sys/powerpc/aim/mmu_oea64.c	Mon Nov 11 03:12:43 2013	(r257940)
+++ head/sys/powerpc/aim/mmu_oea64.c	Mon Nov 11 03:17:38 2013	(r257941)
@@ -192,6 +192,11 @@ struct ofw_map {
 	cell_t	om_mode;
 };
 
+extern unsigned char _etext[];
+extern unsigned char _end[];
+
+extern int dumpsys_minidump;
+
 /*
  * Map of physical memory regions.
  */
@@ -329,6 +334,9 @@ void moea64_kenter_attr(mmu_t, vm_offset
 void moea64_kenter(mmu_t, vm_offset_t, vm_paddr_t);
 boolean_t moea64_dev_direct_mapped(mmu_t, vm_paddr_t, vm_size_t);
 static void moea64_sync_icache(mmu_t, pmap_t, vm_offset_t, vm_size_t);
+vm_offset_t moea64_dumpsys_map(mmu_t mmu, struct pmap_md *md, vm_size_t ofs,
+    vm_size_t *sz);
+struct pmap_md * moea64_scan_md(mmu_t mmu, struct pmap_md *prev);
 
 static mmu_method_t moea64_methods[] = {
 	MMUMETHOD(mmu_change_wiring,	moea64_change_wiring),
@@ -374,6 +382,8 @@ static mmu_method_t moea64_methods[] = {
 	MMUMETHOD(mmu_kenter,		moea64_kenter),
 	MMUMETHOD(mmu_kenter_attr,	moea64_kenter_attr),
 	MMUMETHOD(mmu_dev_direct_mapped,moea64_dev_direct_mapped),
+	MMUMETHOD(mmu_scan_md,		moea64_scan_md),
+	MMUMETHOD(mmu_dumpsys_map,	moea64_dumpsys_map),
 
 	{ 0, 0 }
 };
@@ -2584,3 +2594,98 @@ moea64_sync_icache(mmu_t mmu, pmap_t pm,
 	}
 	PMAP_UNLOCK(pm);
 }
+
+vm_offset_t
+moea64_dumpsys_map(mmu_t mmu, struct pmap_md *md, vm_size_t ofs,
+    vm_size_t *sz)
+{
+	if (md->md_vaddr == ~0UL)
+	    return (md->md_paddr + ofs);
+	else
+	    return (md->md_vaddr + ofs);
+}
+
+struct pmap_md *
+moea64_scan_md(mmu_t mmu, struct pmap_md *prev)
+{
+	static struct pmap_md md;
+	struct pvo_entry *pvo;
+	vm_offset_t va;
+ 
+	if (dumpsys_minidump) {
+		md.md_paddr = ~0UL;	/* Minidumps use virtual addresses. */
+		if (prev == NULL) {
+			/* 1st: kernel .data and .bss. */
+			md.md_index = 1;
+			md.md_vaddr = trunc_page((uintptr_t)_etext);
+			md.md_size = round_page((uintptr_t)_end) - md.md_vaddr;
+			return (&md);
+		}
+		switch (prev->md_index) {
+		case 1:
+			/* 2nd: msgbuf and tables (see pmap_bootstrap()). */
+			md.md_index = 2;
+			md.md_vaddr = (vm_offset_t)msgbufp->msg_ptr;
+			md.md_size = round_page(msgbufp->msg_size);
+			break;
+		case 2:
+			/* 3rd: kernel VM. */
+			va = prev->md_vaddr + prev->md_size;
+			/* Find start of next chunk (from va). */
+			while (va < virtual_end) {
+				/* Don't dump the buffer cache. */
+				if (va >= kmi.buffer_sva &&
+				    va < kmi.buffer_eva) {
+					va = kmi.buffer_eva;
+					continue;
+				}
+				pvo = moea64_pvo_find_va(kernel_pmap,
+				    va & ~ADDR_POFF);
+				if (pvo != NULL &&
+				    (pvo->pvo_pte.pte.pte_hi & PTE_VALID))
+					break;
+				va += PAGE_SIZE;
+			}
+			if (va < virtual_end) {
+				md.md_vaddr = va;
+				va += PAGE_SIZE;
+				/* Find last page in chunk. */
+				while (va < virtual_end) {
+					/* Don't run into the buffer cache. */
+					if (va == kmi.buffer_sva)
+						break;
+					pvo = moea64_pvo_find_va(kernel_pmap,
+					    va & ~ADDR_POFF);
+					if (pvo == NULL ||
+					    !(pvo->pvo_pte.pte.pte_hi & PTE_VALID))
+						break;
+					va += PAGE_SIZE;
+				}
+				md.md_size = va - md.md_vaddr;
+				break;
+			}
+			md.md_index = 3;
+			/* FALLTHROUGH */
+		default:
+			return (NULL);
+		}
+	} else { /* minidumps */
+		if (prev == NULL) {
+			/* first physical chunk. */
+			md.md_paddr = pregions[0].mr_start;
+			md.md_size = pregions[0].mr_size;
+			md.md_vaddr = ~0UL;
+			md.md_index = 1;
+		} else if (md.md_index < pregions_sz) {
+			md.md_paddr = pregions[md.md_index].mr_start;
+			md.md_size = pregions[md.md_index].mr_size;
+			md.md_vaddr = ~0UL;
+			md.md_index++;
+		} else {
+			/* There's no next physical chunk. */
+			return (NULL);
+		}
+	}
+
+	return (&md);
+}

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 03:30:15 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 398D07A0;
 Mon, 11 Nov 2013 03:30:15 +0000 (UTC) (envelope-from gjb@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 28E732500;
 Mon, 11 Nov 2013 03:30:15 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAB3UFEx057170;
 Mon, 11 Nov 2013 03:30:15 GMT (envelope-from gjb@svn.freebsd.org)
Received: (from gjb@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAB3UEQp057169;
 Mon, 11 Nov 2013 03:30:14 GMT (envelope-from gjb@svn.freebsd.org)
Message-Id: <201311110330.rAB3UEQp057169@svn.freebsd.org>
From: Glen Barber <gjb@FreeBSD.org>
Date: Mon, 11 Nov 2013 03:30:14 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257942 - head/release
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 03:30:15 -0000

Author: gjb
Date: Mon Nov 11 03:30:14 2013
New Revision: 257942
URL: http://svnweb.freebsd.org/changeset/base/257942

Log:
  Fix a few style nits.
  
  MFC after:	3 days
  X-MFC-After:	10.0-RELEASE
  Sponsored by:	The FreeBSD Foundation

Modified:
  head/release/release.sh

Modified: head/release/release.sh
==============================================================================
--- head/release/release.sh	Mon Nov 11 03:17:38 2013	(r257941)
+++ head/release/release.sh	Mon Nov 11 03:30:14 2013	(r257942)
@@ -108,10 +108,10 @@ fi
 # instead of their values.
 DOCPORTS=
 if [ "x${NOPORTS}" != "x" ]; then
- DOCPORTS="NOPORTS=yes "
+	DOCPORTS="NOPORTS=yes "
 fi
 if [ "x${NODOC}" != "x" ]; then
- DOCPORTS="${DOCPORTS}NODOC=yes"
+	DOCPORTS="${DOCPORTS}NODOC=yes"
 fi
 
 # The aggregated build-time flags based upon variables defined within
@@ -134,7 +134,7 @@ RELEASE_RMAKEFLAGS="${ARCH_FLAGS} KERNCO
 # Force src checkout if configured
 FORCE_SRC_KEY=
 if [ "x${SRC_FORCE_CHECKOUT}" != "x" ]; then
- FORCE_SRC_KEY="--force"
+	FORCE_SRC_KEY="--force"
 fi
 
 if [ ! ${CHROOTDIR} ]; then

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 05:39:44 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 1DA5E6A5;
 Mon, 11 Nov 2013 05:39:44 +0000 (UTC)
 (envelope-from glebius@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id EFAB62A49;
 Mon, 11 Nov 2013 05:39:43 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAB5dhBi098769;
 Mon, 11 Nov 2013 05:39:43 GMT (envelope-from glebius@svn.freebsd.org)
Received: (from glebius@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAB5dgMb098762;
 Mon, 11 Nov 2013 05:39:42 GMT (envelope-from glebius@svn.freebsd.org)
Message-Id: <201311110539.rAB5dgMb098762@svn.freebsd.org>
From: Gleb Smirnoff <glebius@FreeBSD.org>
Date: Mon, 11 Nov 2013 05:39:42 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257943 - in head/sys: net netinet netinet6 sys
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 05:39:44 -0000

Author: glebius
Date: Mon Nov 11 05:39:42 2013
New Revision: 257943
URL: http://svnweb.freebsd.org/changeset/base/257943

Log:
  Remove never used ioctls that originate from KAME. The proof
  of their zero usage was exp-run from misc/183538.

Modified:
  head/sys/net/if.c
  head/sys/net/if.h
  head/sys/net/if_gif.c
  head/sys/net/if_gre.c
  head/sys/netinet/in.c
  head/sys/netinet6/in6.c
  head/sys/sys/sockio.h

Modified: head/sys/net/if.c
==============================================================================
--- head/sys/net/if.c	Mon Nov 11 03:30:14 2013	(r257942)
+++ head/sys/net/if.c	Mon Nov 11 05:39:42 2013	(r257943)
@@ -2412,7 +2412,6 @@ ifhwioctl(u_long cmd, struct ifnet *ifp,
 #ifdef INET6
 	case SIOCSIFPHYADDR_IN6:
 #endif
-	case SIOCSLIFPHYADDR:
 	case SIOCSIFMEDIA:
 	case SIOCSIFGENERIC:
 		error = priv_check(td, PRIV_NET_HWIOCTL);
@@ -2431,7 +2430,6 @@ ifhwioctl(u_long cmd, struct ifnet *ifp,
 
 	case SIOCGIFPSRCADDR:
 	case SIOCGIFPDSTADDR:
-	case SIOCGLIFPHYADDR:
 	case SIOCGIFMEDIA:
 	case SIOCGIFGENERIC:
 		if (ifp->if_ioctl == NULL)

Modified: head/sys/net/if.h
==============================================================================
--- head/sys/net/if.h	Mon Nov 11 03:30:14 2013	(r257942)
+++ head/sys/net/if.h	Mon Nov 11 05:39:42 2013	(r257943)
@@ -497,18 +497,6 @@ struct ifgroupreq {
 #define ifgr_groups	ifgr_ifgru.ifgru_groups
 };
 
-/*
- * Structure for SIOC[AGD]LIFADDR
- */
-struct if_laddrreq {
-	char	iflr_name[IFNAMSIZ];
-	u_int	flags;
-#define	IFLR_PREFIX	0x8000  /* in: prefix given  out: kernel fills id */
-	u_int	prefixlen;         /* in/out */
-	struct	sockaddr_storage addr;   /* in/out */
-	struct	sockaddr_storage dstaddr; /* out */
-};
-
 #endif /* __BSD_VISIBLE */
 
 #ifdef _KERNEL

Modified: head/sys/net/if_gif.c
==============================================================================
--- head/sys/net/if_gif.c	Mon Nov 11 03:30:14 2013	(r257942)
+++ head/sys/net/if_gif.c	Mon Nov 11 05:39:42 2013	(r257943)
@@ -710,7 +710,6 @@ gif_ioctl(ifp, cmd, data)
 #ifdef INET6
 	case SIOCSIFPHYADDR_IN6:
 #endif /* INET6 */
-	case SIOCSLIFPHYADDR:
 		switch (cmd) {
 #ifdef INET
 		case SIOCSIFPHYADDR:
@@ -728,12 +727,6 @@ gif_ioctl(ifp, cmd, data)
 				&(((struct in6_aliasreq *)data)->ifra_dstaddr);
 			break;
 #endif
-		case SIOCSLIFPHYADDR:
-			src = (struct sockaddr *)
-				&(((struct if_laddrreq *)data)->addr);
-			dst = (struct sockaddr *)
-				&(((struct if_laddrreq *)data)->dstaddr);
-			break;
 		default:
 			return EINVAL;
 		}
@@ -788,9 +781,6 @@ gif_ioctl(ifp, cmd, data)
 				break;
 			return EAFNOSUPPORT;
 #endif /* INET6 */
-		case SIOCSLIFPHYADDR:
-			/* checks done in the above */
-			break;
 		}
 
 		error = gif_set_tunnel(GIF2IFP(sc), src, dst);
@@ -886,31 +876,6 @@ gif_ioctl(ifp, cmd, data)
 #endif
 		break;
 
-	case SIOCGLIFPHYADDR:
-		if (sc->gif_psrc == NULL || sc->gif_pdst == NULL) {
-			error = EADDRNOTAVAIL;
-			goto bad;
-		}
-
-		/* copy src */
-		src = sc->gif_psrc;
-		dst = (struct sockaddr *)
-			&(((struct if_laddrreq *)data)->addr);
-		size = sizeof(((struct if_laddrreq *)data)->addr);
-		if (src->sa_len > size)
-			return EINVAL;
-		bcopy((caddr_t)src, (caddr_t)dst, src->sa_len);
-
-		/* copy dst */
-		src = sc->gif_pdst;
-		dst = (struct sockaddr *)
-			&(((struct if_laddrreq *)data)->dstaddr);
-		size = sizeof(((struct if_laddrreq *)data)->dstaddr);
-		if (src->sa_len > size)
-			return EINVAL;
-		bcopy((caddr_t)src, (caddr_t)dst, src->sa_len);
-		break;
-
 	case SIOCSIFFLAGS:
 		/* if_ioctl() takes care of it */
 		break;

Modified: head/sys/net/if_gre.c
==============================================================================
--- head/sys/net/if_gre.c	Mon Nov 11 03:30:14 2013	(r257942)
+++ head/sys/net/if_gre.c	Mon Nov 11 05:39:42 2013	(r257943)
@@ -519,7 +519,6 @@ static int
 gre_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
 {
 	struct ifreq *ifr = (struct ifreq *)data;
-	struct if_laddrreq *lifr = (struct if_laddrreq *)data;
 	struct in_aliasreq *aifr = (struct in_aliasreq *)data;
 	struct gre_softc *sc = ifp->if_softc;
 	struct sockaddr_in si;
@@ -734,27 +733,6 @@ gre_ioctl(struct ifnet *ifp, u_long cmd,
 		sc->g_src = aifr->ifra_addr.sin_addr;
 		sc->g_dst = aifr->ifra_dstaddr.sin_addr;
 		goto recompute;
-	case SIOCSLIFPHYADDR:
-		/*
-		 * XXXRW: Isn't this priv_check() redundant to the ifnet
-		 * layer check?
-		 */
-		if ((error = priv_check(curthread, PRIV_NET_SETIFPHYS)) != 0)
-			break;
-		if (lifr->addr.ss_family != AF_INET ||
-		    lifr->dstaddr.ss_family != AF_INET) {
-			error = EAFNOSUPPORT;
-			break;
-		}
-		if (lifr->addr.ss_len != sizeof(si) ||
-		    lifr->dstaddr.ss_len != sizeof(si)) {
-			error = EINVAL;
-			break;
-		}
-		sc->g_src = (satosin(&lifr->addr))->sin_addr;
-		sc->g_dst =
-		    (satosin(&lifr->dstaddr))->sin_addr;
-		goto recompute;
 	case SIOCDIFPHYADDR:
 		/*
 		 * XXXRW: Isn't this priv_check() redundant to the ifnet
@@ -765,26 +743,6 @@ gre_ioctl(struct ifnet *ifp, u_long cmd,
 		sc->g_src.s_addr = INADDR_ANY;
 		sc->g_dst.s_addr = INADDR_ANY;
 		goto recompute;
-	case SIOCGLIFPHYADDR:
-		if (sc->g_src.s_addr == INADDR_ANY ||
-		    sc->g_dst.s_addr == INADDR_ANY) {
-			error = EADDRNOTAVAIL;
-			break;
-		}
-		memset(&si, 0, sizeof(si));
-		si.sin_family = AF_INET;
-		si.sin_len = sizeof(struct sockaddr_in);
-		si.sin_addr.s_addr = sc->g_src.s_addr;
-		error = prison_if(curthread->td_ucred, (struct sockaddr *)&si);
-		if (error != 0)
-			break;
-		memcpy(&lifr->addr, &si, sizeof(si));
-		si.sin_addr.s_addr = sc->g_dst.s_addr;
-		error = prison_if(curthread->td_ucred, (struct sockaddr *)&si);
-		if (error != 0)
-			break;
-		memcpy(&lifr->dstaddr, &si, sizeof(si));
-		break;
 	case SIOCGIFPSRCADDR:
 #ifdef INET6
 	case SIOCGIFPSRCADDR_IN6:

Modified: head/sys/netinet/in.c
==============================================================================
--- head/sys/netinet/in.c	Mon Nov 11 03:30:14 2013	(r257942)
+++ head/sys/netinet/in.c	Mon Nov 11 05:39:42 2013	(r257943)
@@ -68,10 +68,6 @@ __FBSDID("$FreeBSD$");
 #include <netinet/udp.h>
 #include <netinet/udp_var.h>
 
-static int in_mask2len(struct in_addr *);
-static void in_len2mask(struct in_addr *, int);
-static int in_lifaddr_ioctl(struct socket *, u_long, caddr_t,
-	struct ifnet *, struct thread *);
 static int in_aifaddr_ioctl(u_long, caddr_t, struct ifnet *, struct thread *);
 static int in_difaddr_ioctl(caddr_t, struct ifnet *, struct thread *);
 
@@ -192,42 +188,6 @@ in_socktrim(struct sockaddr_in *ap)
 	}
 }
 
-static int
-in_mask2len(mask)
-	struct in_addr *mask;
-{
-	int x, y;
-	u_char *p;
-
-	p = (u_char *)mask;
-	for (x = 0; x < sizeof(*mask); x++) {
-		if (p[x] != 0xff)
-			break;
-	}
-	y = 0;
-	if (x < sizeof(*mask)) {
-		for (y = 0; y < 8; y++) {
-			if ((p[x] & (0x80 >> y)) == 0)
-				break;
-		}
-	}
-	return (x * 8 + y);
-}
-
-static void
-in_len2mask(struct in_addr *mask, int len)
-{
-	int i;
-	u_char *p;
-
-	p = (u_char *)mask;
-	bzero(mask, sizeof(*mask));
-	for (i = 0; i < len / 8; i++)
-		p[i] = 0xff;
-	if (len % 8)
-		p[i] = (0xff00 >> (len % 8)) & 0xff;
-}
-
 /*
  * Generic internet control operations (ioctl's).
  */
@@ -265,10 +225,6 @@ in_control(struct socket *so, u_long cmd
 		error = in_aifaddr_ioctl(cmd, data, ifp, td);
 		sx_xunlock(&in_control_sx);
 		return (error);
-	case SIOCALIFADDR:
-	case SIOCDLIFADDR:
-	case SIOCGLIFADDR:
-		return (in_lifaddr_ioctl(so, cmd, data, ifp, td));
 	case SIOCSIFADDR:
 	case SIOCSIFBRDADDR:
 	case SIOCSIFDSTADDR:
@@ -643,194 +599,6 @@ in_difaddr_ioctl(caddr_t data, struct if
 	return (0);
 }
 
-/*
- * SIOC[GAD]LIFADDR.
- *	SIOCGLIFADDR: get first address. (?!?)
- *	SIOCGLIFADDR with IFLR_PREFIX:
- *		get first address that matches the specified prefix.
- *	SIOCALIFADDR: add the specified address.
- *	SIOCALIFADDR with IFLR_PREFIX:
- *		EINVAL since we can't deduce hostid part of the address.
- *	SIOCDLIFADDR: delete the specified address.
- *	SIOCDLIFADDR with IFLR_PREFIX:
- *		delete the first address that matches the specified prefix.
- * return values:
- *	EINVAL on invalid parameters
- *	EADDRNOTAVAIL on prefix match failed/specified address not found
- *	other values may be returned from in_ioctl()
- */
-static int
-in_lifaddr_ioctl(struct socket *so, u_long cmd, caddr_t data,
-    struct ifnet *ifp, struct thread *td)
-{
-	struct if_laddrreq *iflr = (struct if_laddrreq *)data;
-	struct ifaddr *ifa;
-	int error;
-
-	switch (cmd) {
-	case SIOCALIFADDR:
-		if (td != NULL) {
-			error = priv_check(td, PRIV_NET_ADDIFADDR);
-			if (error)
-				return (error);
-		}
-		break;
-	case SIOCDLIFADDR:
-		if (td != NULL) {
-			error = priv_check(td, PRIV_NET_DELIFADDR);
-			if (error)
-				return (error);
-		}
-		break;
-	}
-
-	switch (cmd) {
-	case SIOCGLIFADDR:
-		/* address must be specified on GET with IFLR_PREFIX */
-		if ((iflr->flags & IFLR_PREFIX) == 0)
-			break;
-		/*FALLTHROUGH*/
-	case SIOCALIFADDR:
-	case SIOCDLIFADDR:
-		/* address must be specified on ADD and DELETE */
-		if (iflr->addr.ss_family != AF_INET)
-			return (EINVAL);
-		if (iflr->addr.ss_len != sizeof(struct sockaddr_in))
-			return (EINVAL);
-		/* XXX need improvement */
-		if (iflr->dstaddr.ss_family
-		 && iflr->dstaddr.ss_family != AF_INET)
-			return (EINVAL);
-		if (iflr->dstaddr.ss_family
-		 && iflr->dstaddr.ss_len != sizeof(struct sockaddr_in))
-			return (EINVAL);
-		break;
-	default: /*shouldn't happen*/
-		return (EOPNOTSUPP);
-	}
-	if (sizeof(struct in_addr) * 8 < iflr->prefixlen)
-		return (EINVAL);
-
-	switch (cmd) {
-	case SIOCALIFADDR:
-	    {
-		struct in_aliasreq ifra;
-
-		if (iflr->flags & IFLR_PREFIX)
-			return (EINVAL);
-
-		/* copy args to in_aliasreq, perform ioctl(SIOCAIFADDR). */
-		bzero(&ifra, sizeof(ifra));
-		bcopy(iflr->iflr_name, ifra.ifra_name,
-			sizeof(ifra.ifra_name));
-
-		bcopy(&iflr->addr, &ifra.ifra_addr, iflr->addr.ss_len);
-
-		if (iflr->dstaddr.ss_family) {	/*XXX*/
-			bcopy(&iflr->dstaddr, &ifra.ifra_dstaddr,
-				iflr->dstaddr.ss_len);
-		}
-
-		ifra.ifra_mask.sin_family = AF_INET;
-		ifra.ifra_mask.sin_len = sizeof(struct sockaddr_in);
-		in_len2mask(&ifra.ifra_mask.sin_addr, iflr->prefixlen);
-
-		return (in_control(so, SIOCAIFADDR, (caddr_t)&ifra, ifp, td));
-	    }
-	case SIOCGLIFADDR:
-	case SIOCDLIFADDR:
-	    {
-		struct in_ifaddr *ia;
-		struct in_addr mask, candidate, match;
-		struct sockaddr_in *sin;
-
-		bzero(&mask, sizeof(mask));
-		bzero(&match, sizeof(match));
-		if (iflr->flags & IFLR_PREFIX) {
-			/* lookup a prefix rather than address. */
-			in_len2mask(&mask, iflr->prefixlen);
-
-			sin = (struct sockaddr_in *)&iflr->addr;
-			match.s_addr = sin->sin_addr.s_addr;
-			match.s_addr &= mask.s_addr;
-
-			/* if you set extra bits, that's wrong */
-			if (match.s_addr != sin->sin_addr.s_addr)
-				return (EINVAL);
-
-		} else {
-			/* on getting an address, take the 1st match */
-			/* on deleting an address, do exact match */
-			if (cmd != SIOCGLIFADDR) {
-				in_len2mask(&mask, 32);
-				sin = (struct sockaddr_in *)&iflr->addr;
-				match.s_addr = sin->sin_addr.s_addr;
-			}
-		}
-
-		IF_ADDR_RLOCK(ifp);
-		TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link)	{
-			if (ifa->ifa_addr->sa_family != AF_INET)
-				continue;
-			if (match.s_addr == 0)
-				break;
-			sin = (struct sockaddr_in *)&ifa->ifa_addr;
-			candidate.s_addr = sin->sin_addr.s_addr;
-			candidate.s_addr &= mask.s_addr;
-			if (candidate.s_addr == match.s_addr)
-				break;
-		}
-		if (ifa != NULL)
-			ifa_ref(ifa);
-		IF_ADDR_RUNLOCK(ifp);
-		if (ifa == NULL)
-			return (EADDRNOTAVAIL);
-		ia = (struct in_ifaddr *)ifa;
-
-		if (cmd == SIOCGLIFADDR) {
-			/* fill in the if_laddrreq structure */
-			bcopy(&ia->ia_addr, &iflr->addr, ia->ia_addr.sin_len);
-
-			if ((ifp->if_flags & IFF_POINTOPOINT) != 0) {
-				bcopy(&ia->ia_dstaddr, &iflr->dstaddr,
-					ia->ia_dstaddr.sin_len);
-			} else
-				bzero(&iflr->dstaddr, sizeof(iflr->dstaddr));
-
-			iflr->prefixlen =
-				in_mask2len(&ia->ia_sockmask.sin_addr);
-
-			iflr->flags = 0;	/*XXX*/
-			ifa_free(ifa);
-
-			return (0);
-		} else {
-			struct in_aliasreq ifra;
-
-			/* fill in_aliasreq and do ioctl(SIOCDIFADDR) */
-			bzero(&ifra, sizeof(ifra));
-			bcopy(iflr->iflr_name, ifra.ifra_name,
-				sizeof(ifra.ifra_name));
-
-			bcopy(&ia->ia_addr, &ifra.ifra_addr,
-				ia->ia_addr.sin_len);
-			if ((ifp->if_flags & IFF_POINTOPOINT) != 0) {
-				bcopy(&ia->ia_dstaddr, &ifra.ifra_dstaddr,
-					ia->ia_dstaddr.sin_len);
-			}
-			bcopy(&ia->ia_sockmask, &ifra.ifra_dstaddr,
-				ia->ia_sockmask.sin_len);
-			ifa_free(ifa);
-
-			return (in_control(so, SIOCDIFADDR, (caddr_t)&ifra,
-			    ifp, td));
-		}
-	    }
-	}
-
-	return (EOPNOTSUPP);	/*just for safety*/
-}
-
 #define rtinitflags(x) \
 	((((x)->ia_ifp->if_flags & (IFF_LOOPBACK | IFF_POINTOPOINT)) != 0) \
 	    ? RTF_HOST : 0)

Modified: head/sys/netinet6/in6.c
==============================================================================
--- head/sys/netinet6/in6.c	Mon Nov 11 03:30:14 2013	(r257942)
+++ head/sys/netinet6/in6.c	Mon Nov 11 05:39:42 2013	(r257943)
@@ -133,8 +133,6 @@ const struct in6_addr in6mask128 = IN6MA
 const struct sockaddr_in6 sa6_any =
 	{ sizeof(sa6_any), AF_INET6, 0, 0, IN6ADDR_ANY_INIT, 0 };
 
-static int in6_lifaddr_ioctl(struct socket *, u_long, caddr_t,
-	struct ifnet *, struct thread *);
 static int in6_ifinit(struct ifnet *, struct in6_ifaddr *,
 	struct sockaddr_in6 *, int);
 static void in6_unlink_ifa(struct in6_ifaddr *, struct ifnet *);
@@ -376,26 +374,6 @@ in6_control(struct socket *so, u_long cm
 		    ifr->ifr_ifru.ifru_scope_id));
 	}
 
-	switch (cmd) {
-	case SIOCALIFADDR:
-		if (td != NULL) {
-			error = priv_check(td, PRIV_NET_ADDIFADDR);
-			if (error)
-				return (error);
-		}
-		return in6_lifaddr_ioctl(so, cmd, data, ifp, td);
-
-	case SIOCDLIFADDR:
-		if (td != NULL) {
-			error = priv_check(td, PRIV_NET_DELIFADDR);
-			if (error)
-				return (error);
-		}
-		/* FALLTHROUGH */
-	case SIOCGLIFADDR:
-		return in6_lifaddr_ioctl(so, cmd, data, ifp, td);
-	}
-
 	/*
 	 * Find address for this interface, if it exists.
 	 *
@@ -1601,277 +1579,6 @@ in6_purgeif(struct ifnet *ifp)
 }
 
 /*
- * SIOC[GAD]LIFADDR.
- *	SIOCGLIFADDR: get first address. (?)
- *	SIOCGLIFADDR with IFLR_PREFIX:
- *		get first address that matches the specified prefix.
- *	SIOCALIFADDR: add the specified address.
- *	SIOCALIFADDR with IFLR_PREFIX:
- *		add the specified prefix, filling hostid part from
- *		the first link-local address.  prefixlen must be <= 64.
- *	SIOCDLIFADDR: delete the specified address.
- *	SIOCDLIFADDR with IFLR_PREFIX:
- *		delete the first address that matches the specified prefix.
- * return values:
- *	EINVAL on invalid parameters
- *	EADDRNOTAVAIL on prefix match failed/specified address not found
- *	other values may be returned from in6_ioctl()
- *
- * NOTE: SIOCALIFADDR(with IFLR_PREFIX set) allows prefixlen less than 64.
- * this is to accomodate address naming scheme other than RFC2374,
- * in the future.
- * RFC2373 defines interface id to be 64bit, but it allows non-RFC2374
- * address encoding scheme. (see figure on page 8)
- */
-static int
-in6_lifaddr_ioctl(struct socket *so, u_long cmd, caddr_t data,
-    struct ifnet *ifp, struct thread *td)
-{
-	struct if_laddrreq *iflr = (struct if_laddrreq *)data;
-	struct ifaddr *ifa;
-	struct sockaddr *sa;
-
-	/* sanity checks */
-	if (!data || !ifp) {
-		panic("invalid argument to in6_lifaddr_ioctl");
-		/* NOTREACHED */
-	}
-
-	switch (cmd) {
-	case SIOCGLIFADDR:
-		/* address must be specified on GET with IFLR_PREFIX */
-		if ((iflr->flags & IFLR_PREFIX) == 0)
-			break;
-		/* FALLTHROUGH */
-	case SIOCALIFADDR:
-	case SIOCDLIFADDR:
-		/* address must be specified on ADD and DELETE */
-		sa = (struct sockaddr *)&iflr->addr;
-		if (sa->sa_family != AF_INET6)
-			return EINVAL;
-		if (sa->sa_len != sizeof(struct sockaddr_in6))
-			return EINVAL;
-		/* XXX need improvement */
-		sa = (struct sockaddr *)&iflr->dstaddr;
-		if (sa->sa_family && sa->sa_family != AF_INET6)
-			return EINVAL;
-		if (sa->sa_len && sa->sa_len != sizeof(struct sockaddr_in6))
-			return EINVAL;
-		break;
-	default: /* shouldn't happen */
-#if 0
-		panic("invalid cmd to in6_lifaddr_ioctl");
-		/* NOTREACHED */
-#else
-		return EOPNOTSUPP;
-#endif
-	}
-	if (sizeof(struct in6_addr) * 8 < iflr->prefixlen)
-		return EINVAL;
-
-	switch (cmd) {
-	case SIOCALIFADDR:
-	    {
-		struct in6_aliasreq ifra;
-		struct in6_addr *hostid = NULL;
-		int prefixlen;
-
-		ifa = NULL;
-		if ((iflr->flags & IFLR_PREFIX) != 0) {
-			struct sockaddr_in6 *sin6;
-
-			/*
-			 * hostid is to fill in the hostid part of the
-			 * address.  hostid points to the first link-local
-			 * address attached to the interface.
-			 */
-			ifa = (struct ifaddr *)in6ifa_ifpforlinklocal(ifp, 0);
-			if (!ifa)
-				return EADDRNOTAVAIL;
-			hostid = IFA_IN6(ifa);
-
-			/* prefixlen must be <= 64. */
-			if (64 < iflr->prefixlen) {
-				if (ifa != NULL)
-					ifa_free(ifa);
-				return EINVAL;
-			}
-			prefixlen = iflr->prefixlen;
-
-			/* hostid part must be zero. */
-			sin6 = (struct sockaddr_in6 *)&iflr->addr;
-			if (sin6->sin6_addr.s6_addr32[2] != 0 ||
-			    sin6->sin6_addr.s6_addr32[3] != 0) {
-				if (ifa != NULL)
-					ifa_free(ifa);
-				return EINVAL;
-			}
-		} else
-			prefixlen = iflr->prefixlen;
-
-		/* copy args to in6_aliasreq, perform ioctl(SIOCAIFADDR_IN6). */
-		bzero(&ifra, sizeof(ifra));
-		bcopy(iflr->iflr_name, ifra.ifra_name, sizeof(ifra.ifra_name));
-
-		bcopy(&iflr->addr, &ifra.ifra_addr,
-		    ((struct sockaddr *)&iflr->addr)->sa_len);
-		if (hostid) {
-			/* fill in hostid part */
-			ifra.ifra_addr.sin6_addr.s6_addr32[2] =
-			    hostid->s6_addr32[2];
-			ifra.ifra_addr.sin6_addr.s6_addr32[3] =
-			    hostid->s6_addr32[3];
-		}
-
-		if (((struct sockaddr *)&iflr->dstaddr)->sa_family) { /* XXX */
-			bcopy(&iflr->dstaddr, &ifra.ifra_dstaddr,
-			    ((struct sockaddr *)&iflr->dstaddr)->sa_len);
-			if (hostid) {
-				ifra.ifra_dstaddr.sin6_addr.s6_addr32[2] =
-				    hostid->s6_addr32[2];
-				ifra.ifra_dstaddr.sin6_addr.s6_addr32[3] =
-				    hostid->s6_addr32[3];
-			}
-		}
-		if (ifa != NULL)
-			ifa_free(ifa);
-
-		ifra.ifra_prefixmask.sin6_len = sizeof(struct sockaddr_in6);
-		in6_prefixlen2mask(&ifra.ifra_prefixmask.sin6_addr, prefixlen);
-
-		ifra.ifra_flags = iflr->flags & ~IFLR_PREFIX;
-		return in6_control(so, SIOCAIFADDR_IN6, (caddr_t)&ifra, ifp, td);
-	    }
-	case SIOCGLIFADDR:
-	case SIOCDLIFADDR:
-	    {
-		struct in6_ifaddr *ia;
-		struct in6_addr mask, candidate, match;
-		struct sockaddr_in6 *sin6;
-		int cmp;
-
-		bzero(&mask, sizeof(mask));
-		if (iflr->flags & IFLR_PREFIX) {
-			/* lookup a prefix rather than address. */
-			in6_prefixlen2mask(&mask, iflr->prefixlen);
-
-			sin6 = (struct sockaddr_in6 *)&iflr->addr;
-			bcopy(&sin6->sin6_addr, &match, sizeof(match));
-			match.s6_addr32[0] &= mask.s6_addr32[0];
-			match.s6_addr32[1] &= mask.s6_addr32[1];
-			match.s6_addr32[2] &= mask.s6_addr32[2];
-			match.s6_addr32[3] &= mask.s6_addr32[3];
-
-			/* if you set extra bits, that's wrong */
-			if (bcmp(&match, &sin6->sin6_addr, sizeof(match)))
-				return EINVAL;
-
-			cmp = 1;
-		} else {
-			if (cmd == SIOCGLIFADDR) {
-				/* on getting an address, take the 1st match */
-				cmp = 0;	/* XXX */
-			} else {
-				/* on deleting an address, do exact match */
-				in6_prefixlen2mask(&mask, 128);
-				sin6 = (struct sockaddr_in6 *)&iflr->addr;
-				bcopy(&sin6->sin6_addr, &match, sizeof(match));
-
-				cmp = 1;
-			}
-		}
-
-		IF_ADDR_RLOCK(ifp);
-		TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) {
-			if (ifa->ifa_addr->sa_family != AF_INET6)
-				continue;
-			if (!cmp)
-				break;
-
-			/*
-			 * XXX: this is adhoc, but is necessary to allow
-			 * a user to specify fe80::/64 (not /10) for a
-			 * link-local address.
-			 */
-			bcopy(IFA_IN6(ifa), &candidate, sizeof(candidate));
-			in6_clearscope(&candidate);
-			candidate.s6_addr32[0] &= mask.s6_addr32[0];
-			candidate.s6_addr32[1] &= mask.s6_addr32[1];
-			candidate.s6_addr32[2] &= mask.s6_addr32[2];
-			candidate.s6_addr32[3] &= mask.s6_addr32[3];
-			if (IN6_ARE_ADDR_EQUAL(&candidate, &match))
-				break;
-		}
-		if (ifa != NULL)
-			ifa_ref(ifa);
-		IF_ADDR_RUNLOCK(ifp);
-		if (!ifa)
-			return EADDRNOTAVAIL;
-		ia = ifa2ia6(ifa);
-
-		if (cmd == SIOCGLIFADDR) {
-			int error;
-
-			/* fill in the if_laddrreq structure */
-			bcopy(&ia->ia_addr, &iflr->addr, ia->ia_addr.sin6_len);
-			error = sa6_recoverscope(
-			    (struct sockaddr_in6 *)&iflr->addr);
-			if (error != 0) {
-				ifa_free(ifa);
-				return (error);
-			}
-
-			if ((ifp->if_flags & IFF_POINTOPOINT) != 0) {
-				bcopy(&ia->ia_dstaddr, &iflr->dstaddr,
-				    ia->ia_dstaddr.sin6_len);
-				error = sa6_recoverscope(
-				    (struct sockaddr_in6 *)&iflr->dstaddr);
-				if (error != 0) {
-					ifa_free(ifa);
-					return (error);
-				}
-			} else
-				bzero(&iflr->dstaddr, sizeof(iflr->dstaddr));
-
-			iflr->prefixlen =
-			    in6_mask2len(&ia->ia_prefixmask.sin6_addr, NULL);
-
-			iflr->flags = ia->ia6_flags;	/* XXX */
-			ifa_free(ifa);
-
-			return 0;
-		} else {
-			struct in6_aliasreq ifra;
-
-			/* fill in6_aliasreq and do ioctl(SIOCDIFADDR_IN6) */
-			bzero(&ifra, sizeof(ifra));
-			bcopy(iflr->iflr_name, ifra.ifra_name,
-			    sizeof(ifra.ifra_name));
-
-			bcopy(&ia->ia_addr, &ifra.ifra_addr,
-			    ia->ia_addr.sin6_len);
-			if ((ifp->if_flags & IFF_POINTOPOINT) != 0) {
-				bcopy(&ia->ia_dstaddr, &ifra.ifra_dstaddr,
-				    ia->ia_dstaddr.sin6_len);
-			} else {
-				bzero(&ifra.ifra_dstaddr,
-				    sizeof(ifra.ifra_dstaddr));
-			}
-			bcopy(&ia->ia_prefixmask, &ifra.ifra_dstaddr,
-			    ia->ia_prefixmask.sin6_len);
-
-			ifra.ifra_flags = ia->ia6_flags;
-			ifa_free(ifa);
-			return in6_control(so, SIOCDIFADDR_IN6, (caddr_t)&ifra,
-			    ifp, td);
-		}
-	    }
-	}
-
-	return EOPNOTSUPP;	/* just for safety */
-}
-
-/*
  * Initialize an interface's IPv6 address and routing table entry.
  */
 static int

Modified: head/sys/sys/sockio.h
==============================================================================
--- head/sys/sys/sockio.h	Mon Nov 11 03:30:14 2013	(r257942)
+++ head/sys/sys/sockio.h	Mon Nov 11 05:39:42 2013	(r257943)
@@ -69,9 +69,9 @@
 #define	SIOCSIFMETRIC	 _IOW('i', 24, struct ifreq)	/* set IF metric */
 #define	SIOCDIFADDR	 _IOW('i', 25, struct ifreq)	/* delete IF addr */
 #define	OSIOCAIFADDR	 _IOW('i', 26, struct oifaliasreq) /* FreeBSD 9.x */
-#define	SIOCALIFADDR	 _IOW('i', 27, struct if_laddrreq) /* add IF addr */
-#define	SIOCGLIFADDR	_IOWR('i', 28, struct if_laddrreq) /* get IF addr */
-#define	SIOCDLIFADDR	 _IOW('i', 29, struct if_laddrreq) /* delete IF addr */
+/*	SIOCALIFADDR	 _IOW('i', 27, struct if_laddrreq) KAME */
+/*	SIOCGLIFADDR	_IOWR('i', 28, struct if_laddrreq) KAME */
+/*	SIOCDLIFADDR	 _IOW('i', 29, struct if_laddrreq) KAME */
 #define	SIOCSIFCAP	 _IOW('i', 30, struct ifreq)	/* set IF features */
 #define	SIOCGIFCAP	_IOWR('i', 31, struct ifreq)	/* get IF features */
 #define	SIOCGIFINDEX	_IOWR('i', 32, struct ifreq)	/* get IF index */
@@ -101,8 +101,8 @@
 #define	SIOCGIFPSRCADDR	_IOWR('i', 71, struct ifreq)	/* get gif psrc addr */
 #define	SIOCGIFPDSTADDR	_IOWR('i', 72, struct ifreq)	/* get gif pdst addr */
 #define	SIOCDIFPHYADDR	 _IOW('i', 73, struct ifreq)	/* delete gif addrs */
-#define	SIOCSLIFPHYADDR	 _IOW('i', 74, struct if_laddrreq) /* set gif addrs */
-#define	SIOCGLIFPHYADDR	_IOWR('i', 75, struct if_laddrreq) /* get gif addrs */
+/*	SIOCSLIFPHYADDR	 _IOW('i', 74, struct if_laddrreq) KAME */
+/*	SIOCGLIFPHYADDR	_IOWR('i', 75, struct if_laddrreq) KAME */
 
 #define	SIOCGPRIVATE_0	_IOWR('i', 80, struct ifreq)	/* device private 0 */
 #define	SIOCGPRIVATE_1	_IOWR('i', 81, struct ifreq)	/* device private 1 */

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 07:44:10 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 81DDB887;
 Mon, 11 Nov 2013 07:44:10 +0000 (UTC)
 (envelope-from glebius@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 6E40E20D7;
 Mon, 11 Nov 2013 07:44:10 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAB7iADu041491;
 Mon, 11 Nov 2013 07:44:10 GMT (envelope-from glebius@svn.freebsd.org)
Received: (from glebius@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAB7iA6g041490;
 Mon, 11 Nov 2013 07:44:10 GMT (envelope-from glebius@svn.freebsd.org)
Message-Id: <201311110744.rAB7iA6g041490@svn.freebsd.org>
From: Gleb Smirnoff <glebius@FreeBSD.org>
Date: Mon, 11 Nov 2013 07:44:10 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257945 - head/usr.sbin/pkg
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 07:44:10 -0000

Author: glebius
Date: Mon Nov 11 07:44:09 2013
New Revision: 257945
URL: http://svnweb.freebsd.org/changeset/base/257945

Log:
  Do not use just freed memory.
  
  Sponsored by:	Nginx, Inc.

Modified:
  head/usr.sbin/pkg/pkg.c

Modified: head/usr.sbin/pkg/pkg.c
==============================================================================
--- head/usr.sbin/pkg/pkg.c	Mon Nov 11 06:22:29 2013	(r257944)
+++ head/usr.sbin/pkg/pkg.c	Mon Nov 11 07:44:09 2013	(r257945)
@@ -323,9 +323,9 @@ parse_fingerprint(yaml_document_t *doc, 
 static void
 free_fingerprint_list(struct fingerprint_list* list)
 {
-	struct fingerprint* fingerprint;
+	struct fingerprint *fingerprint, *tmp;
 
-	STAILQ_FOREACH(fingerprint, list, next) {
+	STAILQ_FOREACH_SAFE(fingerprint, list, next, tmp) {
 		if (fingerprint->name)
 			free(fingerprint->name);
 		free(fingerprint);

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 08:27:21 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id C9A89F4E;
 Mon, 11 Nov 2013 08:27:21 +0000 (UTC) (envelope-from mav@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id A6388232F;
 Mon, 11 Nov 2013 08:27:21 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAB8RLLq055390;
 Mon, 11 Nov 2013 08:27:21 GMT (envelope-from mav@svn.freebsd.org)
Received: (from mav@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAB8RLNT055387;
 Mon, 11 Nov 2013 08:27:21 GMT (envelope-from mav@svn.freebsd.org)
Message-Id: <201311110827.rAB8RLNT055387@svn.freebsd.org>
From: Alexander Motin <mav@FreeBSD.org>
Date: Mon, 11 Nov 2013 08:27:21 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257946 - head/sys/cam/ctl
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 08:27:22 -0000

Author: mav
Date: Mon Nov 11 08:27:20 2013
New Revision: 257946
URL: http://svnweb.freebsd.org/changeset/base/257946

Log:
  Introduce seperate mutex lock to protect protect CTL I/O pools, slightly
  reducing global CTL lock scope and congestion.
  
  While there, simplify CTL I/O pools KPI, hiding implementation details.

Modified:
  head/sys/cam/ctl/ctl.c
  head/sys/cam/ctl/ctl_frontend.c
  head/sys/cam/ctl/ctl_private.h

Modified: head/sys/cam/ctl/ctl.c
==============================================================================
--- head/sys/cam/ctl/ctl.c	Mon Nov 11 07:44:09 2013	(r257945)
+++ head/sys/cam/ctl/ctl.c	Mon Nov 11 08:27:20 2013	(r257946)
@@ -360,7 +360,6 @@ static union ctl_io *ctl_malloc_io(ctl_i
 				   int can_wait);
 static void ctl_kfree_io(union ctl_io *io);
 #endif /* unused */
-static void ctl_free_io_internal(union ctl_io *io, int have_lock);
 static int ctl_alloc_lun(struct ctl_softc *ctl_softc, struct ctl_lun *lun,
 			 struct ctl_be_lun *be_lun, struct ctl_id target_id);
 static int ctl_free_lun(struct ctl_lun *lun);
@@ -998,6 +997,7 @@ ctl_init(void)
 		       "Report no lun possible for invalid LUNs");
 
 	mtx_init(&softc->ctl_lock, "CTL mutex", NULL, MTX_DEF);
+	mtx_init(&softc->pool_lock, "CTL pool mutex", NULL, MTX_DEF);
 	softc->open_count = 0;
 
 	/*
@@ -1057,7 +1057,7 @@ ctl_init(void)
 			    CTL_POOL_ENTRIES_EMERGENCY, &emergency_pool) != 0) {
 		printf("ctl: can't allocate %d entry emergency pool, "
 		       "exiting\n", CTL_POOL_ENTRIES_EMERGENCY);
-		ctl_pool_free(softc, internal_pool);
+		ctl_pool_free(internal_pool);
 		return (ENOMEM);
 	}
 
@@ -1066,8 +1066,8 @@ ctl_init(void)
 	{
 		printf("ctl: can't allocate %d entry other SC pool, "
 		       "exiting\n", CTL_POOL_ENTRIES_OTHER_SC);
-		ctl_pool_free(softc, internal_pool);
-		ctl_pool_free(softc, emergency_pool);
+		ctl_pool_free(internal_pool);
+		ctl_pool_free(emergency_pool);
 		return (ENOMEM);
 	}
 
@@ -1075,12 +1075,6 @@ ctl_init(void)
 	softc->emergency_pool = emergency_pool;
 	softc->othersc_pool = other_pool;
 
-	mtx_lock(&softc->ctl_lock);
-	ctl_pool_acquire(internal_pool);
-	ctl_pool_acquire(emergency_pool);
-	ctl_pool_acquire(other_pool);
-	mtx_unlock(&softc->ctl_lock);
-
 	/*
 	 * We used to allocate a processor LUN here.  The new scheme is to
 	 * just let the user allocate LUNs as he sees fit.
@@ -1097,10 +1091,10 @@ ctl_init(void)
 		printf("error creating CTL work thread!\n");
 		mtx_lock(&softc->ctl_lock);
 		ctl_free_lun(lun);
-		ctl_pool_free(softc, internal_pool);
-		ctl_pool_free(softc, emergency_pool);
-		ctl_pool_free(softc, other_pool);
 		mtx_unlock(&softc->ctl_lock);
+		ctl_pool_free(internal_pool);
+		ctl_pool_free(emergency_pool);
+		ctl_pool_free(other_pool);
 		return (error);
 	}
 	if (bootverbose)
@@ -1154,7 +1148,7 @@ ctl_shutdown(void)
 {
 	struct ctl_softc *softc;
 	struct ctl_lun *lun, *next_lun;
-	struct ctl_io_pool *pool, *next_pool;
+	struct ctl_io_pool *pool;
 
 	softc = (struct ctl_softc *)control_softc;
 
@@ -1171,6 +1165,8 @@ ctl_shutdown(void)
 		ctl_free_lun(lun);
 	}
 
+	mtx_unlock(&softc->ctl_lock);
+
 	/*
 	 * This will rip the rug out from under any FETDs or anyone else
 	 * that has a pool allocated.  Since we increment our module
@@ -1179,18 +1175,14 @@ ctl_shutdown(void)
 	 * able to unload the CTL module until client modules have
 	 * successfully unloaded.
 	 */
-	for (pool = STAILQ_FIRST(&softc->io_pools); pool != NULL;
-	     pool = next_pool) {
-		next_pool = STAILQ_NEXT(pool, links);
-		ctl_pool_free(softc, pool);
-	}
-
-	mtx_unlock(&softc->ctl_lock);
+	while ((pool = STAILQ_FIRST(&softc->io_pools)) != NULL)
+		ctl_pool_free(pool);
 
 #if 0
 	ctl_shutdown_thread(softc->work_thread);
 #endif
 
+	mtx_destroy(&softc->pool_lock);
 	mtx_destroy(&softc->ctl_lock);
 
 	destroy_dev(softc->dev);
@@ -3367,11 +3359,12 @@ ctl_pool_create(struct ctl_softc *ctl_so
 	pool->type = pool_type;
 	pool->ctl_softc = ctl_softc;
 
-	mtx_lock(&ctl_softc->ctl_lock);
+	mtx_lock(&ctl_softc->pool_lock);
 	pool->id = ctl_softc->cur_pool_id++;
-	mtx_unlock(&ctl_softc->ctl_lock);
+	mtx_unlock(&ctl_softc->pool_lock);
 
 	pool->flags = CTL_POOL_FLAG_NONE;
+	pool->refcount = 1;		/* Reference for validity. */
 	STAILQ_INIT(&pool->free_queue);
 
 	/*
@@ -3407,7 +3400,7 @@ ctl_pool_create(struct ctl_softc *ctl_so
 		free(pool, M_CTL);
 		goto bailout;
 	}
-	mtx_lock(&ctl_softc->ctl_lock);
+	mtx_lock(&ctl_softc->pool_lock);
 	ctl_softc->num_pools++;
 	STAILQ_INSERT_TAIL(&ctl_softc->io_pools, pool, links);
 	/*
@@ -3426,7 +3419,7 @@ ctl_pool_create(struct ctl_softc *ctl_so
 		MOD_INC_USE_COUNT;
 #endif
 
-	mtx_unlock(&ctl_softc->ctl_lock);
+	mtx_unlock(&ctl_softc->pool_lock);
 
 	*npool = pool;
 
@@ -3435,14 +3428,11 @@ bailout:
 	return (retval);
 }
 
-int
+static int
 ctl_pool_acquire(struct ctl_io_pool *pool)
 {
 
-	mtx_assert(&control_softc->ctl_lock, MA_OWNED);
-
-	if (pool == NULL)
-		return (-EINVAL);
+	mtx_assert(&pool->ctl_softc->pool_lock, MA_OWNED);
 
 	if (pool->flags & CTL_POOL_FLAG_INVALID)
 		return (-EINVAL);
@@ -3452,51 +3442,21 @@ ctl_pool_acquire(struct ctl_io_pool *poo
 	return (0);
 }
 
-int
-ctl_pool_invalidate(struct ctl_io_pool *pool)
-{
-
-	mtx_assert(&control_softc->ctl_lock, MA_OWNED);
-
-	if (pool == NULL)
-		return (-EINVAL);
-
-	pool->flags |= CTL_POOL_FLAG_INVALID;
-
-	return (0);
-}
-
-int
+static void
 ctl_pool_release(struct ctl_io_pool *pool)
 {
+	struct ctl_softc *ctl_softc = pool->ctl_softc;
+	union ctl_io *io;
 
-	mtx_assert(&control_softc->ctl_lock, MA_OWNED);
-
-	if (pool == NULL)
-		return (-EINVAL);
-
-	if ((--pool->refcount == 0)
-	 && (pool->flags & CTL_POOL_FLAG_INVALID)) {
-		ctl_pool_free(pool->ctl_softc, pool);
-	}
-
-	return (0);
-}
-
-void
-ctl_pool_free(struct ctl_softc *ctl_softc, struct ctl_io_pool *pool)
-{
-	union ctl_io *cur_io, *next_io;
+	mtx_assert(&ctl_softc->pool_lock, MA_OWNED);
 
-	mtx_assert(&ctl_softc->ctl_lock, MA_OWNED);
+	if (--pool->refcount != 0)
+		return;
 
-	for (cur_io = (union ctl_io *)STAILQ_FIRST(&pool->free_queue);
-	     cur_io != NULL; cur_io = next_io) {
-		next_io = (union ctl_io *)STAILQ_NEXT(&cur_io->io_hdr,
-						      links);
-		STAILQ_REMOVE(&pool->free_queue, &cur_io->io_hdr, ctl_io_hdr,
+	while ((io = (union ctl_io *)STAILQ_FIRST(&pool->free_queue)) != NULL) {
+		STAILQ_REMOVE(&pool->free_queue, &io->io_hdr, ctl_io_hdr,
 			      links);
-		free(cur_io, M_CTL);
+		free(io, M_CTL);
 	}
 
 	STAILQ_REMOVE(&ctl_softc->io_pools, pool, ctl_io_pool, links);
@@ -3515,6 +3475,21 @@ ctl_pool_free(struct ctl_softc *ctl_soft
 	free(pool, M_CTL);
 }
 
+void
+ctl_pool_free(struct ctl_io_pool *pool)
+{
+	struct ctl_softc *ctl_softc;
+
+	if (pool == NULL)
+		return;
+
+	ctl_softc = pool->ctl_softc;
+	mtx_lock(&ctl_softc->pool_lock);
+	pool->flags |= CTL_POOL_FLAG_INVALID;
+	ctl_pool_release(pool);
+	mtx_unlock(&ctl_softc->pool_lock);
+}
+
 /*
  * This routine does not block (except for spinlocks of course).
  * It tries to allocate a ctl_io union from the caller's pool as quickly as
@@ -3539,7 +3514,7 @@ ctl_alloc_io(void *pool_ref)
 
 	ctl_softc = pool->ctl_softc;
 
-	mtx_lock(&ctl_softc->ctl_lock);
+	mtx_lock(&ctl_softc->pool_lock);
 	/*
 	 * First, try to get the io structure from the user's pool.
 	 */
@@ -3549,7 +3524,7 @@ ctl_alloc_io(void *pool_ref)
 			STAILQ_REMOVE_HEAD(&pool->free_queue, links);
 			pool->total_allocated++;
 			pool->free_ctl_io--;
-			mtx_unlock(&ctl_softc->ctl_lock);
+			mtx_unlock(&ctl_softc->pool_lock);
 			return (io);
 		} else
 			ctl_pool_release(pool);
@@ -3572,14 +3547,14 @@ ctl_alloc_io(void *pool_ref)
 			STAILQ_REMOVE_HEAD(&npool->free_queue, links);
 			npool->total_allocated++;
 			npool->free_ctl_io--;
-			mtx_unlock(&ctl_softc->ctl_lock);
+			mtx_unlock(&ctl_softc->pool_lock);
 			return (io);
 		} else
 			ctl_pool_release(npool);
 	}
 
 	/* Drop the spinlock before we malloc */
-	mtx_unlock(&ctl_softc->ctl_lock);
+	mtx_unlock(&ctl_softc->pool_lock);
 
 	/*
 	 * The emergency pool (if it exists) didn't have one, so try an
@@ -3592,7 +3567,7 @@ ctl_alloc_io(void *pool_ref)
 		 * ctl_io to its list when it gets freed.
 		 */
 		if (emergency_pool != NULL) {
-			mtx_lock(&ctl_softc->ctl_lock);
+			mtx_lock(&ctl_softc->pool_lock);
 			if (ctl_pool_acquire(emergency_pool) == 0) {
 				io->io_hdr.pool = emergency_pool;
 				emergency_pool->total_ctl_io++;
@@ -3604,7 +3579,7 @@ ctl_alloc_io(void *pool_ref)
 				 */
 				emergency_pool->total_allocated++;
 			}
-			mtx_unlock(&ctl_softc->ctl_lock);
+			mtx_unlock(&ctl_softc->pool_lock);
 		} else
 			io->io_hdr.pool = NULL;
 	}
@@ -3612,8 +3587,8 @@ ctl_alloc_io(void *pool_ref)
 	return (io);
 }
 
-static void
-ctl_free_io_internal(union ctl_io *io, int have_lock)
+void
+ctl_free_io(union ctl_io *io)
 {
 	if (io == NULL)
 		return;
@@ -3634,8 +3609,7 @@ ctl_free_io_internal(union ctl_io *io, i
 
 		pool = (struct ctl_io_pool *)io->io_hdr.pool;
 
-		if (have_lock == 0)
-			mtx_lock(&pool->ctl_softc->ctl_lock);
+		mtx_lock(&pool->ctl_softc->pool_lock);
 #if 0
 		save_flags(xflags);
 
@@ -3672,8 +3646,7 @@ ctl_free_io_internal(union ctl_io *io, i
 		pool->total_freed++;
 		pool->free_ctl_io++;
 		ctl_pool_release(pool);
-		if (have_lock == 0)
-			mtx_unlock(&pool->ctl_softc->ctl_lock);
+		mtx_unlock(&pool->ctl_softc->pool_lock);
 	} else {
 		/*
 		 * Otherwise, just free it.  We probably malloced it and
@@ -3685,12 +3658,6 @@ ctl_free_io_internal(union ctl_io *io, i
 }
 
 void
-ctl_free_io(union ctl_io *io)
-{
-	ctl_free_io_internal(io, /*have_lock*/ 0);
-}
-
-void
 ctl_zero_io(union ctl_io *io)
 {
 	void *pool_ref;
@@ -4496,7 +4463,7 @@ ctl_free_lun(struct ctl_lun *lun)
 	     io = next_io) {
 		next_io = (union ctl_io *)TAILQ_NEXT(&io->io_hdr, ooa_links);
 		TAILQ_REMOVE(&lun->ooa_queue, &io->io_hdr, ooa_links);
-		ctl_free_io_internal(io, /*have_lock*/ 1);
+		ctl_free_io(io);
 	}
 
 	softc->num_luns--;
@@ -10211,7 +10178,7 @@ ctl_failover(void)
 					TAILQ_REMOVE(&lun->ooa_queue,
 						     &io->io_hdr, ooa_links);
 
-					ctl_free_io_internal(io, 1);
+					ctl_free_io(io);
 				}
 			}
 
@@ -10227,7 +10194,7 @@ ctl_failover(void)
 						&io->io_hdr,
 					     	ooa_links);
 
-					ctl_free_io_internal(io, 1);
+					ctl_free_io(io);
 				}
 			}
 			ctl_check_blocked(lun);
@@ -11118,7 +11085,7 @@ ctl_run_task_queue(struct ctl_softc *ctl
 			       io->taskio.tag_num : io->scsiio.tag_num);
 			STAILQ_REMOVE(&ctl_softc->task_queue, &io->io_hdr,
 				      ctl_io_hdr, links);
-			ctl_free_io_internal(io, 1);
+			ctl_free_io(io);
 			break;
 		}
 		}
@@ -11215,7 +11182,7 @@ ctl_handle_isc(union ctl_io *io)
 		break;
 	}
 	if (free_io)
-		ctl_free_io_internal(io, 0);
+		ctl_free_io(io);
 
 }
 
@@ -12363,7 +12330,7 @@ ctl_process_done(union ctl_io *io, int h
 	case CTL_IO_TASK:
 		ctl_io_error_print(io, NULL);
 		if (io->io_hdr.flags & CTL_FLAG_FROM_OTHER_SC)
-			ctl_free_io_internal(io, /*have_lock*/ 0);
+			ctl_free_io(io);
 		else
 			fe_done(io);
 		return (CTL_RETVAL_COMPLETE);
@@ -12682,7 +12649,7 @@ ctl_process_done(union ctl_io *io, int h
 			/* XXX do something here */
 		}
 
-		ctl_free_io_internal(io, /*have_lock*/ 0);
+		ctl_free_io(io);
 	} else 
 		fe_done(io);
 

Modified: head/sys/cam/ctl/ctl_frontend.c
==============================================================================
--- head/sys/cam/ctl/ctl_frontend.c	Mon Nov 11 07:44:09 2013	(r257945)
+++ head/sys/cam/ctl/ctl_frontend.c	Mon Nov 11 08:27:20 2013	(r257946)
@@ -114,7 +114,6 @@ ctl_frontend_register(struct ctl_fronten
 	fe->targ_port = port_num + (master_shelf!=0 ? 0 : CTL_MAX_PORTS);
 	fe->max_initiators = CTL_MAX_INIT_PER_PORT;
 	STAILQ_INSERT_TAIL(&control_softc->fe_list, fe, links);
-	ctl_pool_acquire(pool);
 	control_softc->ctl_ports[port_num] = fe;
 
 	mtx_unlock(&control_softc->ctl_lock);
@@ -141,10 +140,6 @@ ctl_frontend_deregister(struct ctl_front
 	}
 
 	mtx_lock(&control_softc->ctl_lock);
-
-	ctl_pool_invalidate(pool);
-	ctl_pool_release(pool);
-
 	STAILQ_REMOVE(&control_softc->fe_list, fe, ctl_frontend, links);
 	control_softc->num_frontends--;
 	port_num = (fe->targ_port < CTL_MAX_PORTS) ? fe->targ_port :
@@ -152,6 +147,9 @@ ctl_frontend_deregister(struct ctl_front
 	ctl_clear_mask(&control_softc->ctl_port_mask, port_num);
 	control_softc->ctl_ports[port_num] = NULL;
 	mtx_unlock(&control_softc->ctl_lock);
+
+	ctl_pool_free(pool);
+
 bailout:
 	return (retval);
 }

Modified: head/sys/cam/ctl/ctl_private.h
==============================================================================
--- head/sys/cam/ctl/ctl_private.h	Mon Nov 11 07:44:09 2013	(r257945)
+++ head/sys/cam/ctl/ctl_private.h	Mon Nov 11 08:27:20 2013	(r257946)
@@ -448,6 +448,7 @@ struct ctl_softc {
 	struct ctl_frontend *ctl_ports[CTL_MAX_PORTS];
 	uint32_t num_backends;
 	STAILQ_HEAD(, ctl_backend_driver) be_list;
+	struct mtx pool_lock;
 	uint32_t num_pools;
 	uint32_t cur_pool_id;
 	STAILQ_HEAD(, ctl_io_pool) io_pools;
@@ -462,10 +463,7 @@ extern struct ctl_cmd_entry ctl_cmd_tabl
 uint32_t ctl_get_initindex(struct ctl_nexus *nexus);
 int ctl_pool_create(struct ctl_softc *ctl_softc, ctl_pool_type pool_type,
 		    uint32_t total_ctl_io, struct ctl_io_pool **npool);
-int ctl_pool_acquire(struct ctl_io_pool *pool);
-int ctl_pool_invalidate(struct ctl_io_pool *pool);
-int ctl_pool_release(struct ctl_io_pool *pool);
-void ctl_pool_free(struct ctl_softc *ctl_softc, struct ctl_io_pool *pool);
+void ctl_pool_free(struct ctl_io_pool *pool);
 int ctl_scsi_release(struct ctl_scsiio *ctsio);
 int ctl_scsi_reserve(struct ctl_scsiio *ctsio);
 int ctl_start_stop(struct ctl_scsiio *ctsio);

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 08:53:21 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 56ACC5BB;
 Mon, 11 Nov 2013 08:53:21 +0000 (UTC)
 (envelope-from adrian@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 42A7F24A1;
 Mon, 11 Nov 2013 08:53:21 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAB8rLVr064698;
 Mon, 11 Nov 2013 08:53:21 GMT (envelope-from adrian@svn.freebsd.org)
Received: (from adrian@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAB8rLSk064697;
 Mon, 11 Nov 2013 08:53:21 GMT (envelope-from adrian@svn.freebsd.org)
Message-Id: <201311110853.rAB8rLSk064697@svn.freebsd.org>
From: Adrian Chadd <adrian@FreeBSD.org>
Date: Mon, 11 Nov 2013 08:53:21 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257947 - head/sys/dev/iwn
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 08:53:21 -0000

Author: adrian
Date: Mon Nov 11 08:53:20 2013
New Revision: 257947
URL: http://svnweb.freebsd.org/changeset/base/257947

Log:
  Send EAPOL frames at the management rate, not the data rate.
  
  Without this, a far away station with low signal strength would
  associate using the management rate (by default the lowest rate)
  and then the EAPOL frames would go out at the current AMRR best
  guess.  This would result in association failing authentication.
  
  Tested:
  
  * Intel 5100, STA
  * Intel 2230, STA

Modified:
  head/sys/dev/iwn/if_iwn.c

Modified: head/sys/dev/iwn/if_iwn.c
==============================================================================
--- head/sys/dev/iwn/if_iwn.c	Mon Nov 11 08:27:20 2013	(r257946)
+++ head/sys/dev/iwn/if_iwn.c	Mon Nov 11 08:53:20 2013	(r257947)
@@ -3623,6 +3623,8 @@ iwn_tx_data(struct iwn_softc *sc, struct
 		rate = tp->mcastrate;
 	else if (tp->ucastrate != IEEE80211_FIXED_RATE_NONE)
 		rate = tp->ucastrate;
+	else if (m->m_flags & M_EAPOL)
+		rate = tp->mgmtrate;
 	else {
 		/* XXX pass pktlen */
 		(void) ieee80211_ratectl_rate(ni, NULL, 0);

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 08:54:46 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 30F2970A;
 Mon, 11 Nov 2013 08:54:46 +0000 (UTC)
 (envelope-from adrian@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 1EA6124B1;
 Mon, 11 Nov 2013 08:54:46 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAB8sjmS064947;
 Mon, 11 Nov 2013 08:54:45 GMT (envelope-from adrian@svn.freebsd.org)
Received: (from adrian@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAB8sjOf064946;
 Mon, 11 Nov 2013 08:54:45 GMT (envelope-from adrian@svn.freebsd.org)
Message-Id: <201311110854.rAB8sjOf064946@svn.freebsd.org>
From: Adrian Chadd <adrian@FreeBSD.org>
Date: Mon, 11 Nov 2013 08:54:45 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257948 - head/sys/dev/iwn
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 08:54:46 -0000

Author: adrian
Date: Mon Nov 11 08:54:45 2013
New Revision: 257948
URL: http://svnweb.freebsd.org/changeset/base/257948

Log:
  Use IWN_NBANDS rather than a hard-coded limit.
  
  Tested:
  
  * Intel 5100, STA

Modified:
  head/sys/dev/iwn/if_iwn.c

Modified: head/sys/dev/iwn/if_iwn.c
==============================================================================
--- head/sys/dev/iwn/if_iwn.c	Mon Nov 11 08:53:20 2013	(r257947)
+++ head/sys/dev/iwn/if_iwn.c	Mon Nov 11 08:54:45 2013	(r257948)
@@ -1738,7 +1738,7 @@ iwn4965_read_eeprom(struct iwn_softc *sc
 	iwn_read_prom_data(sc, IWN4965_EEPROM_DOMAIN, sc->eeprom_domain, 4);
 
 	/* Read the list of authorized channels (20MHz ones only). */
-	for (i = 0; i < 7; i++) {
+	for (i = 0; i < IWN_NBANDS - 1; i++) {
 		addr = iwn4965_regulatory_bands[i];
 		iwn_read_eeprom_channels(sc, i, addr);
 	}
@@ -1829,7 +1829,7 @@ iwn5000_read_eeprom(struct iwn_softc *sc
 	    sc->eeprom_domain, 4);
 
 	/* Read the list of authorized channels (20MHz ones only). */
-	for (i = 0; i < 7; i++) {
+	for (i = 0; i < IWN_NBANDS - 1; i++) {
 		if (sc->hw_type >= IWN_HW_REV_TYPE_6000)
 			addr = base + iwn6000_regulatory_bands[i];
 		else

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 08:55:39 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 7082B850;
 Mon, 11 Nov 2013 08:55:39 +0000 (UTC)
 (envelope-from adrian@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 5D58124B9;
 Mon, 11 Nov 2013 08:55:39 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAB8tdv3065154;
 Mon, 11 Nov 2013 08:55:39 GMT (envelope-from adrian@svn.freebsd.org)
Received: (from adrian@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAB8tddi065153;
 Mon, 11 Nov 2013 08:55:39 GMT (envelope-from adrian@svn.freebsd.org)
Message-Id: <201311110855.rAB8tddi065153@svn.freebsd.org>
From: Adrian Chadd <adrian@FreeBSD.org>
Date: Mon, 11 Nov 2013 08:55:39 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257949 - head/sys/dev/iwn
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 08:55:39 -0000

Author: adrian
Date: Mon Nov 11 08:55:38 2013
New Revision: 257949
URL: http://svnweb.freebsd.org/changeset/base/257949

Log:
  Fix off-by-one. Sorry!

Modified:
  head/sys/dev/iwn/if_iwn.c

Modified: head/sys/dev/iwn/if_iwn.c
==============================================================================
--- head/sys/dev/iwn/if_iwn.c	Mon Nov 11 08:54:45 2013	(r257948)
+++ head/sys/dev/iwn/if_iwn.c	Mon Nov 11 08:55:38 2013	(r257949)
@@ -1768,7 +1768,7 @@ iwn4965_read_eeprom(struct iwn_softc *sc
 #ifdef IWN_DEBUG
 	/* Print samples. */
 	if (sc->sc_debug & IWN_DEBUG_ANY) {
-		for (i = 0; i < IWN_NBANDS; i++)
+		for (i = 0; i < IWN_NBANDS - 1; i++)
 			iwn4965_print_power_group(sc, i);
 	}
 #endif

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 08:56:41 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 73B6E99A;
 Mon, 11 Nov 2013 08:56:41 +0000 (UTC)
 (envelope-from adrian@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 6044824C3;
 Mon, 11 Nov 2013 08:56:41 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAB8ufEX065311;
 Mon, 11 Nov 2013 08:56:41 GMT (envelope-from adrian@svn.freebsd.org)
Received: (from adrian@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAB8uflN065310;
 Mon, 11 Nov 2013 08:56:41 GMT (envelope-from adrian@svn.freebsd.org)
Message-Id: <201311110856.rAB8uflN065310@svn.freebsd.org>
From: Adrian Chadd <adrian@FreeBSD.org>
Date: Mon, 11 Nov 2013 08:56:41 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257950 - head/sys/dev/iwn
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 08:56:41 -0000

Author: adrian
Date: Mon Nov 11 08:56:40 2013
New Revision: 257950
URL: http://svnweb.freebsd.org/changeset/base/257950

Log:
  Replace the hard-coded RX queue value check with IWN_UNSOLICITED_RX_NOTIF.

Modified:
  head/sys/dev/iwn/if_iwn.c

Modified: head/sys/dev/iwn/if_iwn.c
==============================================================================
--- head/sys/dev/iwn/if_iwn.c	Mon Nov 11 08:55:38 2013	(r257949)
+++ head/sys/dev/iwn/if_iwn.c	Mon Nov 11 08:56:40 2013	(r257950)
@@ -3104,7 +3104,7 @@ iwn_notif_intr(struct iwn_softc *sc)
 		    desc->type, iwn_intr_str(desc->type),
 		    le16toh(desc->len));
 
-		if (!(desc->qid & 0x80))	/* Reply to a command. */
+		if (!(desc->qid & IWN_UNSOLICITED_RX_NOTIF))	/* Reply to a command. */
 			iwn_cmd_done(sc, desc);
 
 		switch (desc->type) {

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 09:08:23 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 714F1E75;
 Mon, 11 Nov 2013 09:08:23 +0000 (UTC)
 (envelope-from adrian@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 5C52B2585;
 Mon, 11 Nov 2013 09:08:23 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAB98Nsn069316;
 Mon, 11 Nov 2013 09:08:23 GMT (envelope-from adrian@svn.freebsd.org)
Received: (from adrian@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAB98NH0069315;
 Mon, 11 Nov 2013 09:08:23 GMT (envelope-from adrian@svn.freebsd.org)
Message-Id: <201311110908.rAB98NH0069315@svn.freebsd.org>
From: Adrian Chadd <adrian@FreeBSD.org>
Date: Mon, 11 Nov 2013 09:08:23 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257951 - head/sys/dev/iwn
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 09:08:23 -0000

Author: adrian
Date: Mon Nov 11 09:08:22 2013
New Revision: 257951
URL: http://svnweb.freebsd.org/changeset/base/257951

Log:
  If A-MPDU transmission fails entirely, then no BA is received from the
  NIC and pushed up to the driver.  Unfortunately this means there's
  no rate control notification done.  Thus, if the rate control code
  makes a decision that hits a crappy rate that can't succeed, the
  rate code would never lower the rate and packet loss would continue.
  
  So, fake some rate control notification in this case.

Modified:
  head/sys/dev/iwn/if_iwn.c

Modified: head/sys/dev/iwn/if_iwn.c
==============================================================================
--- head/sys/dev/iwn/if_iwn.c	Mon Nov 11 08:56:40 2013	(r257950)
+++ head/sys/dev/iwn/if_iwn.c	Mon Nov 11 09:08:22 2013	(r257951)
@@ -2987,12 +2987,24 @@ iwn_ampdu_tx_done(struct iwn_softc *sc, 
 
 	DPRINTF(sc, IWN_DEBUG_TRACE, "->%s begin\n", __func__);
 
-#ifdef NOT_YET
 	if (nframes == 1) {
-		if ((*status & 0xff) != 1 && (*status & 0xff) != 2)
+		if ((*status & 0xff) != 1 && (*status & 0xff) != 2) {
+#ifdef	NOT_YET
 			printf("ieee80211_send_bar()\n");
-	}
 #endif
+			/*
+			 * If we completely fail a transmit, make sure a
+			 * notification is pushed up to the rate control
+			 * layer.
+			 */
+			tap = sc->qid2tap[qid];
+			tid = tap->txa_tid;
+			wn = (void *)tap->txa_ni;
+			ni = tap->txa_ni;
+			ieee80211_ratectl_tx_complete(ni->ni_vap, ni,
+			    IEEE80211_RATECTL_TX_FAILURE, &nframes, NULL);
+		}
+	}
 
 	bitmap = 0;
 	start = idx;

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 09:13:42 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id C6FE594;
 Mon, 11 Nov 2013 09:13:42 +0000 (UTC)
 (envelope-from delphij@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id A37DF25D9;
 Mon, 11 Nov 2013 09:13:42 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAB9DggW072243;
 Mon, 11 Nov 2013 09:13:42 GMT (envelope-from delphij@svn.freebsd.org)
Received: (from delphij@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAB9DclP072215;
 Mon, 11 Nov 2013 09:13:38 GMT (envelope-from delphij@svn.freebsd.org)
Message-Id: <201311110913.rAB9DclP072215@svn.freebsd.org>
From: Xin LI <delphij@FreeBSD.org>
Date: Mon, 11 Nov 2013 09:13:38 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-vendor@freebsd.org
Subject: svn commit: r257952 - in vendor-crypto/openssh/dist: .
 contrib/caldera contrib/redhat contrib/suse
X-SVN-Group: vendor-crypto
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 09:13:43 -0000

Author: delphij
Date: Mon Nov 11 09:13:37 2013
New Revision: 257952
URL: http://svnweb.freebsd.org/changeset/base/257952

Log:
  Vendor import of OpenSSH 6.4p1.
  
  Approved by:	des

Modified:
  vendor-crypto/openssh/dist/ChangeLog
  vendor-crypto/openssh/dist/README
  vendor-crypto/openssh/dist/auth-options.c
  vendor-crypto/openssh/dist/auth2-chall.c
  vendor-crypto/openssh/dist/authfd.c
  vendor-crypto/openssh/dist/channels.c
  vendor-crypto/openssh/dist/cipher-3des1.c
  vendor-crypto/openssh/dist/clientloop.c
  vendor-crypto/openssh/dist/contrib/caldera/openssh.spec
  vendor-crypto/openssh/dist/contrib/redhat/openssh.spec
  vendor-crypto/openssh/dist/contrib/suse/openssh.spec
  vendor-crypto/openssh/dist/gss-genr.c
  vendor-crypto/openssh/dist/monitor_mm.c
  vendor-crypto/openssh/dist/monitor_wrap.c
  vendor-crypto/openssh/dist/packet.c
  vendor-crypto/openssh/dist/schnorr.c
  vendor-crypto/openssh/dist/sftp-client.c
  vendor-crypto/openssh/dist/sftp-glob.c
  vendor-crypto/openssh/dist/sftp-server.0
  vendor-crypto/openssh/dist/sftp.0
  vendor-crypto/openssh/dist/umac.c
  vendor-crypto/openssh/dist/version.h

Modified: vendor-crypto/openssh/dist/ChangeLog
==============================================================================
--- vendor-crypto/openssh/dist/ChangeLog	Mon Nov 11 09:08:22 2013	(r257951)
+++ vendor-crypto/openssh/dist/ChangeLog	Mon Nov 11 09:13:37 2013	(r257952)
@@ -1,3 +1,20 @@
+20131108
+ - (djm) OpenBSD CVS Sync
+   - markus@cvs.openbsd.org 2013/11/06 16:52:11
+     [monitor_wrap.c]
+     fix rekeying for AES-GCM modes; ok deraadt
+   - djm@cvs.openbsd.org 2013/11/08 00:39:15
+     [auth-options.c auth2-chall.c authfd.c channels.c cipher-3des1.c]
+     [clientloop.c gss-genr.c monitor_mm.c packet.c schnorr.c umac.c]
+     [sftp-client.c sftp-glob.c]
+     use calloc for all structure allocations; from markus@
+ - (djm) [README contrib/caldera/openssh.spec contrib/redhat/openssh.spec]
+   [contrib/suse/openssh.spec] update version numbers
+   - djm@cvs.openbsd.org 2013/11/08 01:38:11
+     [version.h]
+     openssh-6.4
+ - (djm) Release 6.4p1
+
 20130913
  - (djm) [channels.c] Fix unaligned access on sparc machines in SOCKS5 code;
    ok dtucker@

Modified: vendor-crypto/openssh/dist/README
==============================================================================
--- vendor-crypto/openssh/dist/README	Mon Nov 11 09:08:22 2013	(r257951)
+++ vendor-crypto/openssh/dist/README	Mon Nov 11 09:13:37 2013	(r257952)
@@ -1,4 +1,4 @@
-See http://www.openssh.com/txt/release-6.3 for the release notes.
+See http://www.openssh.com/txt/release-6.4 for the release notes.
 
 - A Japanese translation of this document and of the OpenSSH FAQ is
 - available at http://www.unixuser.org/~haruyama/security/openssh/index.html
@@ -62,4 +62,4 @@ References -
 [6] http://www.openbsd.org/cgi-bin/man.cgi?query=style&sektion=9
 [7] http://www.openssh.com/faq.html
 
-$Id: README,v 1.83 2013/07/25 02:34:00 djm Exp $
+$Id: README,v 1.83.4.1 2013/11/08 01:36:17 djm Exp $

Modified: vendor-crypto/openssh/dist/auth-options.c
==============================================================================
--- vendor-crypto/openssh/dist/auth-options.c	Mon Nov 11 09:08:22 2013	(r257951)
+++ vendor-crypto/openssh/dist/auth-options.c	Mon Nov 11 09:13:37 2013	(r257952)
@@ -1,4 +1,4 @@
-/* $OpenBSD: auth-options.c,v 1.59 2013/07/12 00:19:58 djm Exp $ */
+/* $OpenBSD: auth-options.c,v 1.61 2013/11/08 00:39:14 djm Exp $ */
 /*
  * Author: Tatu Ylonen <ylo@cs.hut.fi>
  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -239,7 +239,7 @@ auth_parse_options(struct passwd *pw, ch
 			auth_debug_add("Adding to environment: %.900s", s);
 			debug("Adding to environment: %.900s", s);
 			opts++;
-			new_envstring = xmalloc(sizeof(struct envstring));
+			new_envstring = xcalloc(1, sizeof(struct envstring));
 			new_envstring->s = s;
 			new_envstring->next = custom_environment;
 			custom_environment = new_envstring;

Modified: vendor-crypto/openssh/dist/auth2-chall.c
==============================================================================
--- vendor-crypto/openssh/dist/auth2-chall.c	Mon Nov 11 09:08:22 2013	(r257951)
+++ vendor-crypto/openssh/dist/auth2-chall.c	Mon Nov 11 09:13:37 2013	(r257952)
@@ -1,4 +1,4 @@
-/* $OpenBSD: auth2-chall.c,v 1.38 2013/05/17 00:13:13 djm Exp $ */
+/* $OpenBSD: auth2-chall.c,v 1.39 2013/11/08 00:39:14 djm Exp $ */
 /*
  * Copyright (c) 2001 Markus Friedl.  All rights reserved.
  * Copyright (c) 2001 Per Allansson.  All rights reserved.
@@ -111,7 +111,7 @@ kbdint_alloc(const char *devs)
 		remove_kbdint_device("pam");
 #endif
 
-	kbdintctxt = xmalloc(sizeof(KbdintAuthctxt));
+	kbdintctxt = xcalloc(1, sizeof(KbdintAuthctxt));
 	if (strcmp(devs, "") == 0) {
 		buffer_init(&b);
 		for (i = 0; devices[i]; i++) {

Modified: vendor-crypto/openssh/dist/authfd.c
==============================================================================
--- vendor-crypto/openssh/dist/authfd.c	Mon Nov 11 09:08:22 2013	(r257951)
+++ vendor-crypto/openssh/dist/authfd.c	Mon Nov 11 09:13:37 2013	(r257952)
@@ -1,4 +1,4 @@
-/* $OpenBSD: authfd.c,v 1.87 2013/05/17 00:13:13 djm Exp $ */
+/* $OpenBSD: authfd.c,v 1.88 2013/11/08 00:39:14 djm Exp $ */
 /*
  * Author: Tatu Ylonen <ylo@cs.hut.fi>
  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -206,7 +206,7 @@ ssh_get_authentication_connection(void)
 	if (sock < 0)
 		return NULL;
 
-	auth = xmalloc(sizeof(*auth));
+	auth = xcalloc(1, sizeof(*auth));
 	auth->fd = sock;
 	buffer_init(&auth->identities);
 	auth->howmany = 0;

Modified: vendor-crypto/openssh/dist/channels.c
==============================================================================
--- vendor-crypto/openssh/dist/channels.c	Mon Nov 11 09:08:22 2013	(r257951)
+++ vendor-crypto/openssh/dist/channels.c	Mon Nov 11 09:13:37 2013	(r257952)
@@ -1,4 +1,4 @@
-/* $OpenBSD: channels.c,v 1.324 2013/07/12 00:19:58 djm Exp $ */
+/* $OpenBSD: channels.c,v 1.327 2013/11/08 00:39:15 djm Exp $ */
 /*
  * Author: Tatu Ylonen <ylo@cs.hut.fi>
  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -704,7 +704,7 @@ channel_register_status_confirm(int id, 
 	if ((c = channel_lookup(id)) == NULL)
 		fatal("channel_register_expect: %d: bad id", id);
 
-	cc = xmalloc(sizeof(*cc));
+	cc = xcalloc(1, sizeof(*cc));
 	cc->cb = cb;
 	cc->abandon_cb = abandon_cb;
 	cc->ctx = ctx;

Modified: vendor-crypto/openssh/dist/cipher-3des1.c
==============================================================================
--- vendor-crypto/openssh/dist/cipher-3des1.c	Mon Nov 11 09:08:22 2013	(r257951)
+++ vendor-crypto/openssh/dist/cipher-3des1.c	Mon Nov 11 09:13:37 2013	(r257952)
@@ -1,4 +1,4 @@
-/* $OpenBSD: cipher-3des1.c,v 1.8 2013/05/17 00:13:13 djm Exp $ */
+/* $OpenBSD: cipher-3des1.c,v 1.9 2013/11/08 00:39:15 djm Exp $ */
 /*
  * Copyright (c) 2003 Markus Friedl.  All rights reserved.
  *
@@ -67,7 +67,7 @@ ssh1_3des_init(EVP_CIPHER_CTX *ctx, cons
 	u_char *k1, *k2, *k3;
 
 	if ((c = EVP_CIPHER_CTX_get_app_data(ctx)) == NULL) {
-		c = xmalloc(sizeof(*c));
+		c = xcalloc(1, sizeof(*c));
 		EVP_CIPHER_CTX_set_app_data(ctx, c);
 	}
 	if (key == NULL)

Modified: vendor-crypto/openssh/dist/clientloop.c
==============================================================================
--- vendor-crypto/openssh/dist/clientloop.c	Mon Nov 11 09:08:22 2013	(r257951)
+++ vendor-crypto/openssh/dist/clientloop.c	Mon Nov 11 09:13:37 2013	(r257952)
@@ -1,4 +1,4 @@
-/* $OpenBSD: clientloop.c,v 1.253 2013/06/07 15:37:52 dtucker Exp $ */
+/* $OpenBSD: clientloop.c,v 1.255 2013/11/08 00:39:15 djm Exp $ */
 /*
  * Author: Tatu Ylonen <ylo@cs.hut.fi>
  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -837,7 +837,7 @@ void
 client_expect_confirm(int id, const char *request,
     enum confirm_action action)
 {
-	struct channel_reply_ctx *cr = xmalloc(sizeof(*cr));
+	struct channel_reply_ctx *cr = xcalloc(1, sizeof(*cr));
 
 	cr->request_type = request;
 	cr->action = action;
@@ -860,7 +860,7 @@ client_register_global_confirm(global_co
 		return;
 	}
 
-	gc = xmalloc(sizeof(*gc));
+	gc = xcalloc(1, sizeof(*gc));
 	gc->cb = cb;
 	gc->ctx = ctx;
 	gc->ref_count = 1;
@@ -1438,7 +1438,7 @@ client_new_escape_filter_ctx(int escape_
 {
 	struct escape_filter_ctx *ret;
 
-	ret = xmalloc(sizeof(*ret));
+	ret = xcalloc(1, sizeof(*ret));
 	ret->escape_pending = 0;
 	ret->escape_char = escape_char;
 	return (void *)ret;

Modified: vendor-crypto/openssh/dist/contrib/caldera/openssh.spec
==============================================================================
--- vendor-crypto/openssh/dist/contrib/caldera/openssh.spec	Mon Nov 11 09:08:22 2013	(r257951)
+++ vendor-crypto/openssh/dist/contrib/caldera/openssh.spec	Mon Nov 11 09:13:37 2013	(r257952)
@@ -16,7 +16,7 @@
 
 #old cvs stuff.  please update before use.  may be deprecated.
 %define use_stable	1
-%define version 	6.3p1
+%define version 	6.4p1
 %if %{use_stable}
   %define cvs		%{nil}
   %define release 	1
@@ -363,4 +363,4 @@ fi
 * Mon Jan 01 1998 ...
 Template Version: 1.31
 
-$Id: openssh.spec,v 1.80 2013/07/25 02:34:00 djm Exp $
+$Id: openssh.spec,v 1.80.4.1 2013/11/08 01:36:19 djm Exp $

Modified: vendor-crypto/openssh/dist/contrib/redhat/openssh.spec
==============================================================================
--- vendor-crypto/openssh/dist/contrib/redhat/openssh.spec	Mon Nov 11 09:08:22 2013	(r257951)
+++ vendor-crypto/openssh/dist/contrib/redhat/openssh.spec	Mon Nov 11 09:13:37 2013	(r257952)
@@ -1,4 +1,4 @@
-%define ver 6.3p1
+%define ver 6.4p1
 %define rel 1
 
 # OpenSSH privilege separation requires a user & group ID

Modified: vendor-crypto/openssh/dist/contrib/suse/openssh.spec
==============================================================================
--- vendor-crypto/openssh/dist/contrib/suse/openssh.spec	Mon Nov 11 09:08:22 2013	(r257951)
+++ vendor-crypto/openssh/dist/contrib/suse/openssh.spec	Mon Nov 11 09:13:37 2013	(r257952)
@@ -13,7 +13,7 @@
 
 Summary:	OpenSSH, a free Secure Shell (SSH) protocol implementation
 Name:		openssh
-Version:	6.3p1
+Version:	6.4p1
 URL:		http://www.openssh.com/
 Release:	1
 Source0:	openssh-%{version}.tar.gz

Modified: vendor-crypto/openssh/dist/gss-genr.c
==============================================================================
--- vendor-crypto/openssh/dist/gss-genr.c	Mon Nov 11 09:08:22 2013	(r257951)
+++ vendor-crypto/openssh/dist/gss-genr.c	Mon Nov 11 09:13:37 2013	(r257952)
@@ -1,4 +1,4 @@
-/* $OpenBSD: gss-genr.c,v 1.21 2013/05/17 00:13:13 djm Exp $ */
+/* $OpenBSD: gss-genr.c,v 1.22 2013/11/08 00:39:15 djm Exp $ */
 
 /*
  * Copyright (c) 2001-2007 Simon Wilkinson. All rights reserved.
@@ -62,7 +62,7 @@ ssh_gssapi_set_oid_data(Gssctxt *ctx, vo
 		free(ctx->oid->elements);
 		free(ctx->oid);
 	}
-	ctx->oid = xmalloc(sizeof(gss_OID_desc));
+	ctx->oid = xcalloc(1, sizeof(gss_OID_desc));
 	ctx->oid->length = len;
 	ctx->oid->elements = xmalloc(len);
 	memcpy(ctx->oid->elements, data, len);

Modified: vendor-crypto/openssh/dist/monitor_mm.c
==============================================================================
--- vendor-crypto/openssh/dist/monitor_mm.c	Mon Nov 11 09:08:22 2013	(r257951)
+++ vendor-crypto/openssh/dist/monitor_mm.c	Mon Nov 11 09:13:37 2013	(r257952)
@@ -1,4 +1,4 @@
-/* $OpenBSD: monitor_mm.c,v 1.17 2013/05/17 00:13:13 djm Exp $ */
+/* $OpenBSD: monitor_mm.c,v 1.18 2013/11/08 00:39:15 djm Exp $ */
 /*
  * Copyright 2002 Niels Provos <provos@citi.umich.edu>
  * All rights reserved.
@@ -65,7 +65,7 @@ mm_make_entry(struct mm_master *mm, stru
 	struct mm_share *tmp, *tmp2;
 
 	if (mm->mmalloc == NULL)
-		tmp = xmalloc(sizeof(struct mm_share));
+		tmp = xcalloc(1, sizeof(struct mm_share));
 	else
 		tmp = mm_xmalloc(mm->mmalloc, sizeof(struct mm_share));
 	tmp->address = address;
@@ -88,7 +88,7 @@ mm_create(struct mm_master *mmalloc, siz
 	struct mm_master *mm;
 
 	if (mmalloc == NULL)
-		mm = xmalloc(sizeof(struct mm_master));
+		mm = xcalloc(1, sizeof(struct mm_master));
 	else
 		mm = mm_xmalloc(mmalloc, sizeof(struct mm_master));
 
@@ -161,6 +161,7 @@ mm_xmalloc(struct mm_master *mm, size_t 
 	address = mm_malloc(mm, size);
 	if (address == NULL)
 		fatal("%s: mm_malloc(%lu)", __func__, (u_long)size);
+	memset(address, 0, size);
 	return (address);
 }
 

Modified: vendor-crypto/openssh/dist/monitor_wrap.c
==============================================================================
--- vendor-crypto/openssh/dist/monitor_wrap.c	Mon Nov 11 09:08:22 2013	(r257951)
+++ vendor-crypto/openssh/dist/monitor_wrap.c	Mon Nov 11 09:13:37 2013	(r257952)
@@ -1,4 +1,4 @@
-/* $OpenBSD: monitor_wrap.c,v 1.76 2013/05/17 00:13:13 djm Exp $ */
+/* $OpenBSD: monitor_wrap.c,v 1.77 2013/11/06 16:52:11 markus Exp $ */
 /*
  * Copyright 2002 Niels Provos <provos@citi.umich.edu>
  * Copyright 2002 Markus Friedl <markus@openbsd.org>
@@ -482,7 +482,7 @@ mm_newkeys_from_blob(u_char *blob, int b
 	buffer_init(&b);
 	buffer_append(&b, blob, blen);
 
-	newkey = xmalloc(sizeof(*newkey));
+	newkey = xcalloc(1, sizeof(*newkey));
 	enc = &newkey->enc;
 	mac = &newkey->mac;
 	comp = &newkey->comp;

Modified: vendor-crypto/openssh/dist/packet.c
==============================================================================
--- vendor-crypto/openssh/dist/packet.c	Mon Nov 11 09:08:22 2013	(r257951)
+++ vendor-crypto/openssh/dist/packet.c	Mon Nov 11 09:13:37 2013	(r257952)
@@ -1,4 +1,4 @@
-/* $OpenBSD: packet.c,v 1.188 2013/07/12 00:19:58 djm Exp $ */
+/* $OpenBSD: packet.c,v 1.189 2013/11/08 00:39:15 djm Exp $ */
 /*
  * Author: Tatu Ylonen <ylo@cs.hut.fi>
  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -996,7 +996,7 @@ packet_send2(void)
 		    (type == SSH2_MSG_SERVICE_REQUEST) ||
 		    (type == SSH2_MSG_SERVICE_ACCEPT)) {
 			debug("enqueue packet: %u", type);
-			p = xmalloc(sizeof(*p));
+			p = xcalloc(1, sizeof(*p));
 			p->type = type;
 			memcpy(&p->payload, &active_state->outgoing_packet,
 			    sizeof(Buffer));

Modified: vendor-crypto/openssh/dist/schnorr.c
==============================================================================
--- vendor-crypto/openssh/dist/schnorr.c	Mon Nov 11 09:08:22 2013	(r257951)
+++ vendor-crypto/openssh/dist/schnorr.c	Mon Nov 11 09:13:37 2013	(r257952)
@@ -1,4 +1,4 @@
-/* $OpenBSD: schnorr.c,v 1.7 2013/05/17 00:13:14 djm Exp $ */
+/* $OpenBSD: schnorr.c,v 1.8 2013/11/08 00:39:15 djm Exp $ */
 /*
  * Copyright (c) 2008 Damien Miller.  All rights reserved.
  *
@@ -549,7 +549,7 @@ modp_group_from_g_and_safe_p(const char 
 {
 	struct modp_group *ret;
 
-	ret = xmalloc(sizeof(*ret));
+	ret = xcalloc(1, sizeof(*ret));
 	ret->p = ret->q = ret->g = NULL;
 	if (BN_hex2bn(&ret->p, grp_p) == 0 ||
 	    BN_hex2bn(&ret->g, grp_g) == 0)

Modified: vendor-crypto/openssh/dist/sftp-client.c
==============================================================================
--- vendor-crypto/openssh/dist/sftp-client.c	Mon Nov 11 09:08:22 2013	(r257951)
+++ vendor-crypto/openssh/dist/sftp-client.c	Mon Nov 11 09:13:37 2013	(r257952)
@@ -1,4 +1,4 @@
-/* $OpenBSD: sftp-client.c,v 1.101 2013/07/25 00:56:51 djm Exp $ */
+/* $OpenBSD: sftp-client.c,v 1.108 2013/11/08 00:39:15 djm Exp $ */
 /*
  * Copyright (c) 2001-2004 Damien Miller <djm@openbsd.org>
  *
@@ -471,7 +471,7 @@ do_lsreaddir(struct sftp_conn *conn, cha
 
 	if (dir) {
 		ents = 0;
-		*dir = xmalloc(sizeof(**dir));
+		*dir = xcalloc(1, sizeof(**dir));
 		(*dir)[0] = NULL;
 	}
 
@@ -545,7 +545,7 @@ do_lsreaddir(struct sftp_conn *conn, cha
 
 			if (dir) {
 				*dir = xrealloc(*dir, ents + 2, sizeof(**dir));
-				(*dir)[ents] = xmalloc(sizeof(***dir));
+				(*dir)[ents] = xcalloc(1, sizeof(***dir));
 				(*dir)[ents]->filename = xstrdup(filename);
 				(*dir)[ents]->longname = xstrdup(longname);
 				memcpy(&(*dir)[ents]->a, a, sizeof(*a));
@@ -564,7 +564,7 @@ do_lsreaddir(struct sftp_conn *conn, cha
 	/* Don't return partial matches on interrupt */
 	if (interrupted && dir != NULL && *dir != NULL) {
 		free_sftp_dirents(*dir);
-		*dir = xmalloc(sizeof(**dir));
+		*dir = xcalloc(1, sizeof(**dir));
 		**dir = NULL;
 	}
 
@@ -1105,7 +1105,7 @@ do_download(struct sftp_conn *conn, char
 			    (unsigned long long)offset,
 			    (unsigned long long)offset + buflen - 1,
 			    num_req, max_req);
-			req = xmalloc(sizeof(*req));
+			req = xcalloc(1, sizeof(*req));
 			req->id = conn->msg_id++;
 			req->len = buflen;
 			req->offset = offset;
@@ -1463,7 +1463,7 @@ do_upload(struct sftp_conn *conn, char *
 			    strerror(errno));
 
 		if (len != 0) {
-			ack = xmalloc(sizeof(*ack));
+			ack = xcalloc(1, sizeof(*ack));
 			ack->id = ++id;
 			ack->offset = offset;
 			ack->len = len;

Modified: vendor-crypto/openssh/dist/sftp-glob.c
==============================================================================
--- vendor-crypto/openssh/dist/sftp-glob.c	Mon Nov 11 09:08:22 2013	(r257951)
+++ vendor-crypto/openssh/dist/sftp-glob.c	Mon Nov 11 09:13:37 2013	(r257952)
@@ -1,4 +1,4 @@
-/* $OpenBSD: sftp-glob.c,v 1.24 2013/05/17 00:13:14 djm Exp $ */
+/* $OpenBSD: sftp-glob.c,v 1.25 2013/11/08 00:39:15 djm Exp $ */
 /*
  * Copyright (c) 2001-2004 Damien Miller <djm@openbsd.org>
  *
@@ -48,7 +48,7 @@ fudge_opendir(const char *path)
 {
 	struct SFTP_OPENDIR *r;
 
-	r = xmalloc(sizeof(*r));
+	r = xcalloc(1, sizeof(*r));
 
 	if (do_readdir(cur.conn, (char *)path, &r->dir)) {
 		free(r);

Modified: vendor-crypto/openssh/dist/sftp-server.0
==============================================================================
--- vendor-crypto/openssh/dist/sftp-server.0	Mon Nov 11 09:08:22 2013	(r257951)
+++ vendor-crypto/openssh/dist/sftp-server.0	Mon Nov 11 09:13:37 2013	(r257952)
@@ -61,9 +61,8 @@ DESCRIPTION
 SEE ALSO
      sftp(1), ssh(1), sshd_config(5), sshd(8)
 
-     T. Ylonen and S. Lehtinen, SSH File Transfer Protocol,
-     draft-ietf-secsh-filexfer-02.txt, October 2001, work in progress
-     material.
+     T. Ylonen and S. Lehtinen, SSH File Transfer Protocol, draft-ietf-secsh-
+     filexfer-02.txt, October 2001, work in progress material.
 
 HISTORY
      sftp-server first appeared in OpenBSD 2.8.

Modified: vendor-crypto/openssh/dist/sftp.0
==============================================================================
--- vendor-crypto/openssh/dist/sftp.0	Mon Nov 11 09:08:22 2013	(r257951)
+++ vendor-crypto/openssh/dist/sftp.0	Mon Nov 11 09:13:37 2013	(r257952)
@@ -342,8 +342,7 @@ SEE ALSO
      ftp(1), ls(1), scp(1), ssh(1), ssh-add(1), ssh-keygen(1), glob(3),
      ssh_config(5), sftp-server(8), sshd(8)
 
-     T. Ylonen and S. Lehtinen, SSH File Transfer Protocol,
-     draft-ietf-secsh-filexfer-00.txt, January 2001, work in progress
-     material.
+     T. Ylonen and S. Lehtinen, SSH File Transfer Protocol, draft-ietf-secsh-
+     filexfer-00.txt, January 2001, work in progress material.
 
 OpenBSD 5.4                      July 25, 2013                     OpenBSD 5.4

Modified: vendor-crypto/openssh/dist/umac.c
==============================================================================
--- vendor-crypto/openssh/dist/umac.c	Mon Nov 11 09:08:22 2013	(r257951)
+++ vendor-crypto/openssh/dist/umac.c	Mon Nov 11 09:13:37 2013	(r257952)
@@ -1,4 +1,4 @@
-/* $OpenBSD: umac.c,v 1.7 2013/07/22 05:00:17 djm Exp $ */
+/* $OpenBSD: umac.c,v 1.8 2013/11/08 00:39:15 djm Exp $ */
 /* -----------------------------------------------------------------------
  * 
  * umac.c -- C Implementation UMAC Message Authentication
@@ -1227,7 +1227,7 @@ struct umac_ctx *umac_new(const u_char k
     size_t bytes_to_add;
     aes_int_key prf_key;
     
-    octx = ctx = xmalloc(sizeof(*ctx) + ALLOC_BOUNDARY);
+    octx = ctx = xcalloc(1, sizeof(*ctx) + ALLOC_BOUNDARY);
     if (ctx) {
         if (ALLOC_BOUNDARY) {
             bytes_to_add = ALLOC_BOUNDARY -

Modified: vendor-crypto/openssh/dist/version.h
==============================================================================
--- vendor-crypto/openssh/dist/version.h	Mon Nov 11 09:08:22 2013	(r257951)
+++ vendor-crypto/openssh/dist/version.h	Mon Nov 11 09:13:37 2013	(r257952)
@@ -1,6 +1,6 @@
-/* $OpenBSD: version.h,v 1.67 2013/07/25 00:57:37 djm Exp $ */
+/* $OpenBSD: version.h,v 1.68 2013/11/08 01:38:11 djm Exp $ */
 
-#define SSH_VERSION	"OpenSSH_6.3"
+#define SSH_VERSION	"OpenSSH_6.4"
 
 #define SSH_PORTABLE	"p1"
 #define SSH_RELEASE	SSH_VERSION SSH_PORTABLE

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 09:14:44 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 163DA1E7;
 Mon, 11 Nov 2013 09:14:44 +0000 (UTC)
 (envelope-from delphij@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id DDF8E25E8;
 Mon, 11 Nov 2013 09:14:43 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAB9Ehnc072408;
 Mon, 11 Nov 2013 09:14:43 GMT (envelope-from delphij@svn.freebsd.org)
Received: (from delphij@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAB9EhTB072407;
 Mon, 11 Nov 2013 09:14:43 GMT (envelope-from delphij@svn.freebsd.org)
Message-Id: <201311110914.rAB9EhTB072407@svn.freebsd.org>
From: Xin LI <delphij@FreeBSD.org>
Date: Mon, 11 Nov 2013 09:14:43 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-vendor@freebsd.org
Subject: svn commit: r257953 - vendor-crypto/openssh/6.4p1
X-SVN-Group: vendor-crypto
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 09:14:44 -0000

Author: delphij
Date: Mon Nov 11 09:14:43 2013
New Revision: 257953
URL: http://svnweb.freebsd.org/changeset/base/257953

Log:
  Tag OpenSSH 6.4p1.

Added:
  vendor-crypto/openssh/6.4p1/
     - copied from r257952, vendor-crypto/openssh/dist/

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 09:18:34 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id E604F430;
 Mon, 11 Nov 2013 09:18:34 +0000 (UTC) (envelope-from des@des.no)
Received: from smtp.des.no (smtp.des.no [194.63.250.102])
 by mx1.freebsd.org (Postfix) with ESMTP id A57792611;
 Mon, 11 Nov 2013 09:18:34 +0000 (UTC)
Received: from nine.des.no (smtp.des.no [194.63.250.102])
 by smtp-int.des.no (Postfix) with ESMTP id 58EE76366;
 Mon, 11 Nov 2013 09:18:33 +0000 (UTC)
Received: by nine.des.no (Postfix, from userid 1001)
 id E4E3916DA; Mon, 11 Nov 2013 10:18:36 +0100 (CET)
From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= <des@des.no>
To: Ganbold Tsagaankhuu <ganbold@gmail.com>
Subject: Re: svn commit: r256949 - head/sys/arm/rockchip
References: <201310230039.r9N0di6j024722@svn.freebsd.org>
 <37066B73-58ED-401F-849E-D1BCF23FE88C@vnode.se>
 <CAGtf9xM_w0jr1V6RxSOE5F7zygCAt5UjEpuzceSaR8QDUwiYQA@mail.gmail.com>
Date: Mon, 11 Nov 2013 10:18:36 +0100
In-Reply-To: <CAGtf9xM_w0jr1V6RxSOE5F7zygCAt5UjEpuzceSaR8QDUwiYQA@mail.gmail.com>
 (Ganbold Tsagaankhuu's message of "Wed, 23 Oct 2013 13:42:07 +0800")
Message-ID: <86k3gfxpn7.fsf@nine.des.no>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (berkeley-unix)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Cc: svn-src-head@freebsd.org, Ganbold Tsagaankhuu <ganbold@freebsd.org>,
 svn-src-all@freebsd.org, src-committers@freebsd.org, Joel Dahl <joel@vnode.se>
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 09:18:35 -0000

Ganbold Tsagaankhuu <ganbold@gmail.com> writes:
> Joel Dahl <joel@vnode.se> writes:
> > Hmm? If this is copyrighted the FreeBSD Foundation, why does the
> > copyright mention MARVELL?  Copy/Paste mistake?
> I have seen most of the bus_space.c in sys/arm has this type of
> license.

It is not the correct license for new code.  Unless the FreeBSD
Foundation insists on the 3-clause license, you should use the first
version in /usr/src/COPYRIGHT:

/*-
 * Copyright (c) 2012-2013 FreeBSD Foundation
 * 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 PURPO=
SE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTI=
AL
 * 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, STRI=
CT
 * 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.
 */

but to be 100% sure, you should ask your contact at the Foundation.

DES
--
Dag-Erling Sm=C3=B8rgrav - des@des.no

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 09:20:04 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 86E514DC;
 Mon, 11 Nov 2013 09:20:04 +0000 (UTC)
 (envelope-from delphij@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 72C1C2625;
 Mon, 11 Nov 2013 09:20:04 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAB9K4mL073233;
 Mon, 11 Nov 2013 09:20:04 GMT (envelope-from delphij@svn.freebsd.org)
Received: (from delphij@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAB9JxO0073113;
 Mon, 11 Nov 2013 09:19:59 GMT (envelope-from delphij@svn.freebsd.org)
Message-Id: <201311110919.rAB9JxO0073113@svn.freebsd.org>
From: Xin LI <delphij@FreeBSD.org>
Date: Mon, 11 Nov 2013 09:19:59 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257954 - in head/crypto/openssh: . contrib/caldera
 contrib/redhat contrib/suse
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 09:20:04 -0000

Author: delphij
Date: Mon Nov 11 09:19:58 2013
New Revision: 257954
URL: http://svnweb.freebsd.org/changeset/base/257954

Log:
  MFV r257952:
  
  Upgrade to OpenSSH 6.4p1.
  
  Bump VersionAddendum.
  
  Approved by:	des

Modified:
  head/crypto/openssh/ChangeLog
  head/crypto/openssh/README
  head/crypto/openssh/auth-options.c
  head/crypto/openssh/auth2-chall.c
  head/crypto/openssh/authfd.c
  head/crypto/openssh/channels.c
  head/crypto/openssh/cipher-3des1.c
  head/crypto/openssh/clientloop.c
  head/crypto/openssh/contrib/caldera/openssh.spec
  head/crypto/openssh/contrib/redhat/openssh.spec
  head/crypto/openssh/contrib/suse/openssh.spec
  head/crypto/openssh/gss-genr.c
  head/crypto/openssh/monitor_mm.c
  head/crypto/openssh/monitor_wrap.c
  head/crypto/openssh/packet.c
  head/crypto/openssh/schnorr.c
  head/crypto/openssh/sftp-client.c
  head/crypto/openssh/sftp-glob.c
  head/crypto/openssh/sftp-server.0
  head/crypto/openssh/sftp.0
  head/crypto/openssh/ssh_config
  head/crypto/openssh/ssh_config.5
  head/crypto/openssh/sshd_config
  head/crypto/openssh/sshd_config.5
  head/crypto/openssh/umac.c
  head/crypto/openssh/version.h
Directory Properties:
  head/crypto/openssh/   (props changed)

Modified: head/crypto/openssh/ChangeLog
==============================================================================
--- head/crypto/openssh/ChangeLog	Mon Nov 11 09:14:43 2013	(r257953)
+++ head/crypto/openssh/ChangeLog	Mon Nov 11 09:19:58 2013	(r257954)
@@ -1,3 +1,20 @@
+20131108
+ - (djm) OpenBSD CVS Sync
+   - markus@cvs.openbsd.org 2013/11/06 16:52:11
+     [monitor_wrap.c]
+     fix rekeying for AES-GCM modes; ok deraadt
+   - djm@cvs.openbsd.org 2013/11/08 00:39:15
+     [auth-options.c auth2-chall.c authfd.c channels.c cipher-3des1.c]
+     [clientloop.c gss-genr.c monitor_mm.c packet.c schnorr.c umac.c]
+     [sftp-client.c sftp-glob.c]
+     use calloc for all structure allocations; from markus@
+ - (djm) [README contrib/caldera/openssh.spec contrib/redhat/openssh.spec]
+   [contrib/suse/openssh.spec] update version numbers
+   - djm@cvs.openbsd.org 2013/11/08 01:38:11
+     [version.h]
+     openssh-6.4
+ - (djm) Release 6.4p1
+
 20130913
  - (djm) [channels.c] Fix unaligned access on sparc machines in SOCKS5 code;
    ok dtucker@

Modified: head/crypto/openssh/README
==============================================================================
--- head/crypto/openssh/README	Mon Nov 11 09:14:43 2013	(r257953)
+++ head/crypto/openssh/README	Mon Nov 11 09:19:58 2013	(r257954)
@@ -1,4 +1,4 @@
-See http://www.openssh.com/txt/release-6.3 for the release notes.
+See http://www.openssh.com/txt/release-6.4 for the release notes.
 
 - A Japanese translation of this document and of the OpenSSH FAQ is
 - available at http://www.unixuser.org/~haruyama/security/openssh/index.html
@@ -62,4 +62,4 @@ References -
 [6] http://www.openbsd.org/cgi-bin/man.cgi?query=style&sektion=9
 [7] http://www.openssh.com/faq.html
 
-$Id: README,v 1.83 2013/07/25 02:34:00 djm Exp $
+$Id: README,v 1.83.4.1 2013/11/08 01:36:17 djm Exp $

Modified: head/crypto/openssh/auth-options.c
==============================================================================
--- head/crypto/openssh/auth-options.c	Mon Nov 11 09:14:43 2013	(r257953)
+++ head/crypto/openssh/auth-options.c	Mon Nov 11 09:19:58 2013	(r257954)
@@ -1,4 +1,4 @@
-/* $OpenBSD: auth-options.c,v 1.59 2013/07/12 00:19:58 djm Exp $ */
+/* $OpenBSD: auth-options.c,v 1.61 2013/11/08 00:39:14 djm Exp $ */
 /*
  * Author: Tatu Ylonen <ylo@cs.hut.fi>
  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -239,7 +239,7 @@ auth_parse_options(struct passwd *pw, ch
 			auth_debug_add("Adding to environment: %.900s", s);
 			debug("Adding to environment: %.900s", s);
 			opts++;
-			new_envstring = xmalloc(sizeof(struct envstring));
+			new_envstring = xcalloc(1, sizeof(struct envstring));
 			new_envstring->s = s;
 			new_envstring->next = custom_environment;
 			custom_environment = new_envstring;

Modified: head/crypto/openssh/auth2-chall.c
==============================================================================
--- head/crypto/openssh/auth2-chall.c	Mon Nov 11 09:14:43 2013	(r257953)
+++ head/crypto/openssh/auth2-chall.c	Mon Nov 11 09:19:58 2013	(r257954)
@@ -1,4 +1,4 @@
-/* $OpenBSD: auth2-chall.c,v 1.38 2013/05/17 00:13:13 djm Exp $ */
+/* $OpenBSD: auth2-chall.c,v 1.39 2013/11/08 00:39:14 djm Exp $ */
 /*
  * Copyright (c) 2001 Markus Friedl.  All rights reserved.
  * Copyright (c) 2001 Per Allansson.  All rights reserved.
@@ -111,7 +111,7 @@ kbdint_alloc(const char *devs)
 		remove_kbdint_device("pam");
 #endif
 
-	kbdintctxt = xmalloc(sizeof(KbdintAuthctxt));
+	kbdintctxt = xcalloc(1, sizeof(KbdintAuthctxt));
 	if (strcmp(devs, "") == 0) {
 		buffer_init(&b);
 		for (i = 0; devices[i]; i++) {

Modified: head/crypto/openssh/authfd.c
==============================================================================
--- head/crypto/openssh/authfd.c	Mon Nov 11 09:14:43 2013	(r257953)
+++ head/crypto/openssh/authfd.c	Mon Nov 11 09:19:58 2013	(r257954)
@@ -1,4 +1,4 @@
-/* $OpenBSD: authfd.c,v 1.87 2013/05/17 00:13:13 djm Exp $ */
+/* $OpenBSD: authfd.c,v 1.88 2013/11/08 00:39:14 djm Exp $ */
 /*
  * Author: Tatu Ylonen <ylo@cs.hut.fi>
  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -206,7 +206,7 @@ ssh_get_authentication_connection(void)
 	if (sock < 0)
 		return NULL;
 
-	auth = xmalloc(sizeof(*auth));
+	auth = xcalloc(1, sizeof(*auth));
 	auth->fd = sock;
 	buffer_init(&auth->identities);
 	auth->howmany = 0;

Modified: head/crypto/openssh/channels.c
==============================================================================
--- head/crypto/openssh/channels.c	Mon Nov 11 09:14:43 2013	(r257953)
+++ head/crypto/openssh/channels.c	Mon Nov 11 09:19:58 2013	(r257954)
@@ -1,4 +1,4 @@
-/* $OpenBSD: channels.c,v 1.324 2013/07/12 00:19:58 djm Exp $ */
+/* $OpenBSD: channels.c,v 1.327 2013/11/08 00:39:15 djm Exp $ */
 /* $FreeBSD$ */
 /*
  * Author: Tatu Ylonen <ylo@cs.hut.fi>
@@ -711,7 +711,7 @@ channel_register_status_confirm(int id, 
 	if ((c = channel_lookup(id)) == NULL)
 		fatal("channel_register_expect: %d: bad id", id);
 
-	cc = xmalloc(sizeof(*cc));
+	cc = xcalloc(1, sizeof(*cc));
 	cc->cb = cb;
 	cc->abandon_cb = abandon_cb;
 	cc->ctx = ctx;

Modified: head/crypto/openssh/cipher-3des1.c
==============================================================================
--- head/crypto/openssh/cipher-3des1.c	Mon Nov 11 09:14:43 2013	(r257953)
+++ head/crypto/openssh/cipher-3des1.c	Mon Nov 11 09:19:58 2013	(r257954)
@@ -1,4 +1,4 @@
-/* $OpenBSD: cipher-3des1.c,v 1.8 2013/05/17 00:13:13 djm Exp $ */
+/* $OpenBSD: cipher-3des1.c,v 1.9 2013/11/08 00:39:15 djm Exp $ */
 /*
  * Copyright (c) 2003 Markus Friedl.  All rights reserved.
  *
@@ -67,7 +67,7 @@ ssh1_3des_init(EVP_CIPHER_CTX *ctx, cons
 	u_char *k1, *k2, *k3;
 
 	if ((c = EVP_CIPHER_CTX_get_app_data(ctx)) == NULL) {
-		c = xmalloc(sizeof(*c));
+		c = xcalloc(1, sizeof(*c));
 		EVP_CIPHER_CTX_set_app_data(ctx, c);
 	}
 	if (key == NULL)

Modified: head/crypto/openssh/clientloop.c
==============================================================================
--- head/crypto/openssh/clientloop.c	Mon Nov 11 09:14:43 2013	(r257953)
+++ head/crypto/openssh/clientloop.c	Mon Nov 11 09:19:58 2013	(r257954)
@@ -1,4 +1,4 @@
-/* $OpenBSD: clientloop.c,v 1.253 2013/06/07 15:37:52 dtucker Exp $ */
+/* $OpenBSD: clientloop.c,v 1.255 2013/11/08 00:39:15 djm Exp $ */
 /* $FreeBSD$ */
 /*
  * Author: Tatu Ylonen <ylo@cs.hut.fi>
@@ -838,7 +838,7 @@ void
 client_expect_confirm(int id, const char *request,
     enum confirm_action action)
 {
-	struct channel_reply_ctx *cr = xmalloc(sizeof(*cr));
+	struct channel_reply_ctx *cr = xcalloc(1, sizeof(*cr));
 
 	cr->request_type = request;
 	cr->action = action;
@@ -861,7 +861,7 @@ client_register_global_confirm(global_co
 		return;
 	}
 
-	gc = xmalloc(sizeof(*gc));
+	gc = xcalloc(1, sizeof(*gc));
 	gc->cb = cb;
 	gc->ctx = ctx;
 	gc->ref_count = 1;
@@ -1439,7 +1439,7 @@ client_new_escape_filter_ctx(int escape_
 {
 	struct escape_filter_ctx *ret;
 
-	ret = xmalloc(sizeof(*ret));
+	ret = xcalloc(1, sizeof(*ret));
 	ret->escape_pending = 0;
 	ret->escape_char = escape_char;
 	return (void *)ret;

Modified: head/crypto/openssh/contrib/caldera/openssh.spec
==============================================================================
--- head/crypto/openssh/contrib/caldera/openssh.spec	Mon Nov 11 09:14:43 2013	(r257953)
+++ head/crypto/openssh/contrib/caldera/openssh.spec	Mon Nov 11 09:19:58 2013	(r257954)
@@ -16,7 +16,7 @@
 
 #old cvs stuff.  please update before use.  may be deprecated.
 %define use_stable	1
-%define version 	6.3p1
+%define version 	6.4p1
 %if %{use_stable}
   %define cvs		%{nil}
   %define release 	1
@@ -363,4 +363,4 @@ fi
 * Mon Jan 01 1998 ...
 Template Version: 1.31
 
-$Id: openssh.spec,v 1.80 2013/07/25 02:34:00 djm Exp $
+$Id: openssh.spec,v 1.80.4.1 2013/11/08 01:36:19 djm Exp $

Modified: head/crypto/openssh/contrib/redhat/openssh.spec
==============================================================================
--- head/crypto/openssh/contrib/redhat/openssh.spec	Mon Nov 11 09:14:43 2013	(r257953)
+++ head/crypto/openssh/contrib/redhat/openssh.spec	Mon Nov 11 09:19:58 2013	(r257954)
@@ -1,4 +1,4 @@
-%define ver 6.3p1
+%define ver 6.4p1
 %define rel 1
 
 # OpenSSH privilege separation requires a user & group ID

Modified: head/crypto/openssh/contrib/suse/openssh.spec
==============================================================================
--- head/crypto/openssh/contrib/suse/openssh.spec	Mon Nov 11 09:14:43 2013	(r257953)
+++ head/crypto/openssh/contrib/suse/openssh.spec	Mon Nov 11 09:19:58 2013	(r257954)
@@ -13,7 +13,7 @@
 
 Summary:	OpenSSH, a free Secure Shell (SSH) protocol implementation
 Name:		openssh
-Version:	6.3p1
+Version:	6.4p1
 URL:		http://www.openssh.com/
 Release:	1
 Source0:	openssh-%{version}.tar.gz

Modified: head/crypto/openssh/gss-genr.c
==============================================================================
--- head/crypto/openssh/gss-genr.c	Mon Nov 11 09:14:43 2013	(r257953)
+++ head/crypto/openssh/gss-genr.c	Mon Nov 11 09:19:58 2013	(r257954)
@@ -1,4 +1,4 @@
-/* $OpenBSD: gss-genr.c,v 1.21 2013/05/17 00:13:13 djm Exp $ */
+/* $OpenBSD: gss-genr.c,v 1.22 2013/11/08 00:39:15 djm Exp $ */
 
 /*
  * Copyright (c) 2001-2007 Simon Wilkinson. All rights reserved.
@@ -62,7 +62,7 @@ ssh_gssapi_set_oid_data(Gssctxt *ctx, vo
 		free(ctx->oid->elements);
 		free(ctx->oid);
 	}
-	ctx->oid = xmalloc(sizeof(gss_OID_desc));
+	ctx->oid = xcalloc(1, sizeof(gss_OID_desc));
 	ctx->oid->length = len;
 	ctx->oid->elements = xmalloc(len);
 	memcpy(ctx->oid->elements, data, len);

Modified: head/crypto/openssh/monitor_mm.c
==============================================================================
--- head/crypto/openssh/monitor_mm.c	Mon Nov 11 09:14:43 2013	(r257953)
+++ head/crypto/openssh/monitor_mm.c	Mon Nov 11 09:19:58 2013	(r257954)
@@ -1,4 +1,4 @@
-/* $OpenBSD: monitor_mm.c,v 1.17 2013/05/17 00:13:13 djm Exp $ */
+/* $OpenBSD: monitor_mm.c,v 1.18 2013/11/08 00:39:15 djm Exp $ */
 /*
  * Copyright 2002 Niels Provos <provos@citi.umich.edu>
  * All rights reserved.
@@ -65,7 +65,7 @@ mm_make_entry(struct mm_master *mm, stru
 	struct mm_share *tmp, *tmp2;
 
 	if (mm->mmalloc == NULL)
-		tmp = xmalloc(sizeof(struct mm_share));
+		tmp = xcalloc(1, sizeof(struct mm_share));
 	else
 		tmp = mm_xmalloc(mm->mmalloc, sizeof(struct mm_share));
 	tmp->address = address;
@@ -88,7 +88,7 @@ mm_create(struct mm_master *mmalloc, siz
 	struct mm_master *mm;
 
 	if (mmalloc == NULL)
-		mm = xmalloc(sizeof(struct mm_master));
+		mm = xcalloc(1, sizeof(struct mm_master));
 	else
 		mm = mm_xmalloc(mmalloc, sizeof(struct mm_master));
 
@@ -161,6 +161,7 @@ mm_xmalloc(struct mm_master *mm, size_t 
 	address = mm_malloc(mm, size);
 	if (address == NULL)
 		fatal("%s: mm_malloc(%lu)", __func__, (u_long)size);
+	memset(address, 0, size);
 	return (address);
 }
 

Modified: head/crypto/openssh/monitor_wrap.c
==============================================================================
--- head/crypto/openssh/monitor_wrap.c	Mon Nov 11 09:14:43 2013	(r257953)
+++ head/crypto/openssh/monitor_wrap.c	Mon Nov 11 09:19:58 2013	(r257954)
@@ -1,4 +1,4 @@
-/* $OpenBSD: monitor_wrap.c,v 1.76 2013/05/17 00:13:13 djm Exp $ */
+/* $OpenBSD: monitor_wrap.c,v 1.77 2013/11/06 16:52:11 markus Exp $ */
 /*
  * Copyright 2002 Niels Provos <provos@citi.umich.edu>
  * Copyright 2002 Markus Friedl <markus@openbsd.org>
@@ -482,7 +482,7 @@ mm_newkeys_from_blob(u_char *blob, int b
 	buffer_init(&b);
 	buffer_append(&b, blob, blen);
 
-	newkey = xmalloc(sizeof(*newkey));
+	newkey = xcalloc(1, sizeof(*newkey));
 	enc = &newkey->enc;
 	mac = &newkey->mac;
 	comp = &newkey->comp;

Modified: head/crypto/openssh/packet.c
==============================================================================
--- head/crypto/openssh/packet.c	Mon Nov 11 09:14:43 2013	(r257953)
+++ head/crypto/openssh/packet.c	Mon Nov 11 09:19:58 2013	(r257954)
@@ -1,4 +1,4 @@
-/* $OpenBSD: packet.c,v 1.188 2013/07/12 00:19:58 djm Exp $ */
+/* $OpenBSD: packet.c,v 1.189 2013/11/08 00:39:15 djm Exp $ */
 /*
  * Author: Tatu Ylonen <ylo@cs.hut.fi>
  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -999,7 +999,7 @@ packet_send2(void)
 		    (type == SSH2_MSG_SERVICE_REQUEST) ||
 		    (type == SSH2_MSG_SERVICE_ACCEPT)) {
 			debug("enqueue packet: %u", type);
-			p = xmalloc(sizeof(*p));
+			p = xcalloc(1, sizeof(*p));
 			p->type = type;
 			memcpy(&p->payload, &active_state->outgoing_packet,
 			    sizeof(Buffer));

Modified: head/crypto/openssh/schnorr.c
==============================================================================
--- head/crypto/openssh/schnorr.c	Mon Nov 11 09:14:43 2013	(r257953)
+++ head/crypto/openssh/schnorr.c	Mon Nov 11 09:19:58 2013	(r257954)
@@ -1,4 +1,4 @@
-/* $OpenBSD: schnorr.c,v 1.7 2013/05/17 00:13:14 djm Exp $ */
+/* $OpenBSD: schnorr.c,v 1.8 2013/11/08 00:39:15 djm Exp $ */
 /* $FreeBSD$ */
 /*
  * Copyright (c) 2008 Damien Miller.  All rights reserved.
@@ -552,7 +552,7 @@ modp_group_from_g_and_safe_p(const char 
 {
 	struct modp_group *ret;
 
-	ret = xmalloc(sizeof(*ret));
+	ret = xcalloc(1, sizeof(*ret));
 	ret->p = ret->q = ret->g = NULL;
 	if (BN_hex2bn(&ret->p, grp_p) == 0 ||
 	    BN_hex2bn(&ret->g, grp_g) == 0)

Modified: head/crypto/openssh/sftp-client.c
==============================================================================
--- head/crypto/openssh/sftp-client.c	Mon Nov 11 09:14:43 2013	(r257953)
+++ head/crypto/openssh/sftp-client.c	Mon Nov 11 09:19:58 2013	(r257954)
@@ -1,4 +1,4 @@
-/* $OpenBSD: sftp-client.c,v 1.101 2013/07/25 00:56:51 djm Exp $ */
+/* $OpenBSD: sftp-client.c,v 1.108 2013/11/08 00:39:15 djm Exp $ */
 /*
  * Copyright (c) 2001-2004 Damien Miller <djm@openbsd.org>
  *
@@ -471,7 +471,7 @@ do_lsreaddir(struct sftp_conn *conn, cha
 
 	if (dir) {
 		ents = 0;
-		*dir = xmalloc(sizeof(**dir));
+		*dir = xcalloc(1, sizeof(**dir));
 		(*dir)[0] = NULL;
 	}
 
@@ -545,7 +545,7 @@ do_lsreaddir(struct sftp_conn *conn, cha
 
 			if (dir) {
 				*dir = xrealloc(*dir, ents + 2, sizeof(**dir));
-				(*dir)[ents] = xmalloc(sizeof(***dir));
+				(*dir)[ents] = xcalloc(1, sizeof(***dir));
 				(*dir)[ents]->filename = xstrdup(filename);
 				(*dir)[ents]->longname = xstrdup(longname);
 				memcpy(&(*dir)[ents]->a, a, sizeof(*a));
@@ -564,7 +564,7 @@ do_lsreaddir(struct sftp_conn *conn, cha
 	/* Don't return partial matches on interrupt */
 	if (interrupted && dir != NULL && *dir != NULL) {
 		free_sftp_dirents(*dir);
-		*dir = xmalloc(sizeof(**dir));
+		*dir = xcalloc(1, sizeof(**dir));
 		**dir = NULL;
 	}
 
@@ -1105,7 +1105,7 @@ do_download(struct sftp_conn *conn, char
 			    (unsigned long long)offset,
 			    (unsigned long long)offset + buflen - 1,
 			    num_req, max_req);
-			req = xmalloc(sizeof(*req));
+			req = xcalloc(1, sizeof(*req));
 			req->id = conn->msg_id++;
 			req->len = buflen;
 			req->offset = offset;
@@ -1463,7 +1463,7 @@ do_upload(struct sftp_conn *conn, char *
 			    strerror(errno));
 
 		if (len != 0) {
-			ack = xmalloc(sizeof(*ack));
+			ack = xcalloc(1, sizeof(*ack));
 			ack->id = ++id;
 			ack->offset = offset;
 			ack->len = len;

Modified: head/crypto/openssh/sftp-glob.c
==============================================================================
--- head/crypto/openssh/sftp-glob.c	Mon Nov 11 09:14:43 2013	(r257953)
+++ head/crypto/openssh/sftp-glob.c	Mon Nov 11 09:19:58 2013	(r257954)
@@ -1,4 +1,4 @@
-/* $OpenBSD: sftp-glob.c,v 1.24 2013/05/17 00:13:14 djm Exp $ */
+/* $OpenBSD: sftp-glob.c,v 1.25 2013/11/08 00:39:15 djm Exp $ */
 /*
  * Copyright (c) 2001-2004 Damien Miller <djm@openbsd.org>
  *
@@ -48,7 +48,7 @@ fudge_opendir(const char *path)
 {
 	struct SFTP_OPENDIR *r;
 
-	r = xmalloc(sizeof(*r));
+	r = xcalloc(1, sizeof(*r));
 
 	if (do_readdir(cur.conn, (char *)path, &r->dir)) {
 		free(r);

Modified: head/crypto/openssh/sftp-server.0
==============================================================================
--- head/crypto/openssh/sftp-server.0	Mon Nov 11 09:14:43 2013	(r257953)
+++ head/crypto/openssh/sftp-server.0	Mon Nov 11 09:19:58 2013	(r257954)
@@ -61,9 +61,8 @@ DESCRIPTION
 SEE ALSO
      sftp(1), ssh(1), sshd_config(5), sshd(8)
 
-     T. Ylonen and S. Lehtinen, SSH File Transfer Protocol,
-     draft-ietf-secsh-filexfer-02.txt, October 2001, work in progress
-     material.
+     T. Ylonen and S. Lehtinen, SSH File Transfer Protocol, draft-ietf-secsh-
+     filexfer-02.txt, October 2001, work in progress material.
 
 HISTORY
      sftp-server first appeared in OpenBSD 2.8.

Modified: head/crypto/openssh/sftp.0
==============================================================================
--- head/crypto/openssh/sftp.0	Mon Nov 11 09:14:43 2013	(r257953)
+++ head/crypto/openssh/sftp.0	Mon Nov 11 09:19:58 2013	(r257954)
@@ -342,8 +342,7 @@ SEE ALSO
      ftp(1), ls(1), scp(1), ssh(1), ssh-add(1), ssh-keygen(1), glob(3),
      ssh_config(5), sftp-server(8), sshd(8)
 
-     T. Ylonen and S. Lehtinen, SSH File Transfer Protocol,
-     draft-ietf-secsh-filexfer-00.txt, January 2001, work in progress
-     material.
+     T. Ylonen and S. Lehtinen, SSH File Transfer Protocol, draft-ietf-secsh-
+     filexfer-00.txt, January 2001, work in progress material.
 
 OpenBSD 5.4                      July 25, 2013                     OpenBSD 5.4

Modified: head/crypto/openssh/ssh_config
==============================================================================
--- head/crypto/openssh/ssh_config	Mon Nov 11 09:14:43 2013	(r257953)
+++ head/crypto/openssh/ssh_config	Mon Nov 11 09:19:58 2013	(r257954)
@@ -48,4 +48,4 @@
 #   ProxyCommand ssh -q -W %h:%p gateway.example.com
 #   RekeyLimit 1G 1h
 #   VerifyHostKeyDNS yes
-#   VersionAddendum FreeBSD-20130918
+#   VersionAddendum FreeBSD-20131111

Modified: head/crypto/openssh/ssh_config.5
==============================================================================
--- head/crypto/openssh/ssh_config.5	Mon Nov 11 09:14:43 2013	(r257953)
+++ head/crypto/openssh/ssh_config.5	Mon Nov 11 09:19:58 2013	(r257954)
@@ -1259,7 +1259,7 @@ See also VERIFYING HOST KEYS in
 Specifies a string to append to the regular version string to identify
 OS- or site-specific modifications.
 The default is
-.Dq FreeBSD-20130918 .
+.Dq FreeBSD-20131111 .
 .It Cm VisualHostKey
 If this flag is set to
 .Dq yes ,

Modified: head/crypto/openssh/sshd_config
==============================================================================
--- head/crypto/openssh/sshd_config	Mon Nov 11 09:14:43 2013	(r257953)
+++ head/crypto/openssh/sshd_config	Mon Nov 11 09:19:58 2013	(r257954)
@@ -118,7 +118,7 @@
 #MaxStartups 10:30:100
 #PermitTunnel no
 #ChrootDirectory none
-#VersionAddendum FreeBSD-20130918
+#VersionAddendum FreeBSD-20131111
 
 # no default banner path
 #Banner none

Modified: head/crypto/openssh/sshd_config.5
==============================================================================
--- head/crypto/openssh/sshd_config.5	Mon Nov 11 09:14:43 2013	(r257953)
+++ head/crypto/openssh/sshd_config.5	Mon Nov 11 09:19:58 2013	(r257954)
@@ -1217,7 +1217,7 @@ restrictions.
 Optionally specifies additional text to append to the SSH protocol banner
 sent by the server upon connection.
 The default is
-.Dq FreeBSD-20130918 .
+.Dq FreeBSD-20131111 .
 .It Cm X11DisplayOffset
 Specifies the first display number available for
 .Xr sshd 8 Ns 's

Modified: head/crypto/openssh/umac.c
==============================================================================
--- head/crypto/openssh/umac.c	Mon Nov 11 09:14:43 2013	(r257953)
+++ head/crypto/openssh/umac.c	Mon Nov 11 09:19:58 2013	(r257954)
@@ -1,4 +1,4 @@
-/* $OpenBSD: umac.c,v 1.7 2013/07/22 05:00:17 djm Exp $ */
+/* $OpenBSD: umac.c,v 1.8 2013/11/08 00:39:15 djm Exp $ */
 /* -----------------------------------------------------------------------
  * 
  * umac.c -- C Implementation UMAC Message Authentication
@@ -1227,7 +1227,7 @@ struct umac_ctx *umac_new(const u_char k
     size_t bytes_to_add;
     aes_int_key prf_key;
     
-    octx = ctx = xmalloc(sizeof(*ctx) + ALLOC_BOUNDARY);
+    octx = ctx = xcalloc(1, sizeof(*ctx) + ALLOC_BOUNDARY);
     if (ctx) {
         if (ALLOC_BOUNDARY) {
             bytes_to_add = ALLOC_BOUNDARY -

Modified: head/crypto/openssh/version.h
==============================================================================
--- head/crypto/openssh/version.h	Mon Nov 11 09:14:43 2013	(r257953)
+++ head/crypto/openssh/version.h	Mon Nov 11 09:19:58 2013	(r257954)
@@ -1,10 +1,10 @@
-/* $OpenBSD: version.h,v 1.67 2013/07/25 00:57:37 djm Exp $ */
+/* $OpenBSD: version.h,v 1.68 2013/11/08 01:38:11 djm Exp $ */
 /* $FreeBSD$ */
 
-#define SSH_VERSION	"OpenSSH_6.3"
+#define SSH_VERSION	"OpenSSH_6.4"
 
 #define SSH_PORTABLE	"p1"
 #define SSH_RELEASE	SSH_VERSION SSH_PORTABLE
 
-#define SSH_VERSION_FREEBSD	"FreeBSD-20130918"
+#define SSH_VERSION_FREEBSD	"FreeBSD-20131111"
 #define SSH_VERSION_HPN		"_hpn13v11"

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 09:41:26 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 609AEA28;
 Mon, 11 Nov 2013 09:41:26 +0000 (UTC) (envelope-from des@des.no)
Received: from smtp.des.no (smtp.des.no [194.63.250.102])
 by mx1.freebsd.org (Postfix) with ESMTP id 1F61E276F;
 Mon, 11 Nov 2013 09:41:25 +0000 (UTC)
Received: from nine.des.no (smtp.des.no [194.63.250.102])
 by smtp-int.des.no (Postfix) with ESMTP id C609D6394;
 Mon, 11 Nov 2013 09:41:24 +0000 (UTC)
Received: by nine.des.no (Postfix, from userid 1001)
 id 5612F16F5; Mon, 11 Nov 2013 10:41:28 +0100 (CET)
From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= <des@des.no>
To: Bryan Drewery <bdrewery@FreeBSD.org>
Subject: Re: this breaks builds of head on stable/9 (Re: svn commit: r257268 -
 head/gnu/usr.bin/binutils/ld
References: <CA+hQ2+h3LA+uk6RQg5a6QHAEedEZPZ=RUbLCZ1ZqFvNNi3EAAg@mail.gmail.com>
 <527310B6.5070700@FreeBSD.org>
Date: Mon, 11 Nov 2013 10:41:28 +0100
In-Reply-To: <527310B6.5070700@FreeBSD.org> (Bryan Drewery's message of "Thu, 
 31 Oct 2013 21:23:50 -0500")
Message-ID: <86fvr3xol3.fsf@nine.des.no>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (berkeley-unix)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org,
 Brooks Davis <brooks@freebsd.org>, Luigi Rizzo <rizzo@iet.unipi.it>,
 src-committers@freebsd.org
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 09:41:26 -0000

Bryan Drewery <bdrewery@FreeBSD.org> writes:
> I see errors in libkrb5 with -j32 quite often lately. Are you building
> with high -j?

That's unrelated.  There's a race in the krb5 build where multiple
components depend on the same generated header file (spnego_something).
With high -j, it is possible for these Makefiles to run asn1_compile
simultaneously, resulting in an empty header file.  Since an empty file
is valid, the compiler doesn't react until much later, when a different
part of the code references symbols that should have been declared in
the now-empty header.

DES
--=20
Dag-Erling Sm=C3=B8rgrav - des@des.no

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 09:47:35 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id EA814C04;
 Mon, 11 Nov 2013 09:47:34 +0000 (UTC)
 (envelope-from kevlo@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id D526B27BF;
 Mon, 11 Nov 2013 09:47:34 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAB9lYg4083891;
 Mon, 11 Nov 2013 09:47:34 GMT (envelope-from kevlo@svn.freebsd.org)
Received: (from kevlo@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAB9lYpe083887;
 Mon, 11 Nov 2013 09:47:34 GMT (envelope-from kevlo@svn.freebsd.org)
Message-Id: <201311110947.rAB9lYpe083887@svn.freebsd.org>
From: Kevin Lo <kevlo@FreeBSD.org>
Date: Mon, 11 Nov 2013 09:47:34 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257955 - in head/sys/dev/usb: . wlan
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 09:47:35 -0000

Author: kevlo
Date: Mon Nov 11 09:47:33 2013
New Revision: 257955
URL: http://svnweb.freebsd.org/changeset/base/257955

Log:
  Add support for the MediaTek/Ralink RT5370/RT5372 chipset.
  
  Tested with the TP-Link TL-WN727N (RT5370) and the D-Link DWA-140 (RT5372)
  on i386/amd64/arm with WPA.

Modified:
  head/sys/dev/usb/usbdevs
  head/sys/dev/usb/wlan/if_run.c
  head/sys/dev/usb/wlan/if_runreg.h
  head/sys/dev/usb/wlan/if_runvar.h

Modified: head/sys/dev/usb/usbdevs
==============================================================================
--- head/sys/dev/usb/usbdevs	Mon Nov 11 09:19:58 2013	(r257954)
+++ head/sys/dev/usb/usbdevs	Mon Nov 11 09:47:33 2013	(r257955)
@@ -1553,6 +1553,7 @@ product DLINK DWLG122		0x3c00	DWL-G122 b
 product DLINK DUBE100B1		0x3c05	DUB-E100 rev B1
 product DLINK RT2870		0x3c09	RT2870
 product DLINK RT3072		0x3c0a	RT3072
+product DLINK DWA140B3		0x3c15	DWA-140 rev B3
 product DLINK DWA127		0x3c1b	DWA-127 Wireless Adapter
 product DLINK DSB650C		0x4000	10Mbps Ethernet
 product DLINK DSB650TX1		0x4001	10/100 Ethernet

Modified: head/sys/dev/usb/wlan/if_run.c
==============================================================================
--- head/sys/dev/usb/wlan/if_run.c	Mon Nov 11 09:19:58 2013	(r257954)
+++ head/sys/dev/usb/wlan/if_run.c	Mon Nov 11 09:47:33 2013	(r257955)
@@ -20,7 +20,7 @@
 __FBSDID("$FreeBSD$");
 
 /*-
- * Ralink Technology RT2700U/RT2800U/RT3000U chipset driver.
+ * Ralink Technology RT2700U/RT2800U/RT3000U/RT3900E chipset driver.
  * http://www.ralinktech.com/
  */
 
@@ -75,8 +75,6 @@ __FBSDID("$FreeBSD$");
 #include <dev/usb/wlan/if_runreg.h>
 #include <dev/usb/wlan/if_runvar.h>
 
-#define	N(_a) ((int)(sizeof((_a)) / sizeof((_a)[0])))
-
 #ifdef	USB_DEBUG
 #define RUN_DEBUG
 #endif
@@ -174,6 +172,7 @@ static const STRUCT_USB_HOST_ID run_devs
     RUN_DEV(DLINK,		RT2870),
     RUN_DEV(DLINK,		RT3072),
     RUN_DEV(DLINK,		DWA127),
+    RUN_DEV(DLINK,		DWA140B3),
     RUN_DEV(DLINK2,		DWA130),
     RUN_DEV(DLINK2,		RT2870_1),
     RUN_DEV(DLINK2,		RT2870_2),
@@ -257,6 +256,7 @@ static const STRUCT_USB_HOST_ID run_devs
     RUN_DEV(RALINK,		RT3072),
     RUN_DEV(RALINK,		RT3370),
     RUN_DEV(RALINK,		RT3572),
+    RUN_DEV(RALINK,		RT5370),
     RUN_DEV(RALINK,		RT8070),
     RUN_DEV(SAMSUNG,		WIS09ABGN),
     RUN_DEV(SAMSUNG2,		RT2870_1),
@@ -350,7 +350,7 @@ static int	run_rt3070_rf_write(struct ru
 static int	run_bbp_read(struct run_softc *, uint8_t, uint8_t *);
 static int	run_bbp_write(struct run_softc *, uint8_t, uint8_t);
 static int	run_mcu_cmd(struct run_softc *, uint8_t, uint16_t);
-static const char *run_get_rf(int);
+static const char *run_get_rf(uint16_t);
 static int	run_read_eeprom(struct run_softc *);
 static struct ieee80211_node *run_node_alloc(struct ieee80211vap *,
 			    const uint8_t mac[IEEE80211_ADDR_LEN]);
@@ -362,7 +362,7 @@ static void	run_key_update_begin(struct 
 static void	run_key_update_end(struct ieee80211vap *);
 static void	run_key_set_cb(void *);
 static int	run_key_set(struct ieee80211vap *, struct ieee80211_key *,
-			    const uint8_t mac[IEEE80211_ADDR_LEN]);
+		    const uint8_t mac[IEEE80211_ADDR_LEN]);
 static void	run_key_delete_cb(void *);
 static int	run_key_delete(struct ieee80211vap *, struct ieee80211_key *);
 static void	run_ratectl_to(void *);
@@ -394,6 +394,7 @@ static void	run_set_rx_antenna(struct ru
 static void	run_rt2870_set_chan(struct run_softc *, u_int);
 static void	run_rt3070_set_chan(struct run_softc *, u_int);
 static void	run_rt3572_set_chan(struct run_softc *, u_int);
+static void	run_rt5390_set_chan(struct run_softc *, u_int);
 static int	run_set_chan(struct run_softc *, struct ieee80211_channel *);
 static void	run_set_channel(struct ieee80211com *);
 static void	run_scan_start(struct ieee80211com *);
@@ -417,12 +418,15 @@ static void	run_update_mcast(struct ifne
 static int8_t	run_rssi2dbm(struct run_softc *, uint8_t, uint8_t);
 static void	run_update_promisc_locked(struct ifnet *);
 static void	run_update_promisc(struct ifnet *);
+static void	run_rt5390_bbp_init(struct run_softc *);
 static int	run_bbp_init(struct run_softc *);
 static int	run_rt3070_rf_init(struct run_softc *);
+static void	run_rt5390_rf_init(struct run_softc *);
 static int	run_rt3070_filter_calib(struct run_softc *, uint8_t, uint8_t,
 		    uint8_t *);
 static void	run_rt3070_rf_setup(struct run_softc *);
 static int	run_txrx_enable(struct run_softc *);
+static void	run_adjust_freq_offset(struct run_softc *);
 static void	run_init(void *);
 static void	run_init_locked(struct run_softc *);
 static void	run_stop(void *);
@@ -440,6 +444,8 @@ static const struct {
 	uint8_t	val;
 } rt2860_def_bbp[] = {
 	RT2860_DEF_BBP
+},rt5390_def_bbp[] = {
+	RT5390_DEF_BBP
 };
 
 static const struct rfprog {
@@ -462,6 +468,10 @@ static const struct {
 	RT3070_DEF_RF
 },rt3572_def_rf[] = {
 	RT3572_DEF_RF
+},rt5390_def_rf[] = {
+	RT5390_DEF_RF
+},rt5392_def_rf[] = {
+	RT5392_DEF_RF
 };
 
 static const struct usb_config run_config[RUN_N_XFER] = {
@@ -665,7 +675,7 @@ run_attach(device_t self)
 	    sc->rf_rev == RT2860_RF_2850 ||
 	    sc->rf_rev == RT3070_RF_3052) {
 		/* set supported .11a rates */
-		for (i = 14; i < N(rt2860_rf2850); i++) {
+		for (i = 14; i < nitems(rt2860_rf2850); i++) {
 			uint8_t chan = rt2860_rf2850[i].chan;
 			ic->ic_channels[ic->ic_nchans].ic_freq =
 			    ieee80211_ieee2mhz(chan, IEEE80211_CHAN_A);
@@ -1170,32 +1180,13 @@ run_write_region_1(struct run_softc *sc,
 	return (error);
 #else
 	usb_device_request_t req;
-	int error = 0;
 
-	/*
-	 * NOTE: It appears the WRITE_REGION_1 command cannot be
-	 * passed a huge amount of data, which will crash the
-	 * firmware. Limit amount of data passed to 64-bytes at a
-	 * time:
-	 */
-	while (len > 0) {
-		int delta = 64;
-		if (delta > len)
-			delta = len;
-
-		req.bmRequestType = UT_WRITE_VENDOR_DEVICE;
-		req.bRequest = RT2870_WRITE_REGION_1;
-		USETW(req.wValue, 0);
-		USETW(req.wIndex, reg);
-		USETW(req.wLength, delta);
-		error = run_do_request(sc, &req, __DECONST(uint8_t *, buf));
-		if (error != 0)
-			break;
-		reg += delta;
-		buf += delta;
-		len -= delta;
-	}
-	return (error);
+	req.bmRequestType = UT_WRITE_VENDOR_DEVICE;
+	req.bRequest = RT2870_WRITE_REGION_1;
+	USETW(req.wValue, 0);
+	USETW(req.wIndex, reg);
+	USETW(req.wLength, len);
+	return (run_do_request(sc, &req, buf));
 #endif
 }
 
@@ -1453,7 +1444,7 @@ b4inc(uint32_t b32, int8_t delta)
 }
 
 static const char *
-run_get_rf(int rev)
+run_get_rf(uint16_t rev)
 {
 	switch (rev) {
 	case RT2860_RF_2820:	return "RT2820";
@@ -1465,6 +1456,8 @@ run_get_rf(int rev)
 	case RT3070_RF_3021:	return "RT3021";
 	case RT3070_RF_3022:	return "RT3022";
 	case RT3070_RF_3052:	return "RT3052";
+	case RT5390_RF_5370:	return "RT5370";
+	case RT5390_RF_5372:	return "RT5372";
 	}
 	return ("unknown");
 }
@@ -1501,21 +1494,25 @@ run_read_eeprom(struct run_softc *sc)
 	sc->sc_bssid[4] = val & 0xff;
 	sc->sc_bssid[5] = val >> 8;
 
-	/* read vender BBP settings */
-	for (i = 0; i < 10; i++) {
-		run_srom_read(sc, RT2860_EEPROM_BBP_BASE + i, &val);
-		sc->bbp[i].val = val & 0xff;
-		sc->bbp[i].reg = val >> 8;
-		DPRINTF("BBP%d=0x%02x\n", sc->bbp[i].reg, sc->bbp[i].val);
-	}
-	if (sc->mac_ver >= 0x3071) {
-		/* read vendor RF settings */
+	if (sc->mac_ver < 0x5390) {
+		/* read vender BBP settings */
 		for (i = 0; i < 10; i++) {
-			run_srom_read(sc, RT3071_EEPROM_RF_BASE + i, &val);
-			sc->rf[i].val = val & 0xff;
-			sc->rf[i].reg = val >> 8;
-			DPRINTF("RF%d=0x%02x\n", sc->rf[i].reg,
-			    sc->rf[i].val);
+			run_srom_read(sc, RT2860_EEPROM_BBP_BASE + i, &val);
+			sc->bbp[i].val = val & 0xff;
+			sc->bbp[i].reg = val >> 8;
+			DPRINTF("BBP%d=0x%02x\n", sc->bbp[i].reg,
+			    sc->bbp[i].val);
+		}
+		if (sc->mac_ver >= 0x3071) {
+			/* read vendor RF settings */
+			for (i = 0; i < 10; i++) {
+				run_srom_read(sc, RT3071_EEPROM_RF_BASE + i,
+				   &val);
+				sc->rf[i].val = val & 0xff;
+				sc->rf[i].reg = val >> 8;
+				DPRINTF("RF%d=0x%02x\n", sc->rf[i].reg,
+				    sc->rf[i].val);
+			}
 		}
 	}
 
@@ -1541,7 +1538,11 @@ run_read_eeprom(struct run_softc *sc)
 	    sc->leds, sc->led[0], sc->led[1], sc->led[2]);
 
 	/* read RF information */
-	run_srom_read(sc, RT2860_EEPROM_ANTENNA, &val);
+	if (sc->mac_ver >= 0x5390)
+		run_srom_read(sc, 0x00, &val);
+	else
+		run_srom_read(sc, RT2860_EEPROM_ANTENNA, &val);
+
 	if (val == 0xffff) {
 		DPRINTF("invalid EEPROM antenna info, using default\n");
 		if (sc->mac_ver == 0x3572) {
@@ -1561,11 +1562,15 @@ run_read_eeprom(struct run_softc *sc)
 			sc->nrxchains = 2;
 		}
 	} else {
-		sc->rf_rev = (val >> 8) & 0xf;
+		if (sc->mac_ver >= 0x5390) {
+			sc->rf_rev = val;
+			run_srom_read(sc, RT2860_EEPROM_ANTENNA, &val);
+		} else
+			sc->rf_rev = (val >> 8) & 0xf;
 		sc->ntxchains = (val >> 4) & 0xf;
 		sc->nrxchains = val & 0xf;
 	}
-	DPRINTF("EEPROM RF rev=0x%02x chains=%dT%dR\n",
+	DPRINTF("EEPROM RF rev=0x%04x chains=%dT%dR\n",
 	    sc->rf_rev, sc->ntxchains, sc->nrxchains);
 
 	/* check if RF supports automatic Tx access gain control */
@@ -1589,16 +1594,29 @@ run_read_eeprom(struct run_softc *sc)
 		sc->txpow1[i + 0] = (int8_t)(val & 0xff);
 		sc->txpow1[i + 1] = (int8_t)(val >> 8);
 
-		run_srom_read(sc, RT2860_EEPROM_PWR2GHZ_BASE2 + i / 2, &val);
-		sc->txpow2[i + 0] = (int8_t)(val & 0xff);
-		sc->txpow2[i + 1] = (int8_t)(val >> 8);
+		if (sc->mac_ver != 0x5390) {
+			run_srom_read(sc,
+			    RT2860_EEPROM_PWR2GHZ_BASE2 + i / 2, &val);
+			sc->txpow2[i + 0] = (int8_t)(val & 0xff);
+			sc->txpow2[i + 1] = (int8_t)(val >> 8);
+		}
 	}
 	/* fix broken Tx power entries */
 	for (i = 0; i < 14; i++) {
-		if (sc->txpow1[i] < 0 || sc->txpow1[i] > 31)
-			sc->txpow1[i] = 5;
-		if (sc->txpow2[i] < 0 || sc->txpow2[i] > 31)
-			sc->txpow2[i] = 5;
+		if (sc->mac_ver >= 0x5390) {
+			if (sc->txpow1[i] < 0 || sc->txpow1[i] > 27)
+				sc->txpow1[i] = 5;
+		} else {
+			if (sc->txpow1[i] < 0 || sc->txpow1[i] > 31)
+				sc->txpow1[i] = 5;
+		}
+		if (sc->mac_ver > 0x5390) {
+			if (sc->txpow2[i] < 0 || sc->txpow2[i] > 27)
+				sc->txpow2[i] = 5;
+		} else if (sc->mac_ver < 0x5390) {
+			if (sc->txpow2[i] < 0 || sc->txpow2[i] > 31)
+				sc->txpow2[i] = 5;
+		}
 		DPRINTF("chan %d: power1=%d, power2=%d\n",
 		    rt2860_rf2850[i].chan, sc->txpow1[i], sc->txpow2[i]);
 	}
@@ -3544,15 +3562,24 @@ run_select_chan_group(struct run_softc *
 	run_bbp_write(sc, 62, 0x37 - sc->lna[group]);
 	run_bbp_write(sc, 63, 0x37 - sc->lna[group]);
 	run_bbp_write(sc, 64, 0x37 - sc->lna[group]);
-	run_bbp_write(sc, 86, 0x00);
+	if (sc->mac_ver < 0x5390)
+		run_bbp_write(sc, 86, 0x00);
 
 	if (group == 0) {
 		if (sc->ext_2ghz_lna) {
-			run_bbp_write(sc, 82, 0x62);
-			run_bbp_write(sc, 75, 0x46);
+			if (sc->mac_ver >= 0x5390)
+				run_bbp_write(sc, 75, 0x52);
+			else {
+				run_bbp_write(sc, 82, 0x62);
+				run_bbp_write(sc, 75, 0x46);
+			}
 		} else {
-			run_bbp_write(sc, 82, 0x84);
-			run_bbp_write(sc, 75, 0x50);
+			if (sc->mac_ver >= 0x5390)
+				run_bbp_write(sc, 75, 0x50);
+			else {
+				run_bbp_write(sc, 82, 0x84);
+				run_bbp_write(sc, 75, 0x50);
+			}
 		}
 	} else {
 		if (sc->mac_ver == 0x3572)
@@ -3879,18 +3906,141 @@ run_rt3572_set_chan(struct run_softc *sc
 }
 
 static void
+run_rt5390_set_chan(struct run_softc *sc, u_int chan)
+{
+	int8_t txpow1, txpow2;
+	uint8_t rf;
+	int i;
+
+	/* find the settings for this channel (we know it exists) */
+	for (i = 0; rt2860_rf2850[i].chan != chan; i++);
+
+	/* use Tx power values from EEPROM */
+	txpow1 = sc->txpow1[i];
+	txpow2 = sc->txpow2[i];
+
+	run_rt3070_rf_write(sc, 8, rt3070_freqs[i].n);
+	run_rt3070_rf_write(sc, 9, rt3070_freqs[i].k & 0x0f);
+	run_rt3070_rf_read(sc, 11, &rf);
+	rf = (rf & ~0x03) | (rt3070_freqs[i].r & 0x03);
+	run_rt3070_rf_write(sc, 11, rf);
+
+	run_rt3070_rf_read(sc, 49, &rf);
+	rf = (rf & ~0x3f) | (txpow1 & 0x3f);
+	/* The valid range of the RF R49 is 0x00 to 0x27. */
+	if ((rf & 0x3f) > 0x27)
+		rf = (rf & ~0x3f) | 0x27;
+	run_rt3070_rf_write(sc, 49, rf);
+
+	if (sc->mac_ver == 0x5392) {
+		run_rt3070_rf_read(sc, 50, &rf);
+		rf = (rf & ~0x3f) | (txpow2 & 0x3f);
+		/* The valid range of the RF R50 is 0x00 to 0x27. */
+		if ((rf & 0x3f) > 0x27)
+			rf = (rf & ~0x3f) | 0x27;
+		run_rt3070_rf_write(sc, 50, rf);
+	}
+
+	run_rt3070_rf_read(sc, 1, &rf);
+	rf |= RT3070_RF_BLOCK | RT3070_PLL_PD | RT3070_RX0_PD | RT3070_TX0_PD;
+	if (sc->mac_ver == 0x5392)
+		rf |= RT3070_RX1_PD | RT3070_TX1_PD;
+	run_rt3070_rf_write(sc, 1, rf);
+
+	if (sc->mac_ver != 0x5392) {
+		run_rt3070_rf_read(sc, 2, &rf);
+		rf |= 0x80;
+		run_rt3070_rf_write(sc, 2, rf);
+		run_delay(sc, 10);
+		rf &= 0x7f;
+		run_rt3070_rf_write(sc, 2, rf);
+	}
+
+	run_adjust_freq_offset(sc);
+
+	if (sc->mac_ver == 0x5392) {
+		/* Fix for RT5392C. */
+		if (sc->mac_rev >= 0x0223) {
+			if ((chan >= 1) && (chan <= 4))
+				rf = 0x0f;
+			else if ((chan >= 5) && (chan <= 7))
+				rf = 0x0e;
+			else if ((chan >= 8) && (chan <= 14))
+				rf = 0x0d;
+			run_rt3070_rf_write(sc, 23, rf);
+
+			if ((chan >= 1) && (chan <= 4))
+				rf = 0x0c;
+			else if (chan == 5)
+				rf = 0x0b;
+			else if ((chan >= 6) && (chan <= 7))
+				rf = 0x0a;
+			else if ((chan >= 8) && (chan <= 10))
+				rf = 0x09;
+			else if ((chan >= 11) && (chan <= 14))
+				rf = 0x08;
+			run_rt3070_rf_write(sc, 59, rf);
+		} else {
+			if ((chan >= 1) && (chan <= 11))
+				rf = 0x0f;
+			else if ((chan >= 12) && (chan <= 14))
+				rf = 0x0b;
+			run_rt3070_rf_write(sc, 59, rf);
+		}
+	} else {
+		/* Fix for RT5390F. */
+		if (sc->mac_rev >= 0x0502) {
+			if ((chan >= 1) && (chan <= 11))
+				rf = 0x43;
+			else if ((chan >= 12) && (chan <= 14))
+				rf = 0x23;
+			run_rt3070_rf_write(sc, 55, rf);
+
+			if ((chan >= 1) && (chan <= 11))
+				rf = 0x0f;
+			else if (chan == 12)
+				rf = 0x0d;
+			else if ((chan >= 13) && (chan <= 14))
+				rf = 0x0b;
+			run_rt3070_rf_write(sc, 59, rf);
+		} else {
+			run_rt3070_rf_write(sc, 55, 0x44);
+			run_rt3070_rf_write(sc, 59, 0x8f);
+		}
+	}
+
+	/* Enable VCO calibration. */
+	run_rt3070_rf_read(sc, 3, &rf);
+	rf |= RT5390_VCOCAL;
+	run_rt3070_rf_write(sc, 3, rf);
+}
+
+static void
 run_set_rx_antenna(struct run_softc *sc, int aux)
 {
 	uint32_t tmp;
+	uint8_t bbp152;
 
 	if (aux) {
-		run_mcu_cmd(sc, RT2860_MCU_CMD_ANTSEL, 0);
-		run_read(sc, RT2860_GPIO_CTRL, &tmp);
-		run_write(sc, RT2860_GPIO_CTRL, (tmp & ~0x0808) | 0x08);
+		if (sc->rf_rev == RT5390_RF_5370) {
+			run_bbp_read(sc, 152, &bbp152);
+			run_bbp_write(sc, 152, bbp152 & ~0x80);
+		}
+		if (sc->rf_rev == RT3070_RF_3020) {
+			run_mcu_cmd(sc, RT2860_MCU_CMD_ANTSEL, 0);
+			run_read(sc, RT2860_GPIO_CTRL, &tmp);
+			run_write(sc, RT2860_GPIO_CTRL, (tmp & ~0x0808) | 0x08);
+		}
 	} else {
-		run_mcu_cmd(sc, RT2860_MCU_CMD_ANTSEL, 1);
-		run_read(sc, RT2860_GPIO_CTRL, &tmp);
-		run_write(sc, RT2860_GPIO_CTRL, tmp & ~0x0808);
+		if (sc->rf_rev == RT5390_RF_5370) {
+			run_bbp_read(sc, 152, &bbp152);
+			run_bbp_write(sc, 152, bbp152 | 0x80);
+		}
+		if (sc->rf_rev == RT3070_RF_3020) {
+			run_mcu_cmd(sc, RT2860_MCU_CMD_ANTSEL, 1);
+			run_read(sc, RT2860_GPIO_CTRL, &tmp);
+			run_write(sc, RT2860_GPIO_CTRL, tmp & ~0x0808);
+		}
 	}
 }
 
@@ -3904,7 +4054,9 @@ run_set_chan(struct run_softc *sc, struc
 	if (chan == 0 || chan == IEEE80211_CHAN_ANY)
 		return (EINVAL);
 
-	if (sc->mac_ver == 0x3572)
+	if (sc->mac_ver >= 0x5390)
+		run_rt5390_set_chan(sc, chan);
+	else if (sc->mac_ver == 0x3572)
 		run_rt3572_set_chan(sc, chan);
 	else if (sc->mac_ver >= 0x3070)
 		run_rt3070_set_chan(sc, chan);
@@ -4184,7 +4336,8 @@ run_enable_tsf_sync(struct run_softc *sc
 	struct ieee80211vap *vap = TAILQ_FIRST(&ic->ic_vaps);
 	uint32_t tmp;
 
-	DPRINTF("rvp_id=%d ic_opmode=%d\n", RUN_VAP(vap)->rvp_id, ic->ic_opmode);
+	DPRINTF("rvp_id=%d ic_opmode=%d\n", RUN_VAP(vap)->rvp_id,
+	    ic->ic_opmode);
 
 	run_read(sc, RT2860_BCN_TIME_CFG, &tmp);
 	tmp &= ~0x1fffff;
@@ -4356,6 +4509,35 @@ run_rssi2dbm(struct run_softc *sc, uint8
 	return (-12 - delta - rssi);
 }
 
+static void
+run_rt5390_bbp_init(struct run_softc *sc)
+{
+	int i;
+	uint8_t bbp4;
+
+	/* Avoid data lost and CRC error. */
+	run_bbp_read(sc, 4, &bbp4);
+	run_bbp_write(sc, 4, bbp4 | 0x40);
+
+	for (i = 0; i < nitems(rt5390_def_bbp); i++) {
+		run_bbp_write(sc, rt5390_def_bbp[i].reg,
+		    rt5390_def_bbp[i].val);
+	}
+	if (sc->mac_ver == 0x5392) {
+		run_bbp_write(sc, 88, 0x90);
+		run_bbp_write(sc, 95, 0x9a);
+		run_bbp_write(sc, 98, 0x12);
+		run_bbp_write(sc, 106, 0x12);
+		run_bbp_write(sc, 134, 0xd0);
+		run_bbp_write(sc, 135, 0xf6);
+		run_bbp_write(sc, 148, 0x84);
+	}
+
+	/* Disable hardware antenna diversity. */
+	if (sc->mac_ver == 0x5390)
+		run_bbp_write(sc, 154, 0);
+}
+
 static int
 run_bbp_init(struct run_softc *sc)
 {
@@ -4373,9 +4555,13 @@ run_bbp_init(struct run_softc *sc)
 		return (ETIMEDOUT);
 
 	/* initialize BBP registers to default values */
-	for (i = 0; i < N(rt2860_def_bbp); i++) {
-		run_bbp_write(sc, rt2860_def_bbp[i].reg,
-		    rt2860_def_bbp[i].val);
+	if (sc->mac_ver >= 0x5390)
+		run_rt5390_bbp_init(sc);
+	else {
+		for (i = 0; i < nitems(rt2860_def_bbp); i++) {
+			run_bbp_write(sc, rt2860_def_bbp[i].reg,
+			    rt2860_def_bbp[i].val);
+		}
 	}
 
 	/* fix BBP84 for RT2860E */
@@ -4408,12 +4594,12 @@ run_rt3070_rf_init(struct run_softc *sc)
 
 	/* initialize RF registers to default value */
 	if (sc->mac_ver == 0x3572) {
-		for (i = 0; i < N(rt3572_def_rf); i++) {
+		for (i = 0; i < nitems(rt3572_def_rf); i++) {
 			run_rt3070_rf_write(sc, rt3572_def_rf[i].reg,
 			    rt3572_def_rf[i].val);
 		}
 	} else {
-		for (i = 0; i < N(rt3070_def_rf); i++) {
+		for (i = 0; i < nitems(rt3070_def_rf); i++) {
 			run_rt3070_rf_write(sc, rt3070_def_rf[i].reg,
 			    rt3070_def_rf[i].val);
 		}
@@ -4537,6 +4723,62 @@ run_rt3070_rf_init(struct run_softc *sc)
 	return (0);
 }
 
+static void
+run_rt5390_rf_init(struct run_softc *sc)
+{
+	uint32_t tmp;
+	uint8_t rf;
+	int i;
+
+	if (sc->mac_ver == 0x5392)
+		run_rt3070_rf_write(sc, 2, 0x80);
+	else {
+		run_rt3070_rf_read(sc, 2, &rf);
+		/* Toggle RF R2 to initiate calibration. */
+		run_rt3070_rf_write(sc, 2, rf | 0x80);
+		run_delay(sc, 10);
+		run_rt3070_rf_write(sc, 2, rf & ~0x80);
+	}
+
+	/* Initialize RF registers to default value. */
+	if (sc->mac_ver == 0x5392) {
+		for (i = 0; i < nitems(rt5392_def_rf); i++) {
+			run_rt3070_rf_write(sc, rt5392_def_rf[i].reg,
+			    rt5392_def_rf[i].val);
+		}
+		if (sc->mac_rev >= 0x0223) {
+			run_rt3070_rf_write(sc, 23, 0x0f);
+			run_rt3070_rf_write(sc, 24, 0x3e);
+			run_rt3070_rf_write(sc, 51, 0x32);
+			run_rt3070_rf_write(sc, 53, 0x22);
+			run_rt3070_rf_write(sc, 56, 0xc1);
+			run_rt3070_rf_write(sc, 59, 0x0f);
+		}
+	} else {
+		for (i = 0; i < nitems(rt5390_def_rf); i++) {
+			run_rt3070_rf_write(sc, rt5390_def_rf[i].reg,
+			    rt5390_def_rf[i].val);
+		}
+		if (sc->mac_rev >= 0x0502) {
+			run_rt3070_rf_write(sc, 6, 0xe0);
+			run_rt3070_rf_write(sc, 25, 0x80);
+			run_rt3070_rf_write(sc, 46, 0x73);
+			run_rt3070_rf_write(sc, 53, 0x00);
+			run_rt3070_rf_write(sc, 56, 0x42);
+			run_rt3070_rf_write(sc, 61, 0xd1);
+		}
+	}
+
+	sc->rf24_20mhz = 0x1f;	/* default value */
+	sc->rf24_40mhz = 0x2f;	/* default value */
+
+	if (sc->mac_rev < 0x0211)
+		run_rt3070_rf_write(sc, 27, 0x3);
+
+	run_read(sc, RT3070_OPT_14, &tmp);
+	run_write(sc, RT3070_OPT_14, tmp | 1);
+}
+
 static int
 run_rt3070_filter_calib(struct run_softc *sc, uint8_t init, uint8_t target,
     uint8_t *val)
@@ -4566,7 +4808,7 @@ run_rt3070_filter_calib(struct run_softc
 			break;
 	}
 	if (ntries == 100)
-		return ETIMEDOUT;
+		return (ETIMEDOUT);
 
 	/* set power and frequency of stopband test tone */
 	run_bbp_write(sc, 24, 0x06);
@@ -4608,7 +4850,45 @@ run_rt3070_rf_setup(struct run_softc *sc
 	uint8_t bbp, rf;
 	int i;
 
-	if (sc->mac_ver == 0x3572) {
+	if (sc->mac_ver >= 0x5390) {
+		if (sc->mac_rev >= 0x0211) {
+			/* Enable DC filter. */
+			run_bbp_write(sc, 103, 0xc0);
+
+			/* Improve power consumption. */
+			run_bbp_read(sc, 31, &bbp);
+			run_bbp_write(sc, 31, bbp & ~0x03);
+		}
+
+		run_bbp_read(sc, 138, &bbp);
+		if (sc->ntxchains == 1)
+			bbp |= 0x20;	/* turn off DAC1 */
+		if (sc->nrxchains == 1)
+			bbp &= ~0x02;	/* turn off ADC1 */
+		run_bbp_write(sc, 138, bbp);
+
+		run_rt3070_rf_read(sc, 38, &rf);
+		run_rt3070_rf_write(sc, 38, rf & ~RT5390_RX_LO1);
+
+		run_rt3070_rf_read(sc, 39, &rf);
+		run_rt3070_rf_write(sc, 39, rf & ~RT5390_RX_LO2);
+
+		/* Avoid data lost and CRC error. */
+		run_bbp_read(sc, 4, &bbp);
+		run_bbp_write(sc, 4, bbp | 0x40);
+
+		run_rt3070_rf_read(sc, 30, &rf);
+		rf = (rf & ~0x18) | 0x10;
+		run_rt3070_rf_write(sc, 30, rf);
+
+		run_write(sc, RT2860_TX_SW_CFG1, 0);
+		if (sc->mac_rev < 0x0211) {
+			run_write(sc, RT2860_TX_SW_CFG2,
+			    sc->patch_dac ? 0x2c : 0x0f);
+		} else
+			run_write(sc, RT2860_TX_SW_CFG2, 0);
+
+	} else if (sc->mac_ver == 0x3572) {
 		/* enable DC filter */
 		if (sc->mac_rev >= 0x0201)
 			run_bbp_write(sc, 103, 0xc0);
@@ -4672,7 +4952,7 @@ run_rt3070_rf_setup(struct run_softc *sc
 	}
 
 	/* initialize RF registers from ROM for >=RT3071*/
-	if (sc->mac_ver >= 0x3071) {
+	if (sc->mac_ver >= 0x3071 && sc->mac_ver < 0x5390) {
 		for (i = 0; i < 10; i++) {
 			if (sc->rf[i].reg == 0 || sc->rf[i].reg == 0xff)
 				continue;
@@ -4691,13 +4971,13 @@ run_txrx_enable(struct run_softc *sc)
 	run_write(sc, RT2860_MAC_SYS_CTRL, RT2860_MAC_TX_EN);
 	for (ntries = 0; ntries < 200; ntries++) {
 		if ((error = run_read(sc, RT2860_WPDMA_GLO_CFG, &tmp)) != 0)
-			return error;
+			return (error);
 		if ((tmp & (RT2860_TX_DMA_BUSY | RT2860_RX_DMA_BUSY)) == 0)
 			break;
 		run_delay(sc, 50);
 	}
 	if (ntries == 200)
-		return ETIMEDOUT;
+		return (ETIMEDOUT);
 
 	run_delay(sc, 50);
 
@@ -4728,6 +5008,20 @@ run_txrx_enable(struct run_softc *sc)
 }
 
 static void
+run_adjust_freq_offset(struct run_softc * sc)
+{
+	uint8_t rf, tmp;
+
+	run_rt3070_rf_read(sc, 17, &rf);
+	tmp = rf;
+	rf = (rf & ~0x7f) | (sc->freq & 0x7f);
+	rf = MIN(rf, 0x5f);
+
+	if (tmp != rf)
+		run_mcu_cmd(sc, 0x74, (tmp << 8 ) | rf);
+}
+
+static void
 run_init_locked(struct run_softc *sc)
 {
 	struct ifnet *ifp = sc->sc_ifp;
@@ -4800,13 +5094,20 @@ run_init_locked(struct run_softc *sc)
 		run_write(sc, RT2860_TX_PWR_CFG(ridx), sc->txpow20mhz[ridx]);
 	}
 
-	for (i = 0; i < N(rt2870_def_mac); i++)
+	for (i = 0; i < nitems(rt2870_def_mac); i++)
 		run_write(sc, rt2870_def_mac[i].reg, rt2870_def_mac[i].val);
 	run_write(sc, RT2860_WMM_AIFSN_CFG, 0x00002273);
 	run_write(sc, RT2860_WMM_CWMIN_CFG, 0x00002344);
 	run_write(sc, RT2860_WMM_CWMAX_CFG, 0x000034aa);
 
-	if (sc->mac_ver >= 0x3070) {
+	if (sc->mac_ver == 0x5392) {
+		run_write(sc, RT2860_TX_SW_CFG0, 0x00000404);
+		run_write(sc, RT2860_MAX_LEN_CFG, 0x00002fff);
+		run_write(sc, RT2860_HT_FBK_CFG1, 0xedcb4980);
+		run_write(sc, RT2860_LG_FBK_CFG0, 0xedcba322);
+	} else if (sc->mac_ver == 0x5390) {
+		run_write(sc, RT2860_TX_SW_CFG0, 0x00000404);
+	} else if (sc->mac_ver >= 0x3070) {
 		/* set delay of PA_PE assertion to 1us (unit of 0.25us) */
 		run_write(sc, RT2860_TX_SW_CFG0,
 		    4 << RT2860_DLY_PAPE_EN_SHIFT);
@@ -4863,14 +5164,16 @@ run_init_locked(struct run_softc *sc)
 	run_write(sc, RT2860_WMM_TXOP1_CFG, 48 << 16 | 96);
 
 	/* write vendor-specific BBP values (from EEPROM) */
-	for (i = 0; i < 10; i++) {
-		if (sc->bbp[i].reg == 0 || sc->bbp[i].reg == 0xff)
-			continue;
-		run_bbp_write(sc, sc->bbp[i].reg, sc->bbp[i].val);
+	if (sc->mac_ver < 0x5390) {
+		for (i = 0; i < 10; i++) {
+			if (sc->bbp[i].reg == 0 || sc->bbp[i].reg == 0xff)
+				continue;
+			run_bbp_write(sc, sc->bbp[i].reg, sc->bbp[i].val);
+		}
 	}
 
 	/* select Main antenna for 1T1R devices */
-	if (sc->rf_rev == RT3070_RF_3020)
+	if (sc->rf_rev == RT3070_RF_3020 || sc->rf_rev == RT5390_RF_5370)
 		run_set_rx_antenna(sc, 0);
 
 	/* send LEDs operating mode to microcontroller */
@@ -4878,7 +5181,9 @@ run_init_locked(struct run_softc *sc)
 	(void)run_mcu_cmd(sc, RT2860_MCU_CMD_LED2, sc->led[1]);
 	(void)run_mcu_cmd(sc, RT2860_MCU_CMD_LED3, sc->led[2]);
 
-	if (sc->mac_ver >= 0x3070)
+	if (sc->mac_ver >= 0x5390)
+		run_rt5390_rf_init(sc);
+	else if (sc->mac_ver >= 0x3070)
 		run_rt3070_rf_init(sc);
 
 	/* disable non-existing Rx chains */
@@ -4972,6 +5277,24 @@ run_stop(void *arg)
 		sc->rx_m = NULL;
 	}
 
+	/* Disable Tx/Rx DMA. */
+	if (run_read(sc, RT2860_WPDMA_GLO_CFG, &tmp) != 0)
+		return;
+	tmp &= ~(RT2860_RX_DMA_EN | RT2860_TX_DMA_EN);
+	run_write(sc, RT2860_WPDMA_GLO_CFG, tmp);
+
+        for (ntries = 0; ntries < 100; ntries++) {
+		if (run_read(sc, RT2860_WPDMA_GLO_CFG, &tmp) != 0)
+			return;
+		if ((tmp & (RT2860_TX_DMA_BUSY | RT2860_RX_DMA_BUSY)) == 0)
+				break;
+		run_delay(sc, 10);
+	}
+	if (ntries == 100) {
+		device_printf(sc->sc_dev, "timeout waiting for DMA engine\n");
+		return;
+	}
+
 	/* disable Tx/Rx */
 	run_read(sc, RT2860_MAC_SYS_CTRL, &tmp);
 	tmp &= ~(RT2860_MAC_RX_EN | RT2860_MAC_TX_EN);
@@ -4999,8 +5322,6 @@ run_stop(void *arg)
 
 	for (i = 0; i != RUN_EP_QUEUES; i++)
 		run_unsetup_tx_list(sc, &sc->sc_epq[i]);
-
-	return;
 }
 
 static void
@@ -5026,7 +5347,7 @@ static driver_t run_driver = {
 
 static devclass_t run_devclass;
 
-DRIVER_MODULE(run, uhub, run_driver, run_devclass, NULL, 0);
+DRIVER_MODULE(run, uhub, run_driver, run_devclass, NULL, NULL);
 MODULE_DEPEND(run, wlan, 1, 1, 1);
 MODULE_DEPEND(run, usb, 1, 1, 1);
 MODULE_DEPEND(run, firmware, 1, 1, 1);

Modified: head/sys/dev/usb/wlan/if_runreg.h
==============================================================================
--- head/sys/dev/usb/wlan/if_runreg.h	Mon Nov 11 09:19:58 2013	(r257954)
+++ head/sys/dev/usb/wlan/if_runreg.h	Mon Nov 11 09:47:33 2013	(r257955)
@@ -209,6 +209,7 @@
 #define RT2860_H2M_MAILBOX		0x7010
 #define RT2860_H2M_MAILBOX_CID		0x7014
 #define RT2860_H2M_MAILBOX_STATUS	0x701c
+#define RT2860_H2M_INTSRC		0x7024
 #define RT2860_H2M_BBPAGENT		0x7028
 #define RT2860_BCN_BASE(vap)		(0x7800 + (vap) * 512)
 
@@ -688,6 +689,7 @@
 
 /* possible flags for RT3020 RF register 1 */
 #define RT3070_RF_BLOCK	(1 << 0)
+#define RT3070_PLL_PD	(1 << 1)
 #define RT3070_RX0_PD	(1 << 2)
 #define RT3070_TX0_PD	(1 << 3)
 #define RT3070_RX1_PD	(1 << 4)
@@ -705,6 +707,14 @@
 /* possible flags for RT3020 RF register 21 */
 #define RT3070_RX_LO2	(1 << 3)
 
+/* Possible flags for RT5390 RF register 3. */
+#define	RT5390_VCOCAL	(1 << 7)
+
+/* Possible flags for RT5390 RF register 38. */
+#define	RT5390_RX_LO1	(1 << 5)
+
+/* Possible flags for RT5390 RF register 39. */
+#define	RT5390_RX_LO2	(1 << 7)
 
 /* RT2860 TX descriptor */
 struct rt2860_txd {
@@ -839,15 +849,17 @@ struct rt2860_rxwi {
 #define RT2860_RF3	1
 #define RT2860_RF4	3
 
-#define RT2860_RF_2820	1	/* 2T3R */
-#define RT2860_RF_2850	2	/* dual-band 2T3R */
-#define RT2860_RF_2720	3	/* 1T2R */
-#define RT2860_RF_2750	4	/* dual-band 1T2R */
-#define RT3070_RF_3020	5	/* 1T1R */
-#define RT3070_RF_2020	6	/* b/g */
-#define RT3070_RF_3021	7	/* 1T2R */
-#define RT3070_RF_3022	8	/* 2T2R */
-#define RT3070_RF_3052	9	/* dual-band 2T2R */
+#define RT2860_RF_2820	0x0001	/* 2T3R */
+#define RT2860_RF_2850	0x0002	/* dual-band 2T3R */
+#define RT2860_RF_2720	0x0003	/* 1T2R */
+#define RT2860_RF_2750	0x0004	/* dual-band 1T2R */
+#define RT3070_RF_3020	0x0005	/* 1T1R */
+#define RT3070_RF_2020	0x0006	/* b/g */
+#define RT3070_RF_3021	0x0007	/* 1T2R */
+#define RT3070_RF_3022	0x0008	/* 2T2R */
+#define RT3070_RF_3052	0x0009	/* dual-band 2T2R */
+#define RT5390_RF_5370	0x5370	/* 1T1R */
+#define RT5390_RF_5372	0x5372	/* 2T2R */
 
 /* USB commands for RT2870 only */
 #define RT2870_RESET		1
@@ -1013,63 +1025,94 @@ static const struct rt2860_rate {
 	{ 105, 0x05 },	\
 	{ 106, 0x35 }
 
+#define RT5390_DEF_BBP	\
+	{  31, 0x08 },	\
+	{  65, 0x2c },	\
+	{  66, 0x38 },	\
+	{  68, 0x0b },	\
+	{  69, 0x0d },	\
+	{  70, 0x06 },	\
+	{  73, 0x13 },	\
+	{  75, 0x46 },	\
+	{  76, 0x28 },	\
+	{  77, 0x59 },	\
+	{  81, 0x37 },	\
+	{  82, 0x62 },	\
+	{  83, 0x7a },	\
+	{  84, 0x9a },	\
+	{  86, 0x38 },	\
+	{  91, 0x04 },	\
+	{  92, 0x02 },	\
+	{ 103, 0xc0 },	\
+	{ 104, 0x92 },	\
+	{ 105, 0x3c },	\
+	{ 106, 0x03 },	\
+	{ 128, 0x12 }
+
 /*
  * Default settings for RF registers; values derived from the reference driver.
  */
-#define RT2860_RF2850						\
-	{   1, 0x100bb3, 0x1301e1, 0x05a014, 0x001402 },	\
-	{   2, 0x100bb3, 0x1301e1, 0x05a014, 0x001407 },	\
-	{   3, 0x100bb3, 0x1301e2, 0x05a014, 0x001402 },	\
-	{   4, 0x100bb3, 0x1301e2, 0x05a014, 0x001407 },	\
-	{   5, 0x100bb3, 0x1301e3, 0x05a014, 0x001402 },	\
-	{   6, 0x100bb3, 0x1301e3, 0x05a014, 0x001407 },	\
-	{   7, 0x100bb3, 0x1301e4, 0x05a014, 0x001402 },	\
-	{   8, 0x100bb3, 0x1301e4, 0x05a014, 0x001407 },	\
-	{   9, 0x100bb3, 0x1301e5, 0x05a014, 0x001402 },	\
-	{  10, 0x100bb3, 0x1301e5, 0x05a014, 0x001407 },	\
-	{  11, 0x100bb3, 0x1301e6, 0x05a014, 0x001402 },	\
-	{  12, 0x100bb3, 0x1301e6, 0x05a014, 0x001407 },	\
-	{  13, 0x100bb3, 0x1301e7, 0x05a014, 0x001402 },	\
-	{  14, 0x100bb3, 0x1301e8, 0x05a014, 0x001404 },	\
-	{  36, 0x100bb3, 0x130266, 0x056014, 0x001408 },	\
-	{  38, 0x100bb3, 0x130267, 0x056014, 0x001404 },	\
-	{  40, 0x100bb2, 0x1301a0, 0x056014, 0x001400 },	\
-	{  44, 0x100bb2, 0x1301a0, 0x056014, 0x001408 },	\
-	{  46, 0x100bb2, 0x1301a1, 0x056014, 0x001402 },	\
-	{  48, 0x100bb2, 0x1301a1, 0x056014, 0x001406 },	\
-	{  52, 0x100bb2, 0x1301a2, 0x056014, 0x001404 },	\
-	{  54, 0x100bb2, 0x1301a2, 0x056014, 0x001408 },	\
-	{  56, 0x100bb2, 0x1301a3, 0x056014, 0x001402 },	\
-	{  60, 0x100bb2, 0x1301a4, 0x056014, 0x001400 },	\
-	{  62, 0x100bb2, 0x1301a4, 0x056014, 0x001404 },	\
-	{  64, 0x100bb2, 0x1301a4, 0x056014, 0x001408 },	\
-	{ 100, 0x100bb2, 0x1301ac, 0x05e014, 0x001400 },	\
-	{ 102, 0x100bb2, 0x1701ac, 0x15e014, 0x001404 },	\
-	{ 104, 0x100bb2, 0x1701ac, 0x15e014, 0x001408 },	\
-	{ 108, 0x100bb3, 0x17028c, 0x15e014, 0x001404 },	\
-	{ 110, 0x100bb3, 0x13028d, 0x05e014, 0x001400 },	\
-	{ 112, 0x100bb3, 0x13028d, 0x05e014, 0x001406 },	\
-	{ 116, 0x100bb3, 0x13028e, 0x05e014, 0x001408 },	\
-	{ 118, 0x100bb3, 0x13028f, 0x05e014, 0x001404 },	\
-	{ 120, 0x100bb1, 0x1300e0, 0x05e014, 0x001400 },	\
-	{ 124, 0x100bb1, 0x1300e0, 0x05e014, 0x001404 },	\
-	{ 126, 0x100bb1, 0x1300e0, 0x05e014, 0x001406 },	\
-	{ 128, 0x100bb1, 0x1300e0, 0x05e014, 0x001408 },	\
-	{ 132, 0x100bb1, 0x1300e1, 0x05e014, 0x001402 },	\
-	{ 134, 0x100bb1, 0x1300e1, 0x05e014, 0x001404 },	\
-	{ 136, 0x100bb1, 0x1300e1, 0x05e014, 0x001406 },	\
-	{ 140, 0x100bb1, 0x1300e2, 0x05e014, 0x001400 },	\
-	{ 149, 0x100bb1, 0x1300e2, 0x05e014, 0x001409 },	\
-	{ 151, 0x100bb1, 0x1300e3, 0x05e014, 0x001401 },	\
-	{ 153, 0x100bb1, 0x1300e3, 0x05e014, 0x001403 },	\
-	{ 157, 0x100bb1, 0x1300e3, 0x05e014, 0x001407 },	\
-	{ 159, 0x100bb1, 0x1300e3, 0x05e014, 0x001409 },	\
-	{ 161, 0x100bb1, 0x1300e4, 0x05e014, 0x001401 },	\
-	{ 165, 0x100bb1, 0x1300e4, 0x05e014, 0x001405 },	\
-	{ 167, 0x100bb1, 0x1300f4, 0x05e014, 0x001407 },	\
-	{ 169, 0x100bb1, 0x1300f4, 0x05e014, 0x001409 },	\
-	{ 171, 0x100bb1, 0x1300f5, 0x05e014, 0x001401 },	\
-	{ 173, 0x100bb1, 0x1300f5, 0x05e014, 0x001403 }
+#define RT2860_RF2850							\
+	{   1, 0x98402ecc, 0x984c0786, 0x9816b455, 0x9800510b },	\
+	{   2, 0x98402ecc, 0x984c0786, 0x98168a55, 0x9800519f },	\
+	{   3, 0x98402ecc, 0x984c078a, 0x98168a55, 0x9800518b },	\
+	{   4, 0x98402ecc, 0x984c078a, 0x98168a55, 0x9800519f },	\
+	{   5, 0x98402ecc, 0x984c078e, 0x98168a55, 0x9800518b },	\
+	{   6, 0x98402ecc, 0x984c078e, 0x98168a55, 0x9800519f },	\
+	{   7, 0x98402ecc, 0x984c0792, 0x98168a55, 0x9800518b },	\
+	{   8, 0x98402ecc, 0x984c0792, 0x98168a55, 0x9800519f },	\
+	{   9, 0x98402ecc, 0x984c0796, 0x98168a55, 0x9800518b },	\
+	{  10, 0x98402ecc, 0x984c0796, 0x98168a55, 0x9800519f },	\
+	{  11, 0x98402ecc, 0x984c079a, 0x98168a55, 0x9800518b },	\
+	{  12, 0x98402ecc, 0x984c079a, 0x98168a55, 0x9800519f },	\
+	{  13, 0x98402ecc, 0x984c079e, 0x98168a55, 0x9800518b },	\
+	{  14, 0x98402ecc, 0x984c07a2, 0x98168a55, 0x98005193 },	\
+	{  36, 0x98402ecc, 0x984c099a, 0x98158a55, 0x980ed1a3 },	\
+	{  38, 0x98402ecc, 0x984c099e, 0x98158a55, 0x980ed193 },	\
+	{  40, 0x98402ec8, 0x984c0682, 0x98158a55, 0x980ed183 },	\
+	{  44, 0x98402ec8, 0x984c0682, 0x98158a55, 0x980ed1a3 },	\
+	{  46, 0x98402ec8, 0x984c0686, 0x98158a55, 0x980ed18b },	\
+	{  48, 0x98402ec8, 0x984c0686, 0x98158a55, 0x980ed19b },	\
+	{  52, 0x98402ec8, 0x984c068a, 0x98158a55, 0x980ed193 },	\
+	{  54, 0x98402ec8, 0x984c068a, 0x98158a55, 0x980ed1a3 },	\
+	{  56, 0x98402ec8, 0x984c068e, 0x98158a55, 0x980ed18b },	\
+	{  60, 0x98402ec8, 0x984c0692, 0x98158a55, 0x980ed183 },	\
+	{  62, 0x98402ec8, 0x984c0692, 0x98158a55, 0x980ed193 },	\
+	{  64, 0x98402ec8, 0x984c0692, 0x98158a55, 0x980ed1a3 },	\
+	{ 100, 0x98402ec8, 0x984c06b2, 0x98178a55, 0x980ed783 },	\
+	{ 102, 0x98402ec8, 0x985c06b2, 0x98578a55, 0x980ed793 },	\
+	{ 104, 0x98402ec8, 0x985c06b2, 0x98578a55, 0x980ed1a3 },	\
+	{ 108, 0x98402ecc, 0x985c0a32, 0x98578a55, 0x980ed193 },	\
+	{ 110, 0x98402ecc, 0x984c0a36, 0x98178a55, 0x980ed183 },	\
+	{ 112, 0x98402ecc, 0x984c0a36, 0x98178a55, 0x980ed19b },	\
+	{ 116, 0x98402ecc, 0x984c0a3a, 0x98178a55, 0x980ed1a3 },	\
+	{ 118, 0x98402ecc, 0x984c0a3e, 0x98178a55, 0x980ed193 },	\
+	{ 120, 0x98402ec4, 0x984c0382, 0x98178a55, 0x980ed183 },	\
+	{ 124, 0x98402ec4, 0x984c0382, 0x98178a55, 0x980ed193 },	\
+	{ 126, 0x98402ec4, 0x984c0382, 0x98178a55, 0x980ed15b },	\
+	{ 128, 0x98402ec4, 0x984c0382, 0x98178a55, 0x980ed1a3 },	\
+	{ 132, 0x98402ec4, 0x984c0386, 0x98178a55, 0x980ed18b },	\
+	{ 134, 0x98402ec4, 0x984c0386, 0x98178a55, 0x980ed193 },	\
+	{ 136, 0x98402ec4, 0x984c0386, 0x98178a55, 0x980ed19b },	\

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

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 09:47:52 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 6B1AAD44;
 Mon, 11 Nov 2013 09:47:52 +0000 (UTC) (envelope-from ae@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 3EA9527C1;
 Mon, 11 Nov 2013 09:47:52 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAB9lqMi083957;
 Mon, 11 Nov 2013 09:47:52 GMT (envelope-from ae@svn.freebsd.org)
Received: (from ae@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAB9lpXb083955;
 Mon, 11 Nov 2013 09:47:51 GMT (envelope-from ae@svn.freebsd.org)
Message-Id: <201311110947.rAB9lpXb083955@svn.freebsd.org>
From: "Andrey V. Elsukov" <ae@FreeBSD.org>
Date: Mon, 11 Nov 2013 09:47:51 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject: svn commit: r257956 - stable/10/sys/net
X-SVN-Group: stable-10
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 09:47:52 -0000

Author: ae
Date: Mon Nov 11 09:47:51 2013
New Revision: 257956
URL: http://svnweb.freebsd.org/changeset/base/257956

Log:
  MFC r256689:
    Use the same actor key for media types of the same speed.
  
    PR:		176097
  
  MFC r256832:
    Add a note that lacp_compose_key() should be updated, when new media
    types will be added.
  
    Submitted by:	melifaro
  
  Approved by:	re (hrs)

Modified:
  stable/10/sys/net/ieee8023ad_lacp.c
  stable/10/sys/net/if_media.h
Directory Properties:
  stable/10/sys/   (props changed)

Modified: stable/10/sys/net/ieee8023ad_lacp.c
==============================================================================
--- stable/10/sys/net/ieee8023ad_lacp.c	Mon Nov 11 09:47:33 2013	(r257955)
+++ stable/10/sys/net/ieee8023ad_lacp.c	Mon Nov 11 09:47:51 2013	(r257956)
@@ -1089,8 +1089,45 @@ lacp_compose_key(struct lacp_port *lp)
 		KASSERT(IFM_TYPE(media) == IFM_ETHER, ("invalid media type"));
 		KASSERT((media & IFM_FDX) != 0, ("aggregating HDX interface"));
 
-		/* bit 0..4:	IFM_SUBTYPE */
-		key = subtype;
+		/* bit 0..4:	IFM_SUBTYPE modulo speed */
+		switch (subtype) {
+		case IFM_10_T:
+		case IFM_10_2:
+		case IFM_10_5:
+		case IFM_10_STP:
+		case IFM_10_FL:
+			key = IFM_10_T;
+			break;
+		case IFM_100_TX:
+		case IFM_100_FX:
+		case IFM_100_T4:
+		case IFM_100_VG:
+		case IFM_100_T2:
+			key = IFM_100_TX;
+			break;
+		case IFM_1000_SX:
+		case IFM_1000_LX:
+		case IFM_1000_CX:
+		case IFM_1000_T:
+			key = IFM_1000_SX;
+			break;
+		case IFM_10G_LR:
+		case IFM_10G_SR:
+		case IFM_10G_CX4:
+		case IFM_10G_TWINAX:
+		case IFM_10G_TWINAX_LONG:
+		case IFM_10G_LRM:
+		case IFM_10G_T:
+			key = IFM_10G_LR;
+			break;
+		case IFM_40G_CR4:
+		case IFM_40G_SR4:
+		case IFM_40G_LR4:
+			key = IFM_40G_CR4;
+			break;
+		default:
+			key = subtype;
+		}
 		/* bit 5..14:	(some bits of) if_index of lagg device */
 		key |= 0x7fe0 & ((sc->sc_ifp->if_index) << 5);
 		/* bit 15:	0 */

Modified: stable/10/sys/net/if_media.h
==============================================================================
--- stable/10/sys/net/if_media.h	Mon Nov 11 09:47:33 2013	(r257955)
+++ stable/10/sys/net/if_media.h	Mon Nov 11 09:47:51 2013	(r257956)
@@ -153,7 +153,10 @@ uint64_t	ifmedia_baudrate(int);
 #define	IFM_40G_CR4	27		/* 40GBase-CR4 */
 #define	IFM_40G_SR4	28		/* 40GBase-SR4 */
 #define	IFM_40G_LR4	29		/* 40GBase-LR4 */
-
+/*
+ * Please update ieee8023ad_lacp.c:lacp_compose_key()
+ * after adding new Ethernet media types.
+ */
 /* note 31 is the max! */
 
 #define	IFM_ETH_MASTER	0x00000100	/* master mode (1000baseT) */

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 09:49:09 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 59D0EF8C;
 Mon, 11 Nov 2013 09:49:09 +0000 (UTC) (envelope-from des@des.no)
Received: from smtp.des.no (smtp.des.no [194.63.250.102])
 by mx1.freebsd.org (Postfix) with ESMTP id B3BEC27D1;
 Mon, 11 Nov 2013 09:49:08 +0000 (UTC)
Received: from nine.des.no (smtp.des.no [194.63.250.102])
 by smtp-int.des.no (Postfix) with ESMTP id A7E8F63BD;
 Mon, 11 Nov 2013 09:49:07 +0000 (UTC)
Received: by nine.des.no (Postfix, from userid 1001)
 id 3884C1700; Mon, 11 Nov 2013 10:49:11 +0100 (CET)
From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= <des@des.no>
To: Gleb Smirnoff <glebius@FreeBSD.org>
Subject: Re: svn commit: r257696 - in head: libexec/rbootd share/man/man9
 sys/compat/svr4 sys/net sys/sys
References: <20131106062029.GP7577@FreeBSD.org>
Date: Mon, 11 Nov 2013 10:49:11 +0100
In-Reply-To: <20131106062029.GP7577@FreeBSD.org> (Gleb Smirnoff's message of
 "Wed, 6 Nov 2013 10:20:29 +0400")
Message-ID: <86bo1rxo88.fsf@nine.des.no>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (berkeley-unix)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Cc: svn-src-head@freebsd.org, Adrian Chadd <adrian@freebsd.org>,
 src-committers@freebsd.org, svn-src-all@freebsd.org,
 John Baldwin <jhb@freebsd.org>
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 09:49:09 -0000

Gleb Smirnoff <glebius@FreeBSD.org> writes:
> If anyone upgrades to next major: 9.x -> 10.x, or 10.x -> 11.x, including
> package sets, then everything will be working for him.

We still support 8.x, and should support upgrading directly from 8.x to
10.x - which involves booting with a 10.x kernel and an 8.x userland
before make installworld (or the second "freebsd-update install").

DES
--=20
Dag-Erling Sm=C3=B8rgrav - des@des.no

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 09:48:58 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 34698EA1;
 Mon, 11 Nov 2013 09:48:58 +0000 (UTC)
 (envelope-from kevlo@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 0844027D0;
 Mon, 11 Nov 2013 09:48:58 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAB9mv7F084130;
 Mon, 11 Nov 2013 09:48:57 GMT (envelope-from kevlo@svn.freebsd.org)
Received: (from kevlo@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAB9mvK5084128;
 Mon, 11 Nov 2013 09:48:57 GMT (envelope-from kevlo@svn.freebsd.org)
Message-Id: <201311110948.rAB9mvK5084128@svn.freebsd.org>
From: Kevin Lo <kevlo@FreeBSD.org>
Date: Mon, 11 Nov 2013 09:48:57 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257957 - head/share/man/man4
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 09:48:58 -0000

Author: kevlo
Date: Mon Nov 11 09:48:57 2013
New Revision: 257957
URL: http://svnweb.freebsd.org/changeset/base/257957

Log:
  Mention the RT5370/RT5372 chipset.

Modified:
  head/share/man/man4/run.4
  head/share/man/man4/runfw.4

Modified: head/share/man/man4/run.4
==============================================================================
--- head/share/man/man4/run.4	Mon Nov 11 09:47:51 2013	(r257956)
+++ head/share/man/man4/run.4	Mon Nov 11 09:48:57 2013	(r257957)
@@ -16,7 +16,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd July 9, 2012
+.Dd November 11, 2013
 .Dt RUN 4
 .Os
 .Sh NAME
@@ -52,7 +52,7 @@ runfw_load="YES"
 The
 .Nm
 driver supports USB 2.0 wireless adapters based on the Ralink RT2700U,
-RT2800U and RT3000U chipsets.
+RT2800U, RT3000U and RT3900E chipsets.
 .Pp
 The RT2700U chipset consists of two integrated chips, an RT2770 MAC/BBP and
 an RT2720 (1T2R) or RT2750 (dual-band 1T2R) radio transceiver.
@@ -64,6 +64,9 @@ The RT3000U is a single-chip solution ba
 an RT3020 (1T1R), RT3021 (1T2R) or RT3022 (2T2R) single-band radio
 transceiver.
 .Pp
+The RT3900E is a single-chip solution based on an RT5390 MAC/BBP and
+an RT5370 (1T1R) or RT5372 (2T2R) single-band radio transceiver.
+.Pp
 These are the modes the
 .Nm
 driver can operate in:
@@ -129,7 +132,7 @@ driver supports the following wireless a
 .It Corega CG-WLUSB300AGN
 .It Corega CG-WLUSB300GNM
 .It D-Link DWA-130 rev B1
-.It D-Link DWA-140 rev B1, B2
+.It D-Link DWA-140 rev B1, B2, B3
 .It DrayTek Vigor N61
 .It Edimax EW-7711UAn
 .It Edimax EW-7711UTn
@@ -156,6 +159,7 @@ driver supports the following wireless a
 .It SMC SMCWUSBS-N2
 .It Sweex LW303
 .It Sweex LW313
+.It TP-LINK TL-WN727N v3
 .It Unex DNUR-81
 .It Unex DNUR-82
 .It ZyXEL NWD210N

Modified: head/share/man/man4/runfw.4
==============================================================================
--- head/share/man/man4/runfw.4	Mon Nov 11 09:47:51 2013	(r257956)
+++ head/share/man/man4/runfw.4	Mon Nov 11 09:48:57 2013	(r257957)
@@ -18,7 +18,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd January 12, 2011
+.Dd November 11, 2013
 .Dt RUNFW 4
 .Os
 .Sh NAME
@@ -43,7 +43,7 @@ runfw_load="YES"
 .Ed
 .Sh DESCRIPTION
 This module provides firmware sets for the Ralink RT2700U,
-RT2800U and RT3000U chip based USB WiFi adapters.
+RT2800U, RT3000U and RT3900E chip based USB WiFi adapters.
 Please read Ralink's license, src/sys/contrib/dev/run/LICENSE.
 .Sh SEE ALSO
 .Xr run 4 ,

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 10:00:20 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 1890223A;
 Mon, 11 Nov 2013 10:00:20 +0000 (UTC)
 (envelope-from kevlo@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 06427286A;
 Mon, 11 Nov 2013 10:00:20 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rABA0JgA089707;
 Mon, 11 Nov 2013 10:00:19 GMT (envelope-from kevlo@svn.freebsd.org)
Received: (from kevlo@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rABA0Jxw089706;
 Mon, 11 Nov 2013 10:00:19 GMT (envelope-from kevlo@svn.freebsd.org)
Message-Id: <201311111000.rABA0Jxw089706@svn.freebsd.org>
From: Kevin Lo <kevlo@FreeBSD.org>
Date: Mon, 11 Nov 2013 10:00:19 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257958 - head/sys/dev/usb/wlan
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 10:00:20 -0000

Author: kevlo
Date: Mon Nov 11 10:00:19 2013
New Revision: 257958
URL: http://svnweb.freebsd.org/changeset/base/257958

Log:
  Remove r257748 by accident.

Modified:
  head/sys/dev/usb/wlan/if_run.c

Modified: head/sys/dev/usb/wlan/if_run.c
==============================================================================
--- head/sys/dev/usb/wlan/if_run.c	Mon Nov 11 09:48:57 2013	(r257957)
+++ head/sys/dev/usb/wlan/if_run.c	Mon Nov 11 10:00:19 2013	(r257958)
@@ -1180,13 +1180,32 @@ run_write_region_1(struct run_softc *sc,
 	return (error);
 #else
 	usb_device_request_t req;
+	int error = 0;
 
-	req.bmRequestType = UT_WRITE_VENDOR_DEVICE;
-	req.bRequest = RT2870_WRITE_REGION_1;
-	USETW(req.wValue, 0);
-	USETW(req.wIndex, reg);
-	USETW(req.wLength, len);
-	return (run_do_request(sc, &req, buf));
+	/*
+	 * NOTE: It appears the WRITE_REGION_1 command cannot be
+	 * passed a huge amount of data, which will crash the
+	 * firmware. Limit amount of data passed to 64-bytes at a
+	 * time.
+	 */
+	while (len > 0) {
+		int delta = 64;
+		if (delta > len)
+			delta = len;
+
+		req.bmRequestType = UT_WRITE_VENDOR_DEVICE;
+		req.bRequest = RT2870_WRITE_REGION_1;
+		USETW(req.wValue, 0);
+		USETW(req.wIndex, reg);
+		USETW(req.wLength, delta);
+		error = run_do_request(sc, &req, __DECONST(uint8_t *, buf));
+		if (error != 0)
+			break;
+		reg += delta;
+		buf += delta;
+		len -= delta;
+	}
+	return (error);
 #endif
 }
 

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 10:09:53 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id CE52D418;
 Mon, 11 Nov 2013 10:09:53 +0000 (UTC) (envelope-from ae@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id A068028E0;
 Mon, 11 Nov 2013 10:09:53 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rABA9r02091134;
 Mon, 11 Nov 2013 10:09:53 GMT (envelope-from ae@svn.freebsd.org)
Received: (from ae@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rABA9rae091131;
 Mon, 11 Nov 2013 10:09:53 GMT (envelope-from ae@svn.freebsd.org)
Message-Id: <201311111009.rABA9rae091131@svn.freebsd.org>
From: "Andrey V. Elsukov" <ae@FreeBSD.org>
Date: Mon, 11 Nov 2013 10:09:53 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject: svn commit: r257959 - stable/9/sys/net
X-SVN-Group: stable-9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 10:09:53 -0000

Author: ae
Date: Mon Nov 11 10:09:52 2013
New Revision: 257959
URL: http://svnweb.freebsd.org/changeset/base/257959

Log:
  MFC r256689:
    Use the same actor key for media types of the same speed.
  
    PR:		176097
  
  MFC r256832:
    Add a note that lacp_compose_key() should be updated, when new media
    types will be added.
  
    Submitted by:	melifaro

Modified:
  stable/9/sys/net/ieee8023ad_lacp.c
  stable/9/sys/net/if_media.h
Directory Properties:
  stable/9/sys/   (props changed)
  stable/9/sys/net/   (props changed)

Modified: stable/9/sys/net/ieee8023ad_lacp.c
==============================================================================
--- stable/9/sys/net/ieee8023ad_lacp.c	Mon Nov 11 10:00:19 2013	(r257958)
+++ stable/9/sys/net/ieee8023ad_lacp.c	Mon Nov 11 10:09:52 2013	(r257959)
@@ -1028,8 +1028,45 @@ lacp_compose_key(struct lacp_port *lp)
 		KASSERT(IFM_TYPE(media) == IFM_ETHER, ("invalid media type"));
 		KASSERT((media & IFM_FDX) != 0, ("aggregating HDX interface"));
 
-		/* bit 0..4:	IFM_SUBTYPE */
-		key = subtype;
+		/* bit 0..4:	IFM_SUBTYPE modulo speed */
+		switch (subtype) {
+		case IFM_10_T:
+		case IFM_10_2:
+		case IFM_10_5:
+		case IFM_10_STP:
+		case IFM_10_FL:
+			key = IFM_10_T;
+			break;
+		case IFM_100_TX:
+		case IFM_100_FX:
+		case IFM_100_T4:
+		case IFM_100_VG:
+		case IFM_100_T2:
+			key = IFM_100_TX;
+			break;
+		case IFM_1000_SX:
+		case IFM_1000_LX:
+		case IFM_1000_CX:
+		case IFM_1000_T:
+			key = IFM_1000_SX;
+			break;
+		case IFM_10G_LR:
+		case IFM_10G_SR:
+		case IFM_10G_CX4:
+		case IFM_10G_TWINAX:
+		case IFM_10G_TWINAX_LONG:
+		case IFM_10G_LRM:
+		case IFM_10G_T:
+			key = IFM_10G_LR;
+			break;
+		case IFM_40G_CR4:
+		case IFM_40G_SR4:
+		case IFM_40G_LR4:
+			key = IFM_40G_CR4;
+			break;
+		default:
+			key = subtype;
+		}
 		/* bit 5..14:	(some bits of) if_index of lagg device */
 		key |= 0x7fe0 & ((sc->sc_ifp->if_index) << 5);
 		/* bit 15:	0 */

Modified: stable/9/sys/net/if_media.h
==============================================================================
--- stable/9/sys/net/if_media.h	Mon Nov 11 10:00:19 2013	(r257958)
+++ stable/9/sys/net/if_media.h	Mon Nov 11 10:09:52 2013	(r257959)
@@ -153,7 +153,10 @@ uint64_t	ifmedia_baudrate(int);
 #define	IFM_40G_CR4	27		/* 40GBase-CR4 */
 #define	IFM_40G_SR4	28		/* 40GBase-SR4 */
 #define	IFM_40G_LR4	29		/* 40GBase-LR4 */
-
+/*
+ * Please update ieee8023ad_lacp.c:lacp_compose_key()
+ * after adding new Ethernet media types.
+ */
 /* note 31 is the max! */
 
 #define	IFM_ETH_MASTER	0x00000100	/* master mode (1000baseT) */

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 10:38:38 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 6D042A2C;
 Mon, 11 Nov 2013 10:38:38 +0000 (UTC) (envelope-from ae@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 406732A88;
 Mon, 11 Nov 2013 10:38:38 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rABAccJr001361;
 Mon, 11 Nov 2013 10:38:38 GMT (envelope-from ae@svn.freebsd.org)
Received: (from ae@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rABAcbnM001359;
 Mon, 11 Nov 2013 10:38:37 GMT (envelope-from ae@svn.freebsd.org)
Message-Id: <201311111038.rABAcbnM001359@svn.freebsd.org>
From: "Andrey V. Elsukov" <ae@FreeBSD.org>
Date: Mon, 11 Nov 2013 10:38:37 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org
Subject: svn commit: r257960 - stable/8/sys/net
X-SVN-Group: stable-8
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 10:38:38 -0000

Author: ae
Date: Mon Nov 11 10:38:37 2013
New Revision: 257960
URL: http://svnweb.freebsd.org/changeset/base/257960

Log:
  MFC r256689 (modified):
    Use the same actor key for media types of the same speed.
  
    PR:		176097
  
  MFC r256832:
    Add a note that lacp_compose_key() should be updated, when new media
    types will be added.
  
    Submitted by:	melifaro

Modified:
  stable/8/sys/net/ieee8023ad_lacp.c
  stable/8/sys/net/if_media.h
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/net/   (props changed)

Modified: stable/8/sys/net/ieee8023ad_lacp.c
==============================================================================
--- stable/8/sys/net/ieee8023ad_lacp.c	Mon Nov 11 10:09:52 2013	(r257959)
+++ stable/8/sys/net/ieee8023ad_lacp.c	Mon Nov 11 10:38:37 2013	(r257960)
@@ -1028,8 +1028,40 @@ lacp_compose_key(struct lacp_port *lp)
 		KASSERT(IFM_TYPE(media) == IFM_ETHER, ("invalid media type"));
 		KASSERT((media & IFM_FDX) != 0, ("aggregating HDX interface"));
 
-		/* bit 0..4:	IFM_SUBTYPE */
-		key = subtype;
+		/* bit 0..4:	IFM_SUBTYPE modulo speed */
+		switch (subtype) {
+		case IFM_10_T:
+		case IFM_10_2:
+		case IFM_10_5:
+		case IFM_10_STP:
+		case IFM_10_FL:
+			key = IFM_10_T;
+			break;
+		case IFM_100_TX:
+		case IFM_100_FX:
+		case IFM_100_T4:
+		case IFM_100_VG:
+		case IFM_100_T2:
+			key = IFM_100_TX;
+			break;
+		case IFM_1000_SX:
+		case IFM_1000_LX:
+		case IFM_1000_CX:
+		case IFM_1000_T:
+			key = IFM_1000_SX;
+			break;
+		case IFM_10G_LR:
+		case IFM_10G_SR:
+		case IFM_10G_CX4:
+		case IFM_10G_TWINAX:
+		case IFM_10G_TWINAX_LONG:
+		case IFM_10G_LRM:
+		case IFM_10G_T:
+			key = IFM_10G_LR;
+			break;
+		default:
+			key = subtype;
+		}
 		/* bit 5..14:	(some bits of) if_index of lagg device */
 		key |= 0x7fe0 & ((sc->sc_ifp->if_index) << 5);
 		/* bit 15:	0 */

Modified: stable/8/sys/net/if_media.h
==============================================================================
--- stable/8/sys/net/if_media.h	Mon Nov 11 10:09:52 2013	(r257959)
+++ stable/8/sys/net/if_media.h	Mon Nov 11 10:38:37 2013	(r257960)
@@ -150,7 +150,10 @@ uint64_t	ifmedia_baudrate(int);
 #define	IFM_10G_LRM	24		/* 10GBase-LRM 850nm Multi-mode */
 #define	IFM_UNKNOWN	25		/* media types not defined yet */
 #define	IFM_10G_T	26		/* 10GBase-T - RJ45 */
-
+/*
+ * Please update ieee8023ad_lacp.c:lacp_compose_key()
+ * after adding new Ethernet media types.
+ */
 /* note 31 is the max! */
 
 #define	IFM_ETH_MASTER	0x00000100	/* master mode (1000baseT) */

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 10:43:40 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 7D060BB4;
 Mon, 11 Nov 2013 10:43:40 +0000 (UTC) (envelope-from ae@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 6A4002ADD;
 Mon, 11 Nov 2013 10:43:40 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rABAhe0s004104;
 Mon, 11 Nov 2013 10:43:40 GMT (envelope-from ae@svn.freebsd.org)
Received: (from ae@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rABAheAc004102;
 Mon, 11 Nov 2013 10:43:40 GMT (envelope-from ae@svn.freebsd.org)
Message-Id: <201311111043.rABAheAc004102@svn.freebsd.org>
From: "Andrey V. Elsukov" <ae@FreeBSD.org>
Date: Mon, 11 Nov 2013 10:43:40 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject: svn commit: r257961 - stable/10/sys/netinet6
X-SVN-Group: stable-10
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 10:43:40 -0000

Author: ae
Date: Mon Nov 11 10:43:39 2013
New Revision: 257961
URL: http://svnweb.freebsd.org/changeset/base/257961

Log:
  MFC r257084:
    Initialize inc_fibnum for properly handling ICMP6_PACKET_TOO_BIG
    errors in multifib environment.
  
    PR:		183265
  Approved by:	re (hrs)

Modified:
  stable/10/sys/netinet6/icmp6.c
Directory Properties:
  stable/10/sys/   (props changed)

Modified: stable/10/sys/netinet6/icmp6.c
==============================================================================
--- stable/10/sys/netinet6/icmp6.c	Mon Nov 11 10:38:37 2013	(r257960)
+++ stable/10/sys/netinet6/icmp6.c	Mon Nov 11 10:43:39 2013	(r257961)
@@ -1227,6 +1227,7 @@ icmp6_mtudisc_update(struct ip6ctlparam 
 		mtu = IPV6_MMTU - 8;
 
 	bzero(&inc, sizeof(inc));
+	inc.inc_fibnum = M_GETFIB(m);
 	inc.inc_flags |= INC_ISIPV6;
 	inc.inc6_faddr = *dst;
 	if (in6_setscope(&inc.inc6_faddr, m->m_pkthdr.rcvif, NULL))

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 10:43:55 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id C71D8CE0;
 Mon, 11 Nov 2013 10:43:55 +0000 (UTC) (envelope-from ae@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id B4D802AE0;
 Mon, 11 Nov 2013 10:43:55 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rABAhtEh004159;
 Mon, 11 Nov 2013 10:43:55 GMT (envelope-from ae@svn.freebsd.org)
Received: (from ae@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rABAhtNh004158;
 Mon, 11 Nov 2013 10:43:55 GMT (envelope-from ae@svn.freebsd.org)
Message-Id: <201311111043.rABAhtNh004158@svn.freebsd.org>
From: "Andrey V. Elsukov" <ae@FreeBSD.org>
Date: Mon, 11 Nov 2013 10:43:55 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject: svn commit: r257962 - stable/9/sys/netinet6
X-SVN-Group: stable-9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 10:43:55 -0000

Author: ae
Date: Mon Nov 11 10:43:55 2013
New Revision: 257962
URL: http://svnweb.freebsd.org/changeset/base/257962

Log:
  MFC r257084:
    Initialize inc_fibnum for properly handling ICMP6_PACKET_TOO_BIG
    errors in multifib environment.
  
    PR:		183265

Modified:
  stable/9/sys/netinet6/icmp6.c
Directory Properties:
  stable/9/sys/   (props changed)

Modified: stable/9/sys/netinet6/icmp6.c
==============================================================================
--- stable/9/sys/netinet6/icmp6.c	Mon Nov 11 10:43:39 2013	(r257961)
+++ stable/9/sys/netinet6/icmp6.c	Mon Nov 11 10:43:55 2013	(r257962)
@@ -1242,6 +1242,7 @@ icmp6_mtudisc_update(struct ip6ctlparam 
 		mtu = IPV6_MMTU - 8;
 
 	bzero(&inc, sizeof(inc));
+	inc.inc_fibnum = M_GETFIB(m);
 	inc.inc_flags |= INC_ISIPV6;
 	inc.inc6_faddr = *dst;
 	if (in6_setscope(&inc.inc6_faddr, m->m_pkthdr.rcvif, NULL))

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 10:44:39 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 16BACE1E;
 Mon, 11 Nov 2013 10:44:39 +0000 (UTC) (envelope-from ae@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 040102AEC;
 Mon, 11 Nov 2013 10:44:39 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rABAicHr004351;
 Mon, 11 Nov 2013 10:44:38 GMT (envelope-from ae@svn.freebsd.org)
Received: (from ae@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rABAicd4004350;
 Mon, 11 Nov 2013 10:44:38 GMT (envelope-from ae@svn.freebsd.org)
Message-Id: <201311111044.rABAicd4004350@svn.freebsd.org>
From: "Andrey V. Elsukov" <ae@FreeBSD.org>
Date: Mon, 11 Nov 2013 10:44:38 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org
Subject: svn commit: r257963 - stable/8/sys/netinet6
X-SVN-Group: stable-8
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 10:44:39 -0000

Author: ae
Date: Mon Nov 11 10:44:38 2013
New Revision: 257963
URL: http://svnweb.freebsd.org/changeset/base/257963

Log:
  MFC r257084:
    Initialize inc_fibnum for properly handling ICMP6_PACKET_TOO_BIG
    errors in multifib environment.
  
    PR:		183265

Modified:
  stable/8/sys/netinet6/icmp6.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/netinet6/   (props changed)

Modified: stable/8/sys/netinet6/icmp6.c
==============================================================================
--- stable/8/sys/netinet6/icmp6.c	Mon Nov 11 10:43:55 2013	(r257962)
+++ stable/8/sys/netinet6/icmp6.c	Mon Nov 11 10:44:38 2013	(r257963)
@@ -1159,6 +1159,7 @@ icmp6_mtudisc_update(struct ip6ctlparam 
 		mtu = IPV6_MMTU - 8;
 
 	bzero(&inc, sizeof(inc));
+	inc.inc_fibnum = M_GETFIB(m);
 	inc.inc_flags |= INC_ISIPV6;
 	inc.inc6_faddr = *dst;
 	if (in6_setscope(&inc.inc6_faddr, m->m_pkthdr.rcvif, NULL))

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 10:54:06 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id BB75C1D6;
 Mon, 11 Nov 2013 10:54:06 +0000 (UTC)
 (envelope-from pluknet@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id A98182B7D;
 Mon, 11 Nov 2013 10:54:06 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rABAs6r0007578;
 Mon, 11 Nov 2013 10:54:06 GMT (envelope-from pluknet@svn.freebsd.org)
Received: (from pluknet@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rABAs6Ed007577;
 Mon, 11 Nov 2013 10:54:06 GMT (envelope-from pluknet@svn.freebsd.org)
Message-Id: <201311111054.rABAs6Ed007577@svn.freebsd.org>
From: Sergey Kandaurov <pluknet@FreeBSD.org>
Date: Mon, 11 Nov 2013 10:54:06 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257964 - head/release/picobsd/build
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 10:54:06 -0000

Author: pluknet
Date: Mon Nov 11 10:54:06 2013
New Revision: 257964
URL: http://svnweb.freebsd.org/changeset/base/257964

Log:
  Update log message.  Picobsd stopped using kgzip a while ago.

Modified:
  head/release/picobsd/build/picobsd

Modified: head/release/picobsd/build/picobsd
==============================================================================
--- head/release/picobsd/build/picobsd	Mon Nov 11 10:44:38 2013	(r257963)
+++ head/release/picobsd/build/picobsd	Mon Nov 11 10:54:06 2013	(r257964)
@@ -881,7 +881,7 @@ fill_floppy_image() {
     else
     	log "not loading mfs, size ${mfs_size} img ${imgsize}"
     fi
-    log "Compress with kgzip and copy to floppy image"
+    log "Compress with gzip and copy to floppy image"
 
     mkdir -p  ${dst}/boot/kernel
     # XXX loader.conf does not work unless we also load the .4th files

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 11:13:13 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 7E6E43E7;
 Mon, 11 Nov 2013 11:13:13 +0000 (UTC) (envelope-from ae@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 6CB3A2EA8;
 Mon, 11 Nov 2013 11:13:13 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rABBDDmv014980;
 Mon, 11 Nov 2013 11:13:13 GMT (envelope-from ae@svn.freebsd.org)
Received: (from ae@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rABBDDxV014979;
 Mon, 11 Nov 2013 11:13:13 GMT (envelope-from ae@svn.freebsd.org)
Message-Id: <201311111113.rABBDDxV014979@svn.freebsd.org>
From: "Andrey V. Elsukov" <ae@FreeBSD.org>
Date: Mon, 11 Nov 2013 11:13:13 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257965 - head/sys/geom/eli
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 11:13:13 -0000

Author: ae
Date: Mon Nov 11 11:13:12 2013
New Revision: 257965
URL: http://svnweb.freebsd.org/changeset/base/257965

Log:
  Add missing line breaks.
  
  PR:		181900
  MFC after:	1 week

Modified:
  head/sys/geom/eli/g_eli.c

Modified: head/sys/geom/eli/g_eli.c
==============================================================================
--- head/sys/geom/eli/g_eli.c	Mon Nov 11 10:54:06 2013	(r257964)
+++ head/sys/geom/eli/g_eli.c	Mon Nov 11 11:13:12 2013	(r257965)
@@ -1170,9 +1170,9 @@ g_eli_dumpconf(struct sbuf *sb, const ch
 	if (pp != NULL || cp != NULL)
 		return;	/* Nothing here. */
 
-	sbuf_printf(sb, "%s<KeysTotal>%ju</KeysTotal>", indent,
+	sbuf_printf(sb, "%s<KeysTotal>%ju</KeysTotal>\n", indent,
 	    (uintmax_t)sc->sc_ekeys_total);
-	sbuf_printf(sb, "%s<KeysAllocated>%ju</KeysAllocated>", indent,
+	sbuf_printf(sb, "%s<KeysAllocated>%ju</KeysAllocated>\n", indent,
 	    (uintmax_t)sc->sc_ekeys_allocated);
 	sbuf_printf(sb, "%s<Flags>", indent);
 	if (sc->sc_flags == 0)

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 12:49:00 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id B262FE5B;
 Mon, 11 Nov 2013 12:49:00 +0000 (UTC) (envelope-from ae@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 86274249C;
 Mon, 11 Nov 2013 12:49:00 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rABCn0pb046957;
 Mon, 11 Nov 2013 12:49:00 GMT (envelope-from ae@svn.freebsd.org)
Received: (from ae@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rABCn0E6046956;
 Mon, 11 Nov 2013 12:49:00 GMT (envelope-from ae@svn.freebsd.org)
Message-Id: <201311111249.rABCn0E6046956@svn.freebsd.org>
From: "Andrey V. Elsukov" <ae@FreeBSD.org>
Date: Mon, 11 Nov 2013 12:49:00 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257985 - head/sys/netinet6
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 12:49:00 -0000

Author: ae
Date: Mon Nov 11 12:49:00 2013
New Revision: 257985
URL: http://svnweb.freebsd.org/changeset/base/257985

Log:
  Fix panic with RADIX_MPATH, when RTFREE_LOCKED() called for already
  unlocked route. Use in6_rtalloc() instead of in6_rtalloc1. This helps
  simplify the code and remove several now unused variables.
  
  PR:		156283
  MFC after:	2 weeks

Modified:
  head/sys/netinet6/nd6_nbr.c

Modified: head/sys/netinet6/nd6_nbr.c
==============================================================================
--- head/sys/netinet6/nd6_nbr.c	Mon Nov 11 12:44:54 2013	(r257984)
+++ head/sys/netinet6/nd6_nbr.c	Mon Nov 11 12:49:00 2013	(r257985)
@@ -232,41 +232,28 @@ nd6_ns_input(struct mbuf *m, int off, in
 
 	/* (2) check. */
 	if (ifa == NULL) {
-		struct rtentry *rt;
-		struct sockaddr_in6 tsin6;
-		int need_proxy;
-#ifdef RADIX_MPATH
 		struct route_in6 ro;
-#endif
+		int need_proxy;
 
-		bzero(&tsin6, sizeof tsin6);
-		tsin6.sin6_len = sizeof(struct sockaddr_in6);
-		tsin6.sin6_family = AF_INET6;
-		tsin6.sin6_addr = taddr6;
+		bzero(&ro, sizeof(ro));
+		ro.ro_dst.sin6_len = sizeof(struct sockaddr_in6);
+		ro.ro_dst.sin6_family = AF_INET6;
+		ro.ro_dst.sin6_addr = taddr6;
 
 		/* Always use the default FIB. */
 #ifdef RADIX_MPATH
-		bzero(&ro, sizeof(ro));
-		ro.ro_dst = tsin6;
 		rtalloc_mpath_fib((struct route *)&ro, RTF_ANNOUNCE,
 		    RT_DEFAULT_FIB);
-		rt = ro.ro_rt;
 #else
-		rt = in6_rtalloc1((struct sockaddr *)&tsin6, 0, 0,
-		    RT_DEFAULT_FIB);
+		in6_rtalloc(&ro, RT_DEFAULT_FIB);
 #endif
-		need_proxy = (rt && (rt->rt_flags & RTF_ANNOUNCE) != 0 &&
-		    rt->rt_gateway->sa_family == AF_LINK);
-		if (rt != NULL) {
-			/*
-			 * Make a copy while we can be sure that rt_gateway
-			 * is still stable before unlocking to avoid lock
-			 * order problems.  proxydl will only be used if
-			 * proxy will be set in the next block.
-			 */
+		need_proxy = (ro.ro_rt &&
+		    (ro.ro_rt->rt_flags & RTF_ANNOUNCE) != 0 &&
+		    ro.ro_rt->rt_gateway->sa_family == AF_LINK);
+		if (ro.ro_rt != NULL) {
 			if (need_proxy)
-				proxydl = *SDL(rt->rt_gateway);
-			RTFREE_LOCKED(rt);
+				proxydl = *SDL(ro.ro_rt->rt_gateway);
+			RTFREE(ro.ro_rt);
 		}
 		if (need_proxy) {
 			/*

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 13:19:56 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 176238FB;
 Mon, 11 Nov 2013 13:19:56 +0000 (UTC) (envelope-from ae@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 053F52679;
 Mon, 11 Nov 2013 13:19:56 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rABDJt4p057654;
 Mon, 11 Nov 2013 13:19:55 GMT (envelope-from ae@svn.freebsd.org)
Received: (from ae@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rABDJt1Y057653;
 Mon, 11 Nov 2013 13:19:55 GMT (envelope-from ae@svn.freebsd.org)
Message-Id: <201311111319.rABDJt1Y057653@svn.freebsd.org>
From: "Andrey V. Elsukov" <ae@FreeBSD.org>
Date: Mon, 11 Nov 2013 13:19:55 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257987 - head/sys/netipsec
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 13:19:56 -0000

Author: ae
Date: Mon Nov 11 13:19:55 2013
New Revision: 257987
URL: http://svnweb.freebsd.org/changeset/base/257987

Log:
  Initialize prot variable.
  
  PR:		177417
  MFC after:	1 week

Modified:
  head/sys/netipsec/ipsec_input.c

Modified: head/sys/netipsec/ipsec_input.c
==============================================================================
--- head/sys/netipsec/ipsec_input.c	Mon Nov 11 13:06:31 2013	(r257986)
+++ head/sys/netipsec/ipsec_input.c	Mon Nov 11 13:19:55 2013	(r257987)
@@ -603,6 +603,7 @@ ipsec6_common_input_cb(struct mbuf *m, s
 	ip6->ip6_plen = htons(m->m_pkthdr.len - sizeof(struct ip6_hdr));
 
 	/* Save protocol */
+	prot = 0;
 	m_copydata(m, protoff, 1, (unsigned char *) &prot);
 
 #ifdef notyet

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 14:04:26 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 9B183A13;
 Mon, 11 Nov 2013 14:04:26 +0000 (UTC)
 (envelope-from brueffer@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 88207296A;
 Mon, 11 Nov 2013 14:04:26 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rABE4Q1S074502;
 Mon, 11 Nov 2013 14:04:26 GMT
 (envelope-from brueffer@svn.freebsd.org)
Received: (from brueffer@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rABE4QVe074501;
 Mon, 11 Nov 2013 14:04:26 GMT
 (envelope-from brueffer@svn.freebsd.org)
Message-Id: <201311111404.rABE4QVe074501@svn.freebsd.org>
From: Christian Brueffer <brueffer@FreeBSD.org>
Date: Mon, 11 Nov 2013 14:04:26 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject: svn commit: r257989 - stable/10/bin/df
X-SVN-Group: stable-10
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 14:04:26 -0000

Author: brueffer
Date: Mon Nov 11 14:04:26 2013
New Revision: 257989
URL: http://svnweb.freebsd.org/changeset/base/257989

Log:
  MFC: r257288
  
  Clean up a spurious "." in SEE ALSO.
  
  Approved by:	re (glebius)

Modified:
  stable/10/bin/df/df.1
Directory Properties:
  stable/10/bin/df/   (props changed)

Modified: stable/10/bin/df/df.1
==============================================================================
--- stable/10/bin/df/df.1	Mon Nov 11 13:25:49 2013	(r257988)
+++ stable/10/bin/df/df.1	Mon Nov 11 14:04:26 2013	(r257989)
@@ -198,7 +198,7 @@ If the value is outside, it will be set 
 .Xr mount 8 ,
 .Xr pstat 8 ,
 .Xr quot 8 ,
-.Xr swapinfo 8 .
+.Xr swapinfo 8
 .Sh STANDARDS
 With the exception of most options,
 the

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 14:08:25 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id EC4ACD34;
 Mon, 11 Nov 2013 14:08:25 +0000 (UTC)
 (envelope-from brueffer@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id BF7EE298D;
 Mon, 11 Nov 2013 14:08:25 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rABE8P5R075799;
 Mon, 11 Nov 2013 14:08:25 GMT
 (envelope-from brueffer@svn.freebsd.org)
Received: (from brueffer@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rABE8PtD075798;
 Mon, 11 Nov 2013 14:08:25 GMT
 (envelope-from brueffer@svn.freebsd.org)
Message-Id: <201311111408.rABE8PtD075798@svn.freebsd.org>
From: Christian Brueffer <brueffer@FreeBSD.org>
Date: Mon, 11 Nov 2013 14:08:25 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject: svn commit: r257990 - stable/10/share/man/man4
X-SVN-Group: stable-10
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 14:08:26 -0000

Author: brueffer
Date: Mon Nov 11 14:08:25 2013
New Revision: 257990
URL: http://svnweb.freebsd.org/changeset/base/257990

Log:
  MFC: r257287
  
  New sentence -> new line and some mdoc cleanup.
  
  Approved by:	re (glebius)

Modified:
  stable/10/share/man/man4/bpf.4
Directory Properties:
  stable/10/share/man/man4/   (props changed)

Modified: stable/10/share/man/man4/bpf.4
==============================================================================
--- stable/10/share/man/man4/bpf.4	Mon Nov 11 14:04:26 2013	(r257989)
+++ stable/10/share/man/man4/bpf.4	Mon Nov 11 14:08:25 2013	(r257990)
@@ -697,9 +697,11 @@ is used when the time stamp is set to
 .Dv BPF_T_MICROTIME_MONOTONIC_FAST ,
 or
 .Dv BPF_T_NONE
-for backward compatibility reasons.  Otherwise,
+for backward compatibility reasons.
+Otherwise,
 .Vt bpf_xhdr
-is used.  However,
+is used.
+However,
 .Vt bpf_hdr
 may be deprecated in the near future.
 Suitable precautions
@@ -962,19 +964,23 @@ subsystem
 .It Va net.bpf.optimize_writers: No 0
 Various programs use BPF to send (but not receive) raw packets
 (cdpd, lldpd, dhcpd, dhcp relays, etc. are good examples of such programs).
-They do not need incoming packets to be send to them. Turning this option on
+They do not need incoming packets to be send to them.
+Turning this option on
 makes new BPF users to be attached to write-only interface list until program
 explicitly specifies read filter via
-.Cm pcap_set_filter() .
+.Fn pcap_set_filter .
 This removes any performance degradation for high-speed interfaces.
 .It Va net.bpf.stats:
 Binary interface for retrieving general statistics.
 .It Va net.bpf.zerocopy_enable: No 0
-Permits zero-copy to be used with net BPF readers. Use with caution.
+Permits zero-copy to be used with net BPF readers.
+Use with caution.
 .It Va net.bpf.maxinsns: No 512
-Maximum number of instructions that BPF program can contain. Use
+Maximum number of instructions that BPF program can contain.
+Use
 .Xr tcpdump 1
--d option to determine approximate number of instruction for any filter.
+.Fl d
+option to determine approximate number of instruction for any filter.
 .It Va net.bpf.maxbufsize: No 524288
 Maximum buffer size to allocate for packets buffer.
 .It Va net.bpf.bufsize: No 4096

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 15:00:34 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 7C057BC;
 Mon, 11 Nov 2013 15:00:34 +0000 (UTC)
 (envelope-from nwhitehorn@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 4F94D2D54;
 Mon, 11 Nov 2013 15:00:34 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rABF0YrS095102;
 Mon, 11 Nov 2013 15:00:34 GMT
 (envelope-from nwhitehorn@svn.freebsd.org)
Received: (from nwhitehorn@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rABF0YgV095101;
 Mon, 11 Nov 2013 15:00:34 GMT
 (envelope-from nwhitehorn@svn.freebsd.org)
Message-Id: <201311111500.rABF0YgV095101@svn.freebsd.org>
From: Nathan Whitehorn <nwhitehorn@FreeBSD.org>
Date: Mon, 11 Nov 2013 15:00:34 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257991 - head/sys/powerpc/ofw
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 15:00:34 -0000

Author: nwhitehorn
Date: Mon Nov 11 15:00:33 2013
New Revision: 257991
URL: http://svnweb.freebsd.org/changeset/base/257991

Log:
  Consolidate Apple firmware hacks and improve them by switching on the
  presence of mac-io devices in the tree, which uniquely identifies Apple
  hardware.
  
  MFC after:	6 weeks

Modified:
  head/sys/powerpc/ofw/ofw_machdep.c

Modified: head/sys/powerpc/ofw/ofw_machdep.c
==============================================================================
--- head/sys/powerpc/ofw/ofw_machdep.c	Mon Nov 11 14:08:25 2013	(r257990)
+++ head/sys/powerpc/ofw/ofw_machdep.c	Mon Nov 11 15:00:33 2013	(r257991)
@@ -67,6 +67,7 @@ extern register_t ofmsr[5];
 extern void	*openfirmware_entry;
 static void	*fdt;
 int		ofw_real_mode;
+static int	apple_hacks;
 
 int		ofwcall(void *);
 static int	openfirmware(void *args);
@@ -79,6 +80,9 @@ register_t	ofw_sprg0_save;
 static __inline void
 ofw_sprg_prepare(void)
 {
+	if (!apple_hacks)
+		return;
+	
 	/*
 	 * Assume that interrupt are disabled at this point, or
 	 * SPRG1-3 could be trashed
@@ -98,6 +102,9 @@ ofw_sprg_prepare(void)
 static __inline void
 ofw_sprg_restore(void)
 {
+	if (!apple_hacks)
+		return;
+	
 	/*
 	 * Note that SPRG1-3 contents are irrelevant. They are scratch
 	 * registers used in the early portion of trap handling when
@@ -178,15 +185,10 @@ parse_ofw_memory(phandle_t node, const c
 
 	/*
 	 * On Apple hardware, address_cells is always 1 for "available",
-	 * even when it is explicitly set to 2. Then all memory above 4 GB
-	 * should be added by hand to the available list. Detect Apple hardware
-	 * by seeing if ofw_real_mode is set -- only Apple seems to use
-	 * virtual-mode OF.
+	 * even when it is explicitly set to 2. All memory above 4 GB
+	 * also needs to be added by hand to the available list.
 	 */
-	if (strcmp(prop, "available") == 0 && !ofw_real_mode)
-		apple_hack_mode = 1;
-	
-	if (apple_hack_mode)
+	if (strcmp(prop, "available") == 0 && apple_hacks)
 		address_cells = 1;
 
 	/*
@@ -241,7 +243,7 @@ parse_ofw_memory(phandle_t node, const c
 	sz = j*sizeof(output[0]);
 
 	#ifdef __powerpc64__
-	if (apple_hack_mode) {
+	if (strcmp(prop, "available") == 0 && apple_hacks) {
 		/* Add in regions above 4 GB to the available list */
 		struct mem_region himem[16];
 		int hisz;
@@ -480,6 +482,9 @@ OF_bootstrap()
 		OF_init(fdt);
 	} 
 
+	/* Apple firmware has some bugs. Check for a "mac-io" alias. */
+	apple_hacks = (OF_finddevice("mac-io") != -1) ? 1 : 0;
+
 	return (status);
 }
 

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 15:23:35 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id C0753B27;
 Mon, 11 Nov 2013 15:23:35 +0000 (UTC)
 (envelope-from nwhitehorn@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 935702F3C;
 Mon, 11 Nov 2013 15:23:35 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rABFNZJP003070;
 Mon, 11 Nov 2013 15:23:35 GMT
 (envelope-from nwhitehorn@svn.freebsd.org)
Received: (from nwhitehorn@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rABFNZHk003069;
 Mon, 11 Nov 2013 15:23:35 GMT
 (envelope-from nwhitehorn@svn.freebsd.org)
Message-Id: <201311111523.rABFNZHk003069@svn.freebsd.org>
From: Nathan Whitehorn <nwhitehorn@FreeBSD.org>
Date: Mon, 11 Nov 2013 15:23:35 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257992 - head/sys/powerpc/ofw
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 15:23:35 -0000

Author: nwhitehorn
Date: Mon Nov 11 15:23:35 2013
New Revision: 257992
URL: http://svnweb.freebsd.org/changeset/base/257992

Log:
  Allow OF_decode_addr() to also be able to map resources on big-endian
  devices. To this end, make PCI device detection rely on the device_type
  field rather than name, as per the standard.

Modified:
  head/sys/powerpc/ofw/ofw_machdep.c

Modified: head/sys/powerpc/ofw/ofw_machdep.c
==============================================================================
--- head/sys/powerpc/ofw/ofw_machdep.c	Mon Nov 11 15:00:33 2013	(r257991)
+++ head/sys/powerpc/ofw/ofw_machdep.c	Mon Nov 11 15:23:35 2013	(r257992)
@@ -627,7 +627,7 @@ OF_getetheraddr(device_t dev, u_char *ad
 static void
 OF_get_addr_props(phandle_t node, uint32_t *addrp, uint32_t *sizep, int *pcip)
 {
-	char name[16];
+	char type[64];
 	uint32_t addr, size;
 	int pci, res;
 
@@ -639,10 +639,10 @@ OF_get_addr_props(phandle_t node, uint32
 		size = 1;
 	pci = 0;
 	if (addr == 3 && size == 2) {
-		res = OF_getprop(node, "name", name, sizeof(name));
+		res = OF_getprop(node, "device_type", type, sizeof(type));
 		if (res != -1) {
-			name[sizeof(name) - 1] = '\0';
-			pci = (strcmp(name, "pci") == 0) ? 1 : 0;
+			type[sizeof(type) - 1] = '\0';
+			pci = (strcmp(type, "pci") == 0) ? 1 : 0;
 		}
 	}
 	if (addrp != NULL)
@@ -676,8 +676,13 @@ OF_decode_addr(phandle_t dev, int regno,
 	if (tag == NULL || handle == NULL)
 		return (EINVAL);
 
+	/* Assume big-endian unless we find a PCI device */
+	*tag = &bs_be_tag;
+
 	/* Get the requested register. */
 	OF_get_addr_props(bridge, &naddr, &nsize, &pci);
+	if (pci)
+		*tag = &bs_le_tag;
 	res = OF_getprop(dev, (pci) ? "assigned-addresses" : "reg",
 	    cell, sizeof(cell));
 	if (res == -1)
@@ -705,6 +710,8 @@ OF_decode_addr(phandle_t dev, int regno,
 	parent = OF_parent(bridge);
 	while (parent != 0) {
 		OF_get_addr_props(parent, &nbridge, NULL, &pcib);
+		if (pcib)
+			*tag = &bs_le_tag;
 		res = OF_getprop(bridge, "ranges", cell, sizeof(cell));
 		if (res == -1)
 			goto next;
@@ -745,7 +752,6 @@ OF_decode_addr(phandle_t dev, int regno,
 		OF_get_addr_props(bridge, &naddr, &nsize, &pci);
 	}
 
-	*tag = &bs_le_tag;
 	return (bus_space_map(*tag, addr, size,
 	    prefetch ? BUS_SPACE_MAP_PREFETCHABLE : 0, handle));
 }

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 15:35:55 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 00226CF
 for <svn-src-all@freebsd.org>; Mon, 11 Nov 2013 15:35:54 +0000 (UTC)
 (envelope-from bryan@shatow.net)
Received: from secure.xzibition.com (secure.xzibition.com [173.160.118.92])
 (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id A8E4F201C
 for <svn-src-all@freebsd.org>; Mon, 11 Nov 2013 15:35:54 +0000 (UTC)
DomainKey-Signature: a=rsa-sha1; c=nofws; d=shatow.net; h=date:from:to
 :cc:subject:message-id:references:mime-version:content-type
 :in-reply-to; q=dns; s=sweb; b=MmygoWH//sIMYbiQ1NOnCkRbOzuYKrdKJ
 i7yggj3es8LvreT8jxllRAViNraDjEwrKvogW/9Q/HNnAIvN3O4WOll/szIVrBUP
 F8158h/GsADHpfn7iIvLDKJ+MQ/J5Eb2QzqKuKJre5IWvQg6tqOgTksyaQ42hgRu
 vdrXfjiyhU=
DKIM-Signature: v=1; a=rsa-sha256; c=simple; d=shatow.net; h=date:from
 :to:cc:subject:message-id:references:mime-version:content-type
 :in-reply-to; s=sweb; bh=FMB6Vbw01/km20S+R5letLFXoLcL0EmfbIe4Tru
 GAwg=; b=ZLxYKtdUVA/eLVJkp2h6WyeNlFvTJTLLml7lwqiFlu6Y0Oachb7FmfG
 P23YEUsYrDJ6FLri9LWNCzszABnmhxLVZs57BW3Dj6NTYllhvkmo1TlTDlsrQmp1
 dLMniC1i60xCNSSv5ukvTeAG4A2PATU7FVqQoI2vgaWwD/sSGItI=
Received: (qmail 37023 invoked from network); 11 Nov 2013 09:35:46 -0600
Received: from unknown (HELO admin.xzibition.com)
 (bryan@shatow.net@173.160.118.90)
 by sweb.xzibition.com with ESMTPA; 11 Nov 2013 09:35:46 -0600
Date: Mon, 11 Nov 2013 09:35:44 -0600
From: Bryan Drewery <bryan@shatow.net>
To: Gleb Smirnoff <glebius@FreeBSD.org>
Subject: Re: svn commit: r257945 - head/usr.sbin/pkg
Message-ID: <20131111153544.GI98118@admin.xzibition.com>
References: <201311110744.rAB7iA6g041490@svn.freebsd.org>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
 protocol="application/pgp-signature"; boundary="lqaZmxkhekPBfBzr"
Content-Disposition: inline
In-Reply-To: <201311110744.rAB7iA6g041490@svn.freebsd.org>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org,
 src-committers@freebsd.org
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 15:35:55 -0000


--lqaZmxkhekPBfBzr
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Mon, Nov 11, 2013 at 07:44:10AM +0000, Gleb Smirnoff wrote:
> Author: glebius
> Date: Mon Nov 11 07:44:09 2013
> New Revision: 257945
> URL: http://svnweb.freebsd.org/changeset/base/257945
>=20
> Log:
>   Do not use just freed memory.
>  =20
>   Sponsored by:	Nginx, Inc.

Can you please also MFC this?

>=20
> Modified:
>   head/usr.sbin/pkg/pkg.c
>=20
> Modified: head/usr.sbin/pkg/pkg.c
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
> --- head/usr.sbin/pkg/pkg.c	Mon Nov 11 06:22:29 2013	(r257944)
> +++ head/usr.sbin/pkg/pkg.c	Mon Nov 11 07:44:09 2013	(r257945)
> @@ -323,9 +323,9 @@ parse_fingerprint(yaml_document_t *doc,=20
>  static void
>  free_fingerprint_list(struct fingerprint_list* list)
>  {
> -	struct fingerprint* fingerprint;
> +	struct fingerprint *fingerprint, *tmp;
> =20
> -	STAILQ_FOREACH(fingerprint, list, next) {
> +	STAILQ_FOREACH_SAFE(fingerprint, list, next, tmp) {
>  		if (fingerprint->name)
>  			free(fingerprint->name);
>  		free(fingerprint);
> _______________________________________________
> svn-src-all@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/svn-src-all
> To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"

--lqaZmxkhekPBfBzr
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.21 (FreeBSD)

iQJ8BAEBCgBmBQJSgPlMXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQzNkZFQkU5OTJGNTI4MERGNDgxMTM2MkE2
RTc4MkFDMDNDOUIwQ0Y5AAoJEG54KsA8mwz5vHUP/jK+yO2he1ZuN7H3s/PfHFvE
FxGxHa+A8COKGSXkHhuqnafb72y7EXlnZhZrciKrczeXn9wVMjl7ko0d2n+WXQ0a
kIs9aqbm+/zRfdEO/AevyDglLuOO2hpJV6k3RrRc+PRItxOOZveg5ANcgOkHy787
r5ysZ0WePROYZcjSQPUfYjwhmFy+dSQaAQcoN46iJBxZCPxWup4k85Lx+lKxU/8Y
9aMIXWaZMe7j4usadC7FAlTNlHKIqMV82DAiK2CA3UZDeqQ+veBfyJeACbnIy1DO
2cdwCmkt1YTPn+Tny7Q2cwDwGrd33SoriPzbmg5yLUXu472As4wTmHLk5/Lsw1xa
fVaHq1ta9aXn3HZcjBwSshu+ewE4AoJBRI/uKx6ZbYz6habchyBaZX1lTOUoE9H/
s8tNNXSlU4v6mK11lEz+JBOvQ0YrhgbpMTXZK4thdLXlKzWQvXEjYmTu6lyX0pCP
aE3waq6flmf/h/xGHjE+mZvXvfkUS1HKAmfxv9bzW9pImzAIB6Tf8po/pyeMCgVQ
AmHqj5o5Wj0HM1WHyv/Gb8/F/WwQ7MCRVZHwgInyDp/u8gUCkLPtK+l8PlZ/nwHm
KThelleIvqi/OIA+hDjc7Gaq2eu6Eg1Iouc7cm2+iyLTnENWMRls3FN66GhmGzvK
6qdb2sRdPqJItiuEllv3
=3a3T
-----END PGP SIGNATURE-----

--lqaZmxkhekPBfBzr--

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 15:43:23 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 73BE04BB;
 Mon, 11 Nov 2013 15:43:23 +0000 (UTC)
 (envelope-from nwhitehorn@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 5E5A120E0;
 Mon, 11 Nov 2013 15:43:23 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rABFhN8w009858;
 Mon, 11 Nov 2013 15:43:23 GMT
 (envelope-from nwhitehorn@svn.freebsd.org)
Received: (from nwhitehorn@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rABFhM1K009850;
 Mon, 11 Nov 2013 15:43:22 GMT
 (envelope-from nwhitehorn@svn.freebsd.org)
Message-Id: <201311111543.rABFhM1K009850@svn.freebsd.org>
From: Nathan Whitehorn <nwhitehorn@FreeBSD.org>
Date: Mon, 11 Nov 2013 15:43:22 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257993 - in head/sys: conf dev/tsec powerpc/ofw
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 15:43:23 -0000

Author: nwhitehorn
Date: Mon Nov 11 15:43:21 2013
New Revision: 257993
URL: http://svnweb.freebsd.org/changeset/base/257993

Log:
  Make tsec work with the device tree present on the RB800. The previous code
  assumed that the MDIO bus was a direct child of the Ethernet interface. It
  may not be and indeed on many device trees is not. While here, add proper
  locking for MII transactions, which may be on a bus shared by several MACs.
  
  Hardware donated by:	Benjamin Perrault

Modified:
  head/sys/conf/files.powerpc
  head/sys/dev/tsec/if_tsec.c
  head/sys/dev/tsec/if_tsec.h
  head/sys/dev/tsec/if_tsec_fdt.c
  head/sys/dev/tsec/if_tsecreg.h
  head/sys/powerpc/ofw/ofw_machdep.c

Modified: head/sys/conf/files.powerpc
==============================================================================
--- head/sys/conf/files.powerpc	Mon Nov 11 15:23:35 2013	(r257992)
+++ head/sys/conf/files.powerpc	Mon Nov 11 15:43:21 2013	(r257993)
@@ -134,7 +134,7 @@ powerpc/mpc85xx/lbc.c		optional	mpc85xx
 powerpc/mpc85xx/mpc85xx.c	optional	mpc85xx
 powerpc/mpc85xx/pci_mpc85xx.c	optional	pci mpc85xx
 powerpc/ofw/ofw_cpu.c		optional	aim
-powerpc/ofw/ofw_machdep.c	optional	aim
+powerpc/ofw/ofw_machdep.c	standard
 powerpc/ofw/ofw_pci.c		optional	pci
 powerpc/ofw/ofw_pcibus.c	optional	pci
 powerpc/ofw/ofw_pcib_pci.c	optional	pci

Modified: head/sys/dev/tsec/if_tsec.c
==============================================================================
--- head/sys/dev/tsec/if_tsec.c	Mon Nov 11 15:23:35 2013	(r257992)
+++ head/sys/dev/tsec/if_tsec.c	Mon Nov 11 15:43:21 2013	(r257993)
@@ -112,6 +112,8 @@ DRIVER_MODULE(miibus, tsec, miibus_drive
 MODULE_DEPEND(tsec, ether, 1, 1, 1);
 MODULE_DEPEND(tsec, miibus, 1, 1, 1);
 
+struct mtx tsec_phy_mtx;
+
 int
 tsec_attach(struct tsec_softc *sc)
 {
@@ -122,6 +124,10 @@ tsec_attach(struct tsec_softc *sc)
 	int error = 0;
 	int i;
 
+	/* Initialize global (because potentially shared) MII lock */
+	if (!mtx_initialized(&tsec_phy_mtx))
+		mtx_init(&tsec_phy_mtx, "tsec mii", NULL, MTX_DEF);
+
 	/* Reset all TSEC counters */
 	TSEC_TX_RX_COUNTERS_INIT(sc);
 
@@ -407,21 +413,24 @@ tsec_init_locked(struct tsec_softc *sc)
 	 */
 	TSEC_WRITE(sc, TSEC_REG_TBIPA, 5);
 
+	TSEC_PHY_LOCK(sc);
+
 	/* Step 6: Reset the management interface */
-	TSEC_WRITE(sc->phy_sc, TSEC_REG_MIIMCFG, TSEC_MIIMCFG_RESETMGMT);
+	TSEC_PHY_WRITE(sc, TSEC_REG_MIIMCFG, TSEC_MIIMCFG_RESETMGMT);
 
 	/* Step 7: Setup the MII Mgmt clock speed */
-	TSEC_WRITE(sc->phy_sc, TSEC_REG_MIIMCFG, TSEC_MIIMCFG_CLKDIV28);
+	TSEC_PHY_WRITE(sc, TSEC_REG_MIIMCFG, TSEC_MIIMCFG_CLKDIV28);
 
 	/* Step 8: Read MII Mgmt indicator register and check for Busy = 0 */
 	timeout = TSEC_READ_RETRY;
-	while (--timeout && (TSEC_READ(sc->phy_sc, TSEC_REG_MIIMIND) &
+	while (--timeout && (TSEC_PHY_READ(sc, TSEC_REG_MIIMIND) &
 	    TSEC_MIIMIND_BUSY))
 		DELAY(TSEC_READ_DELAY);
 	if (timeout == 0) {
 		if_printf(ifp, "tsec_init_locked(): Mgmt busy timeout\n");
 		return;
 	}
+	TSEC_PHY_UNLOCK(sc);
 
 	/* Step 9: Setup the MII Mgmt */
 	mii_mediachg(sc->tsec_mii);
@@ -1562,22 +1571,27 @@ tsec_miibus_readreg(device_t dev, int ph
 {
 	struct tsec_softc *sc;
 	uint32_t timeout;
+	int rv;
 
 	sc = device_get_softc(dev);
 
-	TSEC_WRITE(sc->phy_sc, TSEC_REG_MIIMADD, (phy << 8) | reg);
-	TSEC_WRITE(sc->phy_sc, TSEC_REG_MIIMCOM, 0);
-	TSEC_WRITE(sc->phy_sc, TSEC_REG_MIIMCOM, TSEC_MIIMCOM_READCYCLE);
+	TSEC_PHY_LOCK();
+	TSEC_PHY_WRITE(sc, TSEC_REG_MIIMADD, (phy << 8) | reg);
+	TSEC_PHY_WRITE(sc, TSEC_REG_MIIMCOM, 0);
+	TSEC_PHY_WRITE(sc, TSEC_REG_MIIMCOM, TSEC_MIIMCOM_READCYCLE);
 
 	timeout = TSEC_READ_RETRY;
-	while (--timeout && TSEC_READ(sc->phy_sc, TSEC_REG_MIIMIND) &
+	while (--timeout && TSEC_PHY_READ(sc, TSEC_REG_MIIMIND) &
 	    (TSEC_MIIMIND_NOTVALID | TSEC_MIIMIND_BUSY))
 		DELAY(TSEC_READ_DELAY);
 
 	if (timeout == 0)
 		device_printf(dev, "Timeout while reading from PHY!\n");
 
-	return (TSEC_READ(sc->phy_sc, TSEC_REG_MIIMSTAT));
+	rv = TSEC_PHY_READ(sc, TSEC_REG_MIIMSTAT);
+	TSEC_PHY_UNLOCK();
+
+	return (rv);
 }
 
 int
@@ -1588,13 +1602,15 @@ tsec_miibus_writereg(device_t dev, int p
 
 	sc = device_get_softc(dev);
 
-	TSEC_WRITE(sc->phy_sc, TSEC_REG_MIIMADD, (phy << 8) | reg);
-	TSEC_WRITE(sc->phy_sc, TSEC_REG_MIIMCON, value);
+	TSEC_PHY_LOCK();
+	TSEC_PHY_WRITE(sc, TSEC_REG_MIIMADD, (phy << 8) | reg);
+	TSEC_PHY_WRITE(sc, TSEC_REG_MIIMCON, value);
 
 	timeout = TSEC_READ_RETRY;
-	while (--timeout && (TSEC_READ(sc->phy_sc, TSEC_REG_MIIMIND) &
+	while (--timeout && (TSEC_READ(sc, TSEC_REG_MIIMIND) &
 	    TSEC_MIIMIND_BUSY))
 		DELAY(TSEC_READ_DELAY);
+	TSEC_PHY_UNLOCK();
 
 	if (timeout == 0)
 		device_printf(dev, "Timeout while writing to PHY!\n");

Modified: head/sys/dev/tsec/if_tsec.h
==============================================================================
--- head/sys/dev/tsec/if_tsec.h	Mon Nov 11 15:23:35 2013	(r257992)
+++ head/sys/dev/tsec/if_tsec.h	Mon Nov 11 15:43:21 2013	(r257993)
@@ -133,7 +133,8 @@ struct tsec_softc {
 	struct mbuf	*frame;
 
 	int		phyaddr;
-	struct tsec_softc *phy_sc;
+	bus_space_tag_t phy_bst;
+	bus_space_handle_t phy_bsh;
 };
 
 /* interface to get/put generic objects */
@@ -253,6 +254,14 @@ struct tsec_softc {
 #define TSEC_WRITE(sc, reg, val)	\
 		bus_space_write_4((sc)->sc_bas.bst, (sc)->sc_bas.bsh, (reg), (val))
 
+extern struct mtx tsec_phy_mtx;
+#define TSEC_PHY_LOCK(sc)	mtx_lock(&tsec_phy_mtx)
+#define TSEC_PHY_UNLOCK(sc)	mtx_unlock(&tsec_phy_mtx)
+#define TSEC_PHY_READ(sc, reg)		\
+		bus_space_read_4((sc)->phy_bst, (sc)->phy_bsh, (reg))
+#define TSEC_PHY_WRITE(sc, reg, val)	\
+		bus_space_write_4((sc)->phy_bst, (sc)->phy_bsh, (reg), (val))
+
 /* Lock for transmitter */
 #define TSEC_TRANSMIT_LOCK(sc) do {					\
 		mtx_assert(&(sc)->receive_lock, MA_NOTOWNED);		\

Modified: head/sys/dev/tsec/if_tsec_fdt.c
==============================================================================
--- head/sys/dev/tsec/if_tsec_fdt.c	Mon Nov 11 15:23:35 2013	(r257992)
+++ head/sys/dev/tsec/if_tsec_fdt.c	Mon Nov 11 15:43:21 2013	(r257993)
@@ -110,6 +110,10 @@ tsec_fdt_probe(device_t dev)
 	struct tsec_softc *sc;
 	uint32_t id;
 
+	if (ofw_bus_get_type(dev) == NULL ||
+	    strcmp(ofw_bus_get_type(dev), "network") != 0)
+		return (ENXIO);
+
 	if (!ofw_bus_is_compatible(dev, "gianfar"))
 		return (ENXIO);
 
@@ -148,6 +152,7 @@ static int
 tsec_fdt_attach(device_t dev)
 {
 	struct tsec_softc *sc;
+	phandle_t phy;
 	int error = 0;
 
 	sc = device_get_softc(dev);
@@ -155,9 +160,14 @@ tsec_fdt_attach(device_t dev)
 	sc->node = ofw_bus_get_node(dev);
 
 	/* Get phy address from fdt */
-	if (fdt_get_phyaddr(sc->node, sc->dev, &sc->phyaddr,
-	    (void **)&sc->phy_sc) != 0)
+	if (OF_getencprop(sc->node, "phy-handle", &phy, sizeof(phy)) <= 0) {
+		device_printf(dev, "PHY not found in device tree");
 		return (ENXIO);
+	}
+
+	phy = OF_xref_phandle(phy);
+	OF_decode_addr(OF_parent(phy), 0, &sc->phy_bst, &sc->phy_bsh);
+	OF_getencprop(phy, "reg", &sc->phyaddr, sizeof(sc->phyaddr));
 
 	/* Init timer */
 	callout_init(&sc->tsec_callout, 1);
@@ -324,6 +334,13 @@ tsec_get_hwaddr(struct tsec_softc *sc, u
 		return;
 	}
 
+	/* Also try the mac-address property, which is second-best */
+	i = OF_getprop(sc->node, "mac-address", (void *)hw.addr, 6);
+	if (i == 6 && (hw.reg[0] != 0 || hw.reg[1] != 0)) {
+		bcopy(hw.addr, addr, 6);
+		return;
+	}
+
 	/*
 	 * Fall back -- use the currently programmed address in the hope that
 	 * it was set be firmware...

Modified: head/sys/dev/tsec/if_tsecreg.h
==============================================================================
--- head/sys/dev/tsec/if_tsecreg.h	Mon Nov 11 15:23:35 2013	(r257992)
+++ head/sys/dev/tsec/if_tsecreg.h	Mon Nov 11 15:43:21 2013	(r257993)
@@ -77,12 +77,13 @@
 				       * register */
 #define TSEC_REG_HAFDUP		0x50c /* Half-duplex register */
 #define TSEC_REG_MAXFRM		0x510 /* Maximum frame length register */
-#define TSEC_REG_MIIMCFG	0x520 /* MII Management configuration register */
-#define TSEC_REG_MIIMCOM	0x524 /* MII Management command register */
-#define TSEC_REG_MIIMADD	0x528 /* MII Management address register */
-#define TSEC_REG_MIIMCON	0x52c /* MII Management control register */
-#define TSEC_REG_MIIMSTAT	0x530 /* MII Management status register */
-#define TSEC_REG_MIIMIND	0x534 /* MII Management indicator register */
+#define TSEC_REG_MIIBASE	0x520 /* MII Management base, rest offsets */
+#define TSEC_REG_MIIMCFG	0x0   /* MII Management configuration register */
+#define TSEC_REG_MIIMCOM	0x4   /* MII Management command register */
+#define TSEC_REG_MIIMADD	0x8   /* MII Management address register */
+#define TSEC_REG_MIIMCON	0xc   /* MII Management control register */
+#define TSEC_REG_MIIMSTAT	0x10  /* MII Management status register */
+#define TSEC_REG_MIIMIND	0x14  /* MII Management indicator register */
 #define TSEC_REG_IFSTAT		0x53c /* Interface status register */
 #define TSEC_REG_MACSTNADDR1	0x540 /* Station address register, part 1 */
 #define TSEC_REG_MACSTNADDR2	0x544 /* Station address register, part 2 */

Modified: head/sys/powerpc/ofw/ofw_machdep.c
==============================================================================
--- head/sys/powerpc/ofw/ofw_machdep.c	Mon Nov 11 15:23:35 2013	(r257992)
+++ head/sys/powerpc/ofw/ofw_machdep.c	Mon Nov 11 15:43:21 2013	(r257993)
@@ -63,11 +63,13 @@ __FBSDID("$FreeBSD$");
 static struct mem_region OFmem[PHYS_AVAIL_SZ], OFavail[PHYS_AVAIL_SZ];
 static struct mem_region OFfree[PHYS_AVAIL_SZ];
 
+static int	apple_hacks;
+
+#ifdef AIM
 extern register_t ofmsr[5];
 extern void	*openfirmware_entry;
 static void	*fdt;
 int		ofw_real_mode;
-static int	apple_hacks;
 
 int		ofwcall(void *);
 static int	openfirmware(void *args);
@@ -114,6 +116,7 @@ ofw_sprg_restore(void)
 	 */
 	__asm __volatile("mtsprg0 %0" :: "r"(ofw_sprg0_save));
 }
+#endif
 
 /*
  * Memory region utilities: determine if two regions overlap,
@@ -436,6 +439,7 @@ ofw_mem_regions(struct mem_region **memp
 	*availsz = fsz;
 }
 
+#ifdef AIM
 void
 OF_initial_setup(void *fdt_ptr, void *junk, int (*openfirm)(void *))
 {
@@ -607,6 +611,8 @@ OF_reboot()
 	for (;;);	/* just in case */
 }
 
+#endif /* AIM */
+
 void
 OF_getetheraddr(device_t dev, u_char *addr)
 {

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 15:44:21 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 61CEE614;
 Mon, 11 Nov 2013 15:44:21 +0000 (UTC)
 (envelope-from nwhitehorn@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 4EF4120F3;
 Mon, 11 Nov 2013 15:44:21 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rABFiLhc010045;
 Mon, 11 Nov 2013 15:44:21 GMT
 (envelope-from nwhitehorn@svn.freebsd.org)
Received: (from nwhitehorn@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rABFiLAC010044;
 Mon, 11 Nov 2013 15:44:21 GMT
 (envelope-from nwhitehorn@svn.freebsd.org)
Message-Id: <201311111544.rABFiLAC010044@svn.freebsd.org>
From: Nathan Whitehorn <nwhitehorn@FreeBSD.org>
Date: Mon, 11 Nov 2013 15:44:21 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257994 - head/sys/powerpc/mpc85xx
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 15:44:21 -0000

Author: nwhitehorn
Date: Mon Nov 11 15:44:20 2013
New Revision: 257994
URL: http://svnweb.freebsd.org/changeset/base/257994

Log:
  Be more flexible about which compatible strings to accept. This brings up
  the PCI Express bus on the RB800 using the firmware device tree.

Modified:
  head/sys/powerpc/mpc85xx/pci_mpc85xx.c

Modified: head/sys/powerpc/mpc85xx/pci_mpc85xx.c
==============================================================================
--- head/sys/powerpc/mpc85xx/pci_mpc85xx.c	Mon Nov 11 15:43:21 2013	(r257993)
+++ head/sys/powerpc/mpc85xx/pci_mpc85xx.c	Mon Nov 11 15:44:20 2013	(r257994)
@@ -181,6 +181,7 @@ fsl_pcib_probe(device_t dev)
 		return (ENXIO);
 
 	if (!(ofw_bus_is_compatible(dev, "fsl,mpc8540-pci") ||
+	    ofw_bus_is_compatible(dev, "fsl,mpc8540-pcie") ||
 	    ofw_bus_is_compatible(dev, "fsl,mpc8548-pcie")))
 		return (ENXIO);
 

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 16:14:27 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id E5735E5F;
 Mon, 11 Nov 2013 16:14:26 +0000 (UTC)
 (envelope-from nwhitehorn@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id B8CC12304;
 Mon, 11 Nov 2013 16:14:26 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rABGEQPV020429;
 Mon, 11 Nov 2013 16:14:26 GMT
 (envelope-from nwhitehorn@svn.freebsd.org)
Received: (from nwhitehorn@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rABGEQnT020425;
 Mon, 11 Nov 2013 16:14:26 GMT
 (envelope-from nwhitehorn@svn.freebsd.org)
Message-Id: <201311111614.rABGEQnT020425@svn.freebsd.org>
From: Nathan Whitehorn <nwhitehorn@FreeBSD.org>
Date: Mon, 11 Nov 2013 16:14:26 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257995 - in head/sys: conf powerpc/booke powerpc/mpc85xx
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 16:14:27 -0000

Author: nwhitehorn
Date: Mon Nov 11 16:14:25 2013
New Revision: 257995
URL: http://svnweb.freebsd.org/changeset/base/257995

Log:
  Rename the "bare" platform "mpc85xx", which is what it actually is, and
  add actual platform probing based on PVR. Still needs a little more work:
  in particular, the CCRS setup should move here.
  
  Also turn "bare" into a truly bare platform that doesn't pretend to know how
  to do anything except get the memory map. This should also be enhanced to
  process the FDT reserved memory list, but that is for another day.

Added:
  head/sys/powerpc/mpc85xx/platform_mpc85xx.c
     - copied, changed from r257990, head/sys/powerpc/booke/platform_bare.c
Modified:
  head/sys/conf/files.powerpc
  head/sys/powerpc/booke/platform_bare.c

Modified: head/sys/conf/files.powerpc
==============================================================================
--- head/sys/conf/files.powerpc	Mon Nov 11 15:44:20 2013	(r257994)
+++ head/sys/conf/files.powerpc	Mon Nov 11 16:14:25 2013	(r257995)
@@ -106,7 +106,7 @@ powerpc/booke/locore.S		optional	booke n
 powerpc/booke/machdep.c		optional	booke
 powerpc/booke/machdep_e500.c	optional	booke_e500
 powerpc/booke/mp_cpudep.c	optional	booke smp
-powerpc/booke/platform_bare.c	optional	mpc85xx
+powerpc/booke/platform_bare.c	optional	booke
 powerpc/booke/pmap.c		optional	booke
 powerpc/booke/swtch.S		optional	booke
 powerpc/booke/trap.c		optional	booke
@@ -132,6 +132,7 @@ powerpc/mpc85xx/i2c.c		optional	iicbus f
 powerpc/mpc85xx/isa.c		optional	mpc85xx isa
 powerpc/mpc85xx/lbc.c		optional	mpc85xx
 powerpc/mpc85xx/mpc85xx.c	optional	mpc85xx
+powerpc/mpc85xx/platform_mpc85xx.c	optional	mpc85xx
 powerpc/mpc85xx/pci_mpc85xx.c	optional	pci mpc85xx
 powerpc/ofw/ofw_cpu.c		optional	aim
 powerpc/ofw/ofw_machdep.c	standard

Modified: head/sys/powerpc/booke/platform_bare.c
==============================================================================
--- head/sys/powerpc/booke/platform_bare.c	Mon Nov 11 15:44:20 2013	(r257994)
+++ head/sys/powerpc/booke/platform_bare.c	Mon Nov 11 16:14:25 2013	(r257995)
@@ -35,65 +35,34 @@ __FBSDID("$FreeBSD$");
 #include <sys/proc.h>
 #include <sys/smp.h>
 
-#include <machine/bus.h>
-#include <machine/cpu.h>
-#include <machine/hid.h>
-#include <machine/platform.h>
-#include <machine/platformvar.h>
-#include <machine/smp.h>
-#include <machine/spr.h>
-#include <machine/vmparam.h>
-
-#include <dev/fdt/fdt_common.h>
-#include <dev/ofw/ofw_bus.h>
-#include <dev/ofw/ofw_bus_subr.h>
 #include <dev/ofw/openfirm.h>
 
-#include <powerpc/mpc85xx/mpc85xx.h>
+#include <machine/platform.h>
+#include <machine/platformvar.h>
 
 #include "platform_if.h"
 
-#ifdef SMP
-extern void *ap_pcpu;
-extern vm_paddr_t kernload;		/* Kernel physical load address */
-extern uint8_t __boot_page[];		/* Boot page body */
-extern uint32_t bp_ntlb1s;
-extern uint32_t bp_tlb1[];
-extern uint32_t bp_tlb1_end[];
-#endif
-
 extern uint32_t *bootinfo;
 
-static int cpu, maxcpu;
-
 static int bare_probe(platform_t);
 static void bare_mem_regions(platform_t, struct mem_region **phys, int *physsz,
     struct mem_region **avail, int *availsz);
 static u_long bare_timebase_freq(platform_t, struct cpuref *cpuref);
-static int bare_smp_first_cpu(platform_t, struct cpuref *cpuref);
-static int bare_smp_next_cpu(platform_t, struct cpuref *cpuref);
-static int bare_smp_get_bsp(platform_t, struct cpuref *cpuref);
-static int bare_smp_start_cpu(platform_t, struct pcpu *cpu);
 
-static void booke_reset(platform_t);
+static void bare_reset(platform_t);
 
 static platform_method_t bare_methods[] = {
 	PLATFORMMETHOD(platform_probe,		bare_probe),
 	PLATFORMMETHOD(platform_mem_regions,	bare_mem_regions),
 	PLATFORMMETHOD(platform_timebase_freq,	bare_timebase_freq),
 
-	PLATFORMMETHOD(platform_smp_first_cpu,	bare_smp_first_cpu),
-	PLATFORMMETHOD(platform_smp_next_cpu,	bare_smp_next_cpu),
-	PLATFORMMETHOD(platform_smp_get_bsp,	bare_smp_get_bsp),
-	PLATFORMMETHOD(platform_smp_start_cpu,	bare_smp_start_cpu),
-
-	PLATFORMMETHOD(platform_reset,		booke_reset),
+	PLATFORMMETHOD(platform_reset,		bare_reset),
 
 	PLATFORMMETHOD_END
 };
 
 static platform_def_t bare_platform = {
-	"bare metal",
+	"bare",
 	bare_methods,
 	0
 };
@@ -103,65 +72,19 @@ PLATFORM_DEF(bare_platform);
 static int
 bare_probe(platform_t plat)
 {
-	phandle_t cpus, child;
-	uint32_t sr;
-	int i, law_max, tgt;
 
-	if ((cpus = OF_finddevice("/cpus")) != 0) {
-		for (maxcpu = 0, child = OF_child(cpus); child != 0;
-		    child = OF_peer(child), maxcpu++)
-			;
-	} else
-		maxcpu = 1;
-
-	/*
-	 * Clear local access windows. Skip DRAM entries, so we don't shoot
-	 * ourselves in the foot.
-	 */
-	law_max = law_getmax();
-	for (i = 0; i < law_max; i++) {
-		sr = ccsr_read4(OCP85XX_LAWSR(i));
-		if ((sr & 0x80000000) == 0)
-			continue;
-		tgt = (sr & 0x01f00000) >> 20;
-		if (tgt == OCP85XX_TGTIF_RAM1 || tgt == OCP85XX_TGTIF_RAM2 ||
-		    tgt == OCP85XX_TGTIF_RAM_INTL)
-			continue;
-
-		ccsr_write4(OCP85XX_LAWSR(i), sr & 0x7fffffff);
-	}
+	if (OF_peer(0) == -1) /* Needs device tree to work */
+		return (ENXIO);
 
 	return (BUS_PROBE_GENERIC);
 }
 
-#define MEM_REGIONS	8
-static struct mem_region avail_regions[MEM_REGIONS];
-
 void
 bare_mem_regions(platform_t plat, struct mem_region **phys, int *physsz,
     struct mem_region **avail, int *availsz)
 {
-	uint32_t memsize;
-	int i, rv;
 
-	rv = fdt_get_mem_regions(avail_regions, availsz, &memsize);
-	if (rv != 0)
-		panic("%s: could not retrieve mem regions from the 'memory' "
-		    "node, error: %d", __func__, rv);
-
-	for (i = 0; i < *availsz; i++) {
-		if (avail_regions[i].mr_start < 1048576) {
-			avail_regions[i].mr_size =
-			    avail_regions[i].mr_size -
-			    (1048576 - avail_regions[i].mr_start);
-			avail_regions[i].mr_start = 1048576;
-		}
-	}
-	*avail = avail_regions;
-
-	/* On the bare metal platform phys == avail memory */
-	*physsz = *availsz;
-	*phys = *avail;
+	ofw_mem_regions(phys, physsz, avail, availsz);
 }
 
 static u_long
@@ -226,138 +149,10 @@ out:
 	return (ticks);
 }
 
-static int
-bare_smp_first_cpu(platform_t plat, struct cpuref *cpuref)
-{
-
-	cpu = 0;
-	cpuref->cr_cpuid = cpu;
-	cpuref->cr_hwref = cpuref->cr_cpuid;
-	if (bootverbose)
-		printf("powerpc_smp_first_cpu: cpuid %d\n", cpuref->cr_cpuid);
-	cpu++;
-
-	return (0);
-}
-
-static int
-bare_smp_next_cpu(platform_t plat, struct cpuref *cpuref)
-{
-
-	if (cpu >= maxcpu)
-		return (ENOENT);
-
-	cpuref->cr_cpuid = cpu++;
-	cpuref->cr_hwref = cpuref->cr_cpuid;
-	if (bootverbose)
-		printf("powerpc_smp_next_cpu: cpuid %d\n", cpuref->cr_cpuid);
-
-	return (0);
-}
-
-static int
-bare_smp_get_bsp(platform_t plat, struct cpuref *cpuref)
-{
-
-	cpuref->cr_cpuid = mfspr(SPR_PIR);
-	cpuref->cr_hwref = cpuref->cr_cpuid;
-
-	return (0);
-}
-
-static int
-bare_smp_start_cpu(platform_t plat, struct pcpu *pc)
-{
-#ifdef SMP
-	uint32_t *tlb1;
-	uint32_t bptr, eebpcr;
-	int i, timeout;
-
-	eebpcr = ccsr_read4(OCP85XX_EEBPCR);
-	if ((eebpcr & (1 << (pc->pc_cpuid + 24))) != 0) {
-		printf("SMP: CPU %d already out of hold-off state!\n",
-		    pc->pc_cpuid);
-		return (ENXIO);
-	}
-
-	ap_pcpu = pc;
-
-	i = 0;
-	tlb1 = bp_tlb1;
-	while (i < bp_ntlb1s && tlb1 < bp_tlb1_end) {
-		mtspr(SPR_MAS0, MAS0_TLBSEL(1) | MAS0_ESEL(i));
-		__asm __volatile("isync; tlbre");
-		tlb1[0] = mfspr(SPR_MAS1);
-		tlb1[1] = mfspr(SPR_MAS2);
-		tlb1[2] = mfspr(SPR_MAS3);
-		i++;
-		tlb1 += 3;
-	}
-	if (i < bp_ntlb1s)
-		bp_ntlb1s = i;
-
-	/*
-	 * Set BPTR to the physical address of the boot page
-	 */
-	bptr = ((uint32_t)__boot_page - KERNBASE) + kernload;
-	KASSERT((bptr & 0xfff) == 0,
-	    ("%s: boot page is not aligned (%#x)", __func__, bptr));
-	bptr = (bptr >> 12) | 0x80000000u;
-	ccsr_write4(OCP85XX_BPTR, bptr);
-	__asm __volatile("isync; msync");
-
-	/* Flush caches to have our changes hit DRAM. */
-	cpu_flush_dcache(__boot_page, 4096);
-
-	/*
-	 * Release AP from hold-off state
-	 */
-	eebpcr |= (1 << (pc->pc_cpuid + 24));
-	ccsr_write4(OCP85XX_EEBPCR, eebpcr);
-	__asm __volatile("isync; msync");
-
-	timeout = 500;
-	while (!pc->pc_awake && timeout--)
-		DELAY(1000);	/* wait 1ms */
-
-	/*
-	 * Disable boot page translation so that the 4K page at the default
-	 * address (= 0xfffff000) isn't permanently remapped and thus not
-	 * usable otherwise.
-	 */
-	ccsr_write4(OCP85XX_BPTR, 0);
-	__asm __volatile("isync; msync");
-
-	if (!pc->pc_awake)
-		printf("SMP: CPU %d didn't wake up.\n", pc->pc_cpuid);
-	return ((pc->pc_awake) ? 0 : EBUSY);
-#else
-	/* No SMP support */
-	return (ENXIO);
-#endif
-}
-
 static void
-booke_reset(platform_t plat)
+bare_reset(platform_t plat)
 {
 
-	/*
-	 * Try the dedicated reset register first.
-	 * If the SoC doesn't have one, we'll fall
-	 * back to using the debug control register.
-	 */
-	ccsr_write4(OCP85XX_RSTCR, 2);
-
-	/* Clear DBCR0, disables debug interrupts and events. */
-	mtspr(SPR_DBCR0, 0);
-	__asm __volatile("isync");
-
-	/* Enable Debug Interrupts in MSR. */
-	mtmsr(mfmsr() | PSL_DE);
-
-	/* Enable debug interrupts and issue reset. */
-	mtspr(SPR_DBCR0, mfspr(SPR_DBCR0) | DBCR0_IDM | DBCR0_RST_SYSTEM);
-
 	printf("Reset failed...\n");
 	while (1)
 		;

Copied and modified: head/sys/powerpc/mpc85xx/platform_mpc85xx.c (from r257990, head/sys/powerpc/booke/platform_bare.c)
==============================================================================
--- head/sys/powerpc/booke/platform_bare.c	Mon Nov 11 14:08:25 2013	(r257990, copy source)
+++ head/sys/powerpc/mpc85xx/platform_mpc85xx.c	Mon Nov 11 16:14:25 2013	(r257995)
@@ -66,48 +66,61 @@ extern uint32_t *bootinfo;
 
 static int cpu, maxcpu;
 
-static int bare_probe(platform_t);
-static void bare_mem_regions(platform_t, struct mem_region **phys, int *physsz,
-    struct mem_region **avail, int *availsz);
-static u_long bare_timebase_freq(platform_t, struct cpuref *cpuref);
-static int bare_smp_first_cpu(platform_t, struct cpuref *cpuref);
-static int bare_smp_next_cpu(platform_t, struct cpuref *cpuref);
-static int bare_smp_get_bsp(platform_t, struct cpuref *cpuref);
-static int bare_smp_start_cpu(platform_t, struct pcpu *cpu);
-
-static void booke_reset(platform_t);
-
-static platform_method_t bare_methods[] = {
-	PLATFORMMETHOD(platform_probe,		bare_probe),
-	PLATFORMMETHOD(platform_mem_regions,	bare_mem_regions),
-	PLATFORMMETHOD(platform_timebase_freq,	bare_timebase_freq),
-
-	PLATFORMMETHOD(platform_smp_first_cpu,	bare_smp_first_cpu),
-	PLATFORMMETHOD(platform_smp_next_cpu,	bare_smp_next_cpu),
-	PLATFORMMETHOD(platform_smp_get_bsp,	bare_smp_get_bsp),
-	PLATFORMMETHOD(platform_smp_start_cpu,	bare_smp_start_cpu),
+static int mpc85xx_probe(platform_t);
+static int mpc85xx_attach(platform_t);
+static void mpc85xx_mem_regions(platform_t, struct mem_region **phys,
+    int *physsz, struct mem_region **avail, int *availsz);
+static u_long mpc85xx_timebase_freq(platform_t, struct cpuref *cpuref);
+static int mpc85xx_smp_first_cpu(platform_t, struct cpuref *cpuref);
+static int mpc85xx_smp_next_cpu(platform_t, struct cpuref *cpuref);
+static int mpc85xx_smp_get_bsp(platform_t, struct cpuref *cpuref);
+static int mpc85xx_smp_start_cpu(platform_t, struct pcpu *cpu);
+
+static void mpc85xx_reset(platform_t);
+
+static platform_method_t mpc85xx_methods[] = {
+	PLATFORMMETHOD(platform_probe,		mpc85xx_probe),
+	PLATFORMMETHOD(platform_attach,		mpc85xx_attach),
+	PLATFORMMETHOD(platform_mem_regions,	mpc85xx_mem_regions),
+	PLATFORMMETHOD(platform_timebase_freq,	mpc85xx_timebase_freq),
+
+	PLATFORMMETHOD(platform_smp_first_cpu,	mpc85xx_smp_first_cpu),
+	PLATFORMMETHOD(platform_smp_next_cpu,	mpc85xx_smp_next_cpu),
+	PLATFORMMETHOD(platform_smp_get_bsp,	mpc85xx_smp_get_bsp),
+	PLATFORMMETHOD(platform_smp_start_cpu,	mpc85xx_smp_start_cpu),
 
-	PLATFORMMETHOD(platform_reset,		booke_reset),
+	PLATFORMMETHOD(platform_reset,		mpc85xx_reset),
 
 	PLATFORMMETHOD_END
 };
 
-static platform_def_t bare_platform = {
-	"bare metal",
-	bare_methods,
+static platform_def_t mpc85xx_platform = {
+	"mpc85xx",
+	mpc85xx_methods,
 	0
 };
 
-PLATFORM_DEF(bare_platform);
+PLATFORM_DEF(mpc85xx_platform);
 
 static int
-bare_probe(platform_t plat)
+mpc85xx_probe(platform_t plat)
+{
+	u_int pvr = mfpvr() >> 16;
+
+	if ((pvr & 0xfff0) == FSL_E500v1)
+		return (BUS_PROBE_DEFAULT);
+
+	return (ENXIO);
+}
+
+static int
+mpc85xx_attach(platform_t plat)
 {
 	phandle_t cpus, child;
 	uint32_t sr;
 	int i, law_max, tgt;
 
-	if ((cpus = OF_finddevice("/cpus")) != 0) {
+	if ((cpus = OF_finddevice("/cpus")) != -1) {
 		for (maxcpu = 0, child = OF_child(cpus); child != 0;
 		    child = OF_peer(child), maxcpu++)
 			;
@@ -131,41 +144,19 @@ bare_probe(platform_t plat)
 		ccsr_write4(OCP85XX_LAWSR(i), sr & 0x7fffffff);
 	}
 
-	return (BUS_PROBE_GENERIC);
+	return (0);
 }
 
-#define MEM_REGIONS	8
-static struct mem_region avail_regions[MEM_REGIONS];
-
 void
-bare_mem_regions(platform_t plat, struct mem_region **phys, int *physsz,
+mpc85xx_mem_regions(platform_t plat, struct mem_region **phys, int *physsz,
     struct mem_region **avail, int *availsz)
 {
-	uint32_t memsize;
-	int i, rv;
-
-	rv = fdt_get_mem_regions(avail_regions, availsz, &memsize);
-	if (rv != 0)
-		panic("%s: could not retrieve mem regions from the 'memory' "
-		    "node, error: %d", __func__, rv);
-
-	for (i = 0; i < *availsz; i++) {
-		if (avail_regions[i].mr_start < 1048576) {
-			avail_regions[i].mr_size =
-			    avail_regions[i].mr_size -
-			    (1048576 - avail_regions[i].mr_start);
-			avail_regions[i].mr_start = 1048576;
-		}
-	}
-	*avail = avail_regions;
 
-	/* On the bare metal platform phys == avail memory */
-	*physsz = *availsz;
-	*phys = *avail;
+	ofw_mem_regions(phys, physsz, avail, availsz);
 }
 
 static u_long
-bare_timebase_freq(platform_t plat, struct cpuref *cpuref)
+mpc85xx_timebase_freq(platform_t plat, struct cpuref *cpuref)
 {
 	u_long ticks;
 	phandle_t cpus, child;
@@ -227,7 +218,7 @@ out:
 }
 
 static int
-bare_smp_first_cpu(platform_t plat, struct cpuref *cpuref)
+mpc85xx_smp_first_cpu(platform_t plat, struct cpuref *cpuref)
 {
 
 	cpu = 0;
@@ -241,7 +232,7 @@ bare_smp_first_cpu(platform_t plat, stru
 }
 
 static int
-bare_smp_next_cpu(platform_t plat, struct cpuref *cpuref)
+mpc85xx_smp_next_cpu(platform_t plat, struct cpuref *cpuref)
 {
 
 	if (cpu >= maxcpu)
@@ -256,7 +247,7 @@ bare_smp_next_cpu(platform_t plat, struc
 }
 
 static int
-bare_smp_get_bsp(platform_t plat, struct cpuref *cpuref)
+mpc85xx_smp_get_bsp(platform_t plat, struct cpuref *cpuref)
 {
 
 	cpuref->cr_cpuid = mfspr(SPR_PIR);
@@ -266,7 +257,7 @@ bare_smp_get_bsp(platform_t plat, struct
 }
 
 static int
-bare_smp_start_cpu(platform_t plat, struct pcpu *pc)
+mpc85xx_smp_start_cpu(platform_t plat, struct pcpu *pc)
 {
 #ifdef SMP
 	uint32_t *tlb1;
@@ -338,7 +329,7 @@ bare_smp_start_cpu(platform_t plat, stru
 }
 
 static void
-booke_reset(platform_t plat)
+mpc85xx_reset(platform_t plat)
 {
 
 	/*

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 16:14:34 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 5A6D7F5C;
 Mon, 11 Nov 2013 16:14:34 +0000 (UTC)
 (envelope-from pluknet@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 48AEA2305;
 Mon, 11 Nov 2013 16:14:34 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rABGEYWw020482;
 Mon, 11 Nov 2013 16:14:34 GMT (envelope-from pluknet@svn.freebsd.org)
Received: (from pluknet@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rABGEYxl020481;
 Mon, 11 Nov 2013 16:14:34 GMT (envelope-from pluknet@svn.freebsd.org)
Message-Id: <201311111614.rABGEYxl020481@svn.freebsd.org>
From: Sergey Kandaurov <pluknet@FreeBSD.org>
Date: Mon, 11 Nov 2013 16:14:34 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257996 - head/sys/kern
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 16:14:34 -0000

Author: pluknet
Date: Mon Nov 11 16:14:33 2013
New Revision: 257996
URL: http://svnweb.freebsd.org/changeset/base/257996

Log:
  Set description string for VM_GUEST_HV (HyperV guest).
  This fixes fallout from r256425.
  
  Reported by:	Pavel Timofeev <timp87@gmail com>
  Tested by:	Pavel Timofeev <timp87@gmail com>
  Reviewed by:	Roger Pau Monnц╘
  MFC after:	3 days

Modified:
  head/sys/kern/subr_param.c

Modified: head/sys/kern/subr_param.c
==============================================================================
--- head/sys/kern/subr_param.c	Mon Nov 11 16:14:25 2013	(r257995)
+++ head/sys/kern/subr_param.c	Mon Nov 11 16:14:33 2013	(r257996)
@@ -153,6 +153,7 @@ static const char *const vm_guest_sysctl
 	"none",
 	"generic",
 	"xen",
+	"hv",
 	NULL
 };
 

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 16:38:35 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 2F6BB8ED;
 Mon, 11 Nov 2013 16:38:35 +0000 (UTC)
 (envelope-from peter@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 1A95A24CA;
 Mon, 11 Nov 2013 16:38:35 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rABGcZdq027738;
 Mon, 11 Nov 2013 16:38:35 GMT (envelope-from peter@svn.freebsd.org)
Received: (from peter@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rABGcYcn027733;
 Mon, 11 Nov 2013 16:38:34 GMT (envelope-from peter@svn.freebsd.org)
Message-Id: <201311111638.rABGcYcn027733@svn.freebsd.org>
From: Peter Wemm <peter@FreeBSD.org>
Date: Mon, 11 Nov 2013 16:38:34 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-vendor@freebsd.org
Subject: svn commit: r257997 - in vendor/nvi/dist: . catalog common
 docs/USD.doc/vi.man ex vi
X-SVN-Group: vendor
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 16:38:35 -0000

Author: peter
Date: Mon Nov 11 16:38:34 2013
New Revision: 257997
URL: http://svnweb.freebsd.org/changeset/base/257997

Log:
  Import nvi2 2.1.2-95773e17e2751.

Modified:
  vendor/nvi/dist/README
  vendor/nvi/dist/catalog/dump.c
  vendor/nvi/dist/common/main.c
  vendor/nvi/dist/docs/USD.doc/vi.man/vi.1
  vendor/nvi/dist/ex/ex_print.c
  vendor/nvi/dist/vi/v_txt.c
  vendor/nvi/dist/vi/vs_refresh.c

Modified: vendor/nvi/dist/README
==============================================================================
--- vendor/nvi/dist/README	Mon Nov 11 16:14:33 2013	(r257996)
+++ vendor/nvi/dist/README	Mon Nov 11 16:38:34 2013	(r257997)
@@ -1,6 +1,6 @@
-#	$Id: README,v 9.0 2012/10/07 09:13:54 zy Exp $
+#	$Id: README,v 9.1 2013/11/02 02:50:23 zy Exp $
 
-This is version 2.1.1 (2012-10-07) of nex/nvi, a reimplementation of the ex/vi
+This is version 2.1.2 (2012-11-02) of nex/nvi, a reimplementation of the ex/vi
 text editors originally distributed as part of the Fourth Berkeley
 Software Distribution (4BSD), by the University of California, Berkeley.
 

Modified: vendor/nvi/dist/catalog/dump.c
==============================================================================
--- vendor/nvi/dist/catalog/dump.c	Mon Nov 11 16:14:33 2013	(r257996)
+++ vendor/nvi/dist/catalog/dump.c	Mon Nov 11 16:38:34 2013	(r257997)
@@ -2,12 +2,38 @@
  * Copyright (c) 1992, 1993, 1994
  *	The Regents of the University of California.  All rights reserved.
  *
- * %sccs.include.redist.c%
+ * 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.
+ * 3. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *	This product includes software developed by the University of
+ *	California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
  */
 
 #ifndef lint
 static char copyright[] =
-"%Z% Copyright (c) 1992, 1993, 1994\n\
+"@(#) Copyright (c) 1992, 1993, 1994\n\
 	The Regents of the University of California.  All rights reserved.\n";
 #endif /* not lint */
 

Modified: vendor/nvi/dist/common/main.c
==============================================================================
--- vendor/nvi/dist/common/main.c	Mon Nov 11 16:14:33 2013	(r257996)
+++ vendor/nvi/dist/common/main.c	Mon Nov 11 16:38:34 2013	(r257997)
@@ -11,9 +11,9 @@
 
 #ifndef lint
 static const char copyright[] =
-"%Z% Copyright (c) 1992, 1993, 1994\n\
+"@(#) Copyright (c) 1992, 1993, 1994\n\
 	The Regents of the University of California.  All rights reserved.\n\
-%Z% Copyright (c) 1992, 1993, 1994, 1995, 1996\n\
+@(#) Copyright (c) 1992, 1993, 1994, 1995, 1996\n\
 	Keith Bostic.  All rights reserved.\n";
 #endif /* not lint */
 

Modified: vendor/nvi/dist/docs/USD.doc/vi.man/vi.1
==============================================================================
--- vendor/nvi/dist/docs/USD.doc/vi.man/vi.1	Mon Nov 11 16:14:33 2013	(r257996)
+++ vendor/nvi/dist/docs/USD.doc/vi.man/vi.1	Mon Nov 11 16:38:34 2013	(r257997)
@@ -5,1570 +5,2741 @@
 .\" Copyright (c) 2011
 .\"	Zhihao Yuan.  All rights reserved.
 .\"
-.\" This document may not be republished without written permission from
-.\" Keith Bostic. 
+.\" The vi program is freely redistributable.
+.\" You are welcome to copy, modify and share it with others
+.\" under the conditions listed in the LICENSE file.
+.\" If any company (not individual!) finds vi sufficiently useful
+.\" that you would have purchased it, or if any company wishes to
+.\" redistribute it, contributions to the authors would be appreciated.
 .\"
-.\" See the LICENSE file for redistribution information.
+.\"     $Id: vi.1,v 9.0 2013/11/02 12:11:56 zy Exp $
 .\"
-.\"     $Id: vi.1,v 8.59 2012/02/12 12:56:37 zy Exp $
-.\"
-.TH VI 1 "11 February, 2012"
-.UC
-.SH NAME
-ex, vi, view \- text editors
-.SH SYNOPSIS
-.B ex
-[\c
-.B -eFRrSsv\c
-] [\c
-.BI -c " cmd"\c
-] [\c
-.BI -t " tag"\c
-] [\c
-.BI -w " size"\c
-] [file ...]
-.br
-.B vi
-[\c
-.B -eFlRrSv\c
-] [\c
-.BI -c " cmd"\c
-] [\c
-.BI -t " tag"\c
-] [\c
-.BI -w " size"\c
-] [file ...]
-.br
-.B view
-[\c
-.B -eFRrSv\c
-] [\c
-.BI -c " cmd"\c
-] [\c
-.BI -t " tag"\c
-] [\c
-.BI -w " size"\c
-] [file ...]
-.SH LICENSE
-The vi program is freely redistributable.  You are welcome to copy,
-modify and share it with others under the conditions listed in the
-LICENSE file.  If any company (not individual!) finds vi sufficiently
-useful that you would have purchased it, or if any company wishes to
-redistribute it, contributions to the authors would be appreciated.
-.SH DESCRIPTION
-.I \&Vi
-is a screen oriented text editor.
-.I \&Ex
+.Dd November 2, 2013
+.Dt VI 1
+.Os
+.Sh NAME
+.Nm ex , vi , view
+.Nd text editors
+.Sh SYNOPSIS
+.Nm ex
+.Op Fl FRrSsv
+.Op Fl c Ar cmd
+.Op Fl t Ar tag
+.Op Fl w Ar size
+.Op Ar
+.Nm vi\ \&
+.Op Fl eFRrS
+.Op Fl c Ar cmd
+.Op Fl t Ar tag
+.Op Fl w Ar size
+.Op Ar
+.Nm view
+.Op Fl eFrS
+.Op Fl c Ar cmd
+.Op Fl t Ar tag
+.Op Fl w Ar size
+.Op Ar
+.Sh DESCRIPTION
+.Nm vi
+is a screen-oriented text editor.
+.Nm ex
 is a line-oriented text editor.
-.I \&Ex
+.Nm ex
 and
-.I \&vi
+.Nm vi
 are different interfaces to the same program,
 and it is possible to switch back and forth during an edit session.
-.I View
+.Nm view
 is the equivalent of using the
-.B \-R
-(read-only) option of
-.IR \&vi .
-.PP
+.Fl R
+.Pq read-only
+option of
+.Nm vi .
+.Pp
 This manual page is the one provided with the
-.I nex/nvi
+.Nm nex Ns / Ns Nm nvi
 versions of the
-.I ex/vi
+.Nm ex Ns / Ns Nm vi
 text editors.
-.I Nex/nvi
+.Nm nex Ns / Ns Nm nvi
 are intended as bug-for-bug compatible replacements for the original
-Fourth Berkeley Software Distribution (4BSD)
-.I \&ex
+Fourth Berkeley Software Distribution
+.Pq 4BSD
+.Nm ex
 and
-.I \&vi
+.Nm vi
 programs.
 For the rest of this manual page,
-.I nex/nvi
+.Nm nex Ns / Ns Nm nvi
 is used only when it's necessary to distinguish it from the historic
 implementations of
-.IR ex/vi .
-.PP
+.Nm ex Ns / Ns Nm vi .
+.Pp
 This manual page is intended for users already familiar with
-.IR ex/vi .
+.Nm ex Ns / Ns Nm vi .
 Anyone else should almost certainly read a good tutorial on the
 editor before this manual page.
-If you're in an unfamiliar environment, and you absolutely have to
-get work done immediately, read the section after the options
-description, entitled ``Fast Startup''.
+If you're in an unfamiliar environment,
+and you absolutely have to get work done immediately,
+read the section after the options description, entitled
+.Sx FAST STARTUP .
 It's probably enough to get you going.
-.PP
+.Pp
 The following options are available:
-.TP
-.B \-c
+.Bl -tag -width "-w size "
+.It Fl c Ar cmd
 Execute
-.B cmd
-immediately after starting the edit session.
-Particularly useful for initial positioning in the file, however
-.B cmd
+.Ar cmd
+on the first file loaded.
+Particularly useful for initial positioning in the file, although
+.Ar cmd
 is not limited to positioning commands.
-This is the POSIX 1003.2 interface for the historic ``+cmd'' syntax.
-.I Nex/nvi
+This is the POSIX 1003.2 interface for the historic
+.Dq +cmd
+syntax.
+.Nm nex Ns / Ns Nm nvi
 supports both the old and new syntax.
-.TP
-.B \-e
+.It Fl e
 Start editing in ex mode, as if the command name were
-.IR \&ex .
-.TP
-.B \-F
+.Nm ex .
+.It Fl F
 Don't copy the entire file when first starting to edit.
 (The default is to make a copy in case someone else modifies
 the file during your edit session.)
-.TP
-.B \-l
-Start editing with the lisp and showmatch options set.
-.TP
-.B \-R
+.\" .It Fl l
+.\" Start editing with the lisp and showmatch options set.
+.It Fl R
 Start editing in read-only mode, as if the command name was
-.IR view ,
+.Nm view ,
 or the
-.B readonly
+.Cm readonly
 option was set.
-.TP
-.B \-r
+.It Fl r
 Recover the specified files, or, if no files are specified,
 list the files that could be recovered.
 If no recoverable files by the specified name exist,
 the file is edited as if the
-.B \-r
+.Fl r
 option had not been specified.
-.TP
-.B \-S
+.It Fl S
 Run with the
-.B secure
+.Cm secure
 edit option set, disallowing all access to external programs.
-.TP
-.B \-s
+.It Fl s
 Enter batch mode; applicable only to
-.I \&ex
+.Nm ex
 edit sessions.
 Batch mode is useful when running
-.I \&ex
+.Nm ex
 scripts.
-Prompts, informative messages and other user oriented message
-are turned off,
+Prompts, informative messages and other user oriented messages are turned off,
 and no startup files or environment variables are read.
-This is the POSIX 1003.2 interface for the historic ``\-'' argument.
-.I \&Nex/nvi
+This is the POSIX 1003.2 interface for the historic
+.Dq -
+argument.
+.Nm nex Ns / Ns Nm nvi
 supports both the old and new syntax.
-.TP
-.B \-t
-Start editing at the specified tag.
-(See
-.IR ctags (1)).
-.TP
-.B \-w
-Set the initial window size to the specified number of lines.
-.TP
-.B \-v
+.It Fl t Ar tag
+Start editing at the specified
+.Ar tag
+.Pq see Xr ctags 1 .
+.It Fl v
 Start editing in vi mode, as if the command name was
-.I \&vi
-or
-.IR view .
-.PP
+.Nm vi .
+.It Fl w Ar size
+Set the initial window size to the specified number of lines.
+.El
+.Pp
 Command input for
-.I ex/vi
+.Nm ex Ns / Ns Nm vi
 is read from the standard input.
 In the
-.I \&vi
+.Nm vi
 interface, it is an error if standard input is not a terminal.
 In the
-.I \&ex
+.Nm ex
 interface, if standard input is not a terminal,
-.I \&ex
-will read commands from it regardless, however, the session will be a
+.Nm ex
+will read commands from it regardless; however, the session will be a
 batch mode session, exactly as if the
-.B \-s
+.Fl s
 option had been specified.
-.PP
-.I Ex/vi
-exits 0 on success, and greater than 0 if an error occurs.
-.SH FAST STARTUP
+.Sh FAST STARTUP
 This section will tell you the minimum amount that you need to
 do simple editing tasks using
-.IR \&vi .
-If you've never used any screen editor before, you're likely to have
-problems even with this simple introduction.
+.Nm vi .
+If you've never used any screen editor before,
+you're likely to have problems even with this simple introduction.
 In that case you should find someone that already knows
-.I \&vi
+.Nm vi
 and have them walk you through this section.
-.PP
-.I \&Vi
+.Pp
+.Nm vi
 is a screen editor.
-This means that it takes up almost the entire screen, displaying part
-of the file on each screen line, except for the last line of the screen.
+This means that it takes up almost the entire screen,
+displaying part of the file on each screen line,
+except for the last line of the screen.
 The last line of the screen is used for you to give commands to
-.IR \&vi ,
+.Nm vi ,
 and for
-.I \&vi
+.Nm vi
 to give information to you.
-.PP
+.Pp
 The other fact that you need to understand is that
-.I \&vi
-is a modeful editor, i.e. you are either entering text or you
-are executing commands, and you have to be in the right mode
-to do one or the other.
+.Nm vi
+is a modeful editor,
+i.e., you are either entering text or you are executing commands,
+and you have to be in the right mode to do one or the other.
 You will be in command mode when you first start editing a file.
 There are commands that switch you into input mode.
 There is only one key that takes you out of input mode,
-and that is the <escape> key.
-(Key names are written using less-than and greater-than signs, e.g.
-<escape> means the ``escape'' key, usually labeled ``esc'' on your
-terminal's keyboard.)
+and that is the
+.Aq escape
+key.
+.Pp
+Key names are written using less-than and greater-than signs, e.g.,
+.Aq escape
+means the
+.Dq escape
+key, usually labeled
+.Dq Esc
+on your terminal's keyboard.
 If you're ever confused as to which mode you're in,
-keep entering the <escape> key until
-.I \&vi
+keep entering the
+.Aq escape
+key until
+.Nm vi
 beeps at you.
-(Generally,
-.I \&vi
+Generally,
+.Nm vi
 will beep at you if you try and do something that's not allowed.
-It will also display error messages.)
-.PP
-To start editing a file, enter the command ``vi file_name<carriage-return>''.
-The command you should enter as soon as you start editing is
-``:set verbose showmode<carriage-return>''.
+It will also display error messages.
+.Pp
+To start editing a file, enter the following command:
+.Pp
+.Dl $ vi file
+.Pp
+The command you should enter as soon as you start editing is:
+.Pp
+.Dl :set verbose showmode
+.Pp
 This will make the editor give you verbose error messages and display
 the current mode at the bottom of the screen.
-.PP
+.Pp
 The commands to move around the file are:
-.TP
-.B h
+.Bl -tag -width Ds
+.It Cm h
 Move the cursor left one character.
-.TP
-.B j
+.It Cm j
 Move the cursor down one line.
-.TP
-.B k
+.It Cm k
 Move the cursor up one line.
-.TP
-.B l
+.It Cm l
 Move the cursor right one character.
-.TP
-.B <cursor-arrows>
+.It Aq Cm cursor-arrows
 The cursor arrow keys should work, too.
-.TP
-.B /text<carriage-return>
-Search for the string ``text'' in the file,
+.It Cm / Ns text
+Search for the string
+.Dq text
+in the file,
 and move the cursor to its first character.
-.PP
+.El
+.Pp
 The commands to enter new text are:
-.TP
-.B a
-Append new text,
-.I after
-the cursor.
-.TP
-.B i
-Insert new text,
-.I before
-the cursor.
-.TP
-.B o
-Open a new line below the line the cursor is on, and start
-entering text.
-.TP
-.B O
-Open a new line above the line the cursor is on, and start
-entering text.
-.TP
-.B <escape>
-Once you've entered input mode using the one of the
-.BR \&a ,
-.BR \&i ,
-.BR \&O
-or 
-.B \&o
+.Bl -tag -width "<escape>"
+.It Cm a
+Append new text, after the cursor.
+.It Cm i
+Insert new text, before the cursor.
+.It Cm o
+Open a new line below the line the cursor is on, and start entering text.
+.It Cm O
+Open a new line above the line the cursor is on, and start entering text.
+.It Aq Cm escape
+Once you've entered input mode using one of the
+.Cm a ,
+.Cm i ,
+.Cm o
+or
+.Cm O
 commands, use
-.B <escape>
+.Aq Cm escape
 to quit entering text and return to command mode.
-.PP
+.El
+.Pp
 The commands to copy text are:
-.TP
-.B yy
+.Bl -tag -width Ds
+.It Cm yy
 Copy the line the cursor is on.
-.TP
-.B p
+.It Cm p
 Append the copied line after the line the cursor is on.
-.PP
+.El
+.Pp
 The commands to delete text are:
-.TP
-.B dd
+.Bl -tag -width Ds
+.It Cm dd
 Delete the line the cursor is on.
-.TP
-.B x
+.It Cm x
 Delete the character the cursor is on.
-.PP
+.El
+.Pp
 The commands to write the file are:
-.TP
-.B :w<carriage-return>
+.Bl -tag -width Ds
+.It Cm :w
 Write the file back to the file with the name that you originally used
 as an argument on the
-.I \&vi
+.Nm vi
 command line.
-.TP
-.B ":w file_name<carriage-return>"
-Write the file back to the file with the name ``file_name''.
-.PP
+.It Cm :w Ar file_name
+Write the file back to the file with the name
+.Ar file_name .
+.El
+.Pp
 The commands to quit editing and exit the editor are:
-.TP
-.B :q<carriage-return>
-Quit editing and leave vi (if you've modified the file, but not
-saved your changes,
-.I \&vi
+.Bl -tag -width Ds
+.It Cm :q
+Quit editing and leave
+.Nm vi
+(if you've modified the file, but not saved your changes,
+.Nm vi
 will refuse to quit).
-.TP
-.B :q!<carriage-return>
+.It Cm :q!
 Quit, discarding any modifications that you may have made.
-.PP
-One final caution.
+.El
+.Pp
+One final caution:
 Unusual characters can take up more than one column on the screen,
 and long lines can take up more than a single screen line.
-The above commands work on ``physical'' characters and lines,
-i.e. they affect the entire line no matter how many screen lines it
-takes up and the entire character no matter how many screen columns
-it takes up.
-.SH VI COMMANDS
+The above commands work on
+.Dq physical
+characters and lines,
+i.e., they affect the entire line no matter how many screen lines it takes up
+and the entire character no matter how many screen columns it takes up.
+.Sh REGULAR EXPRESSIONS
+.Nm ex Ns / Ns Nm vi
+supports regular expressions
+.Pq REs ,
+as documented in
+.Xr re_format 7 ,
+for line addresses, as the first part of the
+.Nm ex Cm substitute ,
+.Cm global
+and
+.Cm v
+commands, and in search patterns.
+Basic regular expressions
+.Pq BREs
+are enabled by default;
+extended regular expressions
+.Pq EREs
+are used if the
+.Cm extended
+option is enabled.
+The use of regular expressions can be largely disabled using the
+.Cm magic
+option.
+.Pp
+The following strings have special meanings in the
+.Nm ex Ns / Ns Nm vi
+version of regular expressions:
+.Bl -bullet -offset 6u
+.It
+An empty regular expression is equivalent to the last regular expression used.
+.It
+.Sq \e\(la
+matches the beginning of the word.
+.It
+.Sq \e\(ra
+matches the end of the word.
+.It
+.Sq \(a~
+matches the replacement part of the last
+.Cm substitute
+command.
+.El
+.Sh BUFFERS
+A buffer is an area where commands can save changed or deleted text
+for later use.
+.Nm vi
+buffers are named with a single character preceded by a double quote,
+for example
+.Pf \&" Ns Aq c ;
+.Nm ex
+buffers are the same,
+but without the double quote.
+.Nm nex Ns / Ns Nm nvi
+permits the use of any character without another meaning in the position where
+a buffer name is expected.
+.Pp
+All buffers are either in
+.Em line mode
+or
+.Em character mode .
+Inserting a buffer in line mode into the text creates new lines for each of the
+lines it contains, while a buffer in character mode creates new lines for any
+lines
+.Em other
+than the first and last lines it contains.
+The first and last lines are inserted at the current cursor position, becoming
+part of the current line.
+If there is more than one line in the buffer,
+the current line itself will be split.
+All
+.Nm ex
+commands which store text into buffers do so in line mode.
+The behaviour of
+.Nm vi
+commands depend on their associated motion command:
+.Bl -bullet -offset 6u
+.It
+.Aq Cm control-A ,
+.Cm h ,
+.Cm l ,
+.Cm ,\& ,
+.Cm 0 ,
+.Cm B ,
+.Cm E ,
+.Cm F ,
+.Cm T ,
+.Cm W ,
+.Cm ^ ,
+.Cm b ,
+.Cm e ,
+.Cm f
+and
+.Cm t
+make the destination buffer character-oriented.
+.It
+.Cm j ,
+.Aq Cm control-M ,
+.Cm k ,
+.Cm ' ,
+.Cm - ,
+.Cm G ,
+.Cm H ,
+.Cm L ,
+.Cm M ,
+.Cm _
+and
+.Cm |\&
+make the destination buffer line-oriented.
+.It
+.Cm $ ,
+.Cm % ,
+.Cm ` ,
+.Cm (\& ,
+.Cm )\& ,
+.Cm / ,
+.Cm ?\& ,
+.Cm [[ ,
+.Cm ]] ,
+.Cm {
+and
+.Cm }
+make the destination buffer character-oriented, unless the starting and
+end positions are the first and last characters on a line.
+In that case, the buffer is line-oriented.
+.El
+.Pp
+The
+.Nm ex
+command
+.Cm display buffers
+displays the current mode for each buffer.
+.Pp
+Buffers named
+.Sq a
+through
+.Sq z
+may be referred to using their uppercase equivalent, in which case new content
+will be appended to the buffer, instead of replacing it.
+.Pp
+Buffers named
+.Sq 1
+through
+.Sq 9
+are special.
+A region of text modified using the
+.Cm c
+.Pq change
+or
+.Cm d
+.Pq delete
+commands is placed into the numeric buffer
+.Sq 1
+if no other buffer is specified and if it meets one of the following conditions:
+.Bl -bullet -offset 6u
+.It
+It includes characters from more than one line.
+.It
+It is specified using a line-oriented motion.
+.It
+It is specified using one of the following motion commands:
+.Aq Cm control-A ,
+.Cm ` Ns Aq Cm character ,
+.Cm n ,
+.Cm N ,
+.Cm % ,
+.Cm / ,
+.Cm { ,
+.Cm } ,
+.Cm \&( ,
+.Cm \&) ,
+and
+.Cm \&? .
+.El
+.Pp
+Before this copy is done, the previous contents of buffer
+.Sq 1
+are moved into buffer
+.Sq 2 ,
+.Sq 2
+into buffer
+.Sq 3 ,
+and so on.
+The contents of buffer
+.Sq 9
+are discarded.
+Note that this rotation occurs
+.Em regardless
+of the user specifying another buffer.
+In
+.Nm vi ,
+text may be explicitly stored into the numeric buffers.
+In this case, the buffer rotation occurs before the replacement of the buffer's
+contents.
+The numeric buffers are only available in
+.Nm vi
+mode.
+.Sh VI COMMANDS
 The following section describes the commands available in the command
 mode of the
-.I \&vi
+.Nm vi
 editor.
-In each entry below, the tag line is a usage synopsis for the command
-character.
-.PP
-.TP
-.B "[count] <control-A>"
+The following words have a special meaning in the commands description:
+.Pp
+.Bl -tag -width bigword -compact -offset 3u
+.It Ar bigword
+A set of non-whitespace characters.
+.It Ar buffer
+Temporary area where commands may place text.
+If not specified, the default buffer is used.
+See also
+.Sx BUFFERS ,
+above.
+.It Ar count
+A positive number used to specify the desired number of iterations
+of a command.
+It defaults to 1 if not specified.
+.It Ar motion
+A cursor movement command which indicates the other end of the affected region
+of text, the first being the current cursor position.
+Repeating the command character makes it affect the whole current line.
+.It Ar word
+A sequence of letters, digits or underscores.
+.El
+.Pp
+.Ar buffer
+and
+.Ar count ,
+if both present, may be specified in any order.
+.Ar motion
+and
+.Ar count ,
+if both present, are effectively multiplied together
+and considered part of the motion.
+.Pp
+.Bl -tag -width Ds -compact
+.It Xo
+.Aq Cm control-A
+.Xc
 Search forward
-.I count
-times for the current word.
-.TP
-.B "[count] <control-B>"
+for the word starting at the cursor position.
+.Pp
+.It Xo
+.Op Ar count
+.Aq Cm control-B
+.Xc
 Page backwards
-.I count
+.Ar count
 screens.
-.TP
-.B "[count] <control-D>"
+Two lines of overlap are maintained, if possible.
+.Pp
+.It Xo
+.Op Ar count
+.Aq Cm control-D
+.Xc
 Scroll forward
-.I count
+.Ar count
 lines.
-.TP
-.B "[count] <control-E>"
+If
+.Ar count
+is not given, scroll forward the number of lines specified by the last
+.Aq Cm control-D
+or
+.Aq Cm control-U
+command.
+If this is the first
+.Aq Cm control-D
+command, scroll half the number of lines in the current screen.
+.Pp
+.It Xo
+.Op Ar count
+.Aq Cm control-E
+.Xc
 Scroll forward
-.I count
+.Ar count
 lines, leaving the current line and column as is, if possible.
-.TP
-.B "[count] <control-F>"
+.Pp
+.It Xo
+.Op Ar count
+.Aq Cm control-F
+.Xc
 Page forward
-.I count
+.Ar count
 screens.
-.TP
-.B "<control-G>"
-Display the file information.
-.TP
-.B "<control-H>"
-.TP
-.B "[count] h"
+Two lines of overlap are maintained, if possible.
+.Pp
+.It Aq Cm control-G
+Display the following file information:
+the file name
+.Pq as given to Nm vi ;
+whether the file has been modified since it was last written;
+if the file is read-only;
+the current line number;
+the total number of lines in the file;
+and the current line number as a percentage of the total lines in the file.
+.Pp
+.It Xo
+.Op Ar count
+.Aq Cm control-H
+.Xc
+.It Xo
+.Op Ar count
+.Cm h
+.Xc
 Move the cursor back
-.I count
+.Ar count
 characters in the current line.
-.TP
-.B "[count] <control-J>"
-.TP
-.B "[count] <control-N>"
-.TP
-.B "[count] j"
+.Pp
+.It Xo
+.Op Ar count
+.Aq Cm control-J
+.Xc
+.It Xo
+.Op Ar count
+.Aq Cm control-N
+.Xc
+.It Xo
+.Op Ar count
+.Cm j
+.Xc
 Move the cursor down
-.I count
+.Ar count
 lines without changing the current column.
-.TP
-.B "<control-L>"
-.TP
-.B "<control-R>"
+.Pp
+.It Aq Cm control-L
+.It Aq Cm control-R
 Repaint the screen.
-.TP
-.B "[count] <control-M>"
-.TP
-.B "[count] +"
+.Pp
+.It Xo
+.Op Ar count
+.Aq Cm control-M
+.Xc
+.It Xo
+.Op Ar count
+.Cm +
+.Xc
 Move the cursor down
-.I count
-lines to the first nonblank character of that line.
-.TP
-.B "[count] <control-P>"

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

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 16:39:43 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id CDBDCA35;
 Mon, 11 Nov 2013 16:39:43 +0000 (UTC)
 (envelope-from peter@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id A16DF24E1;
 Mon, 11 Nov 2013 16:39:43 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rABGdhl0027887;
 Mon, 11 Nov 2013 16:39:43 GMT (envelope-from peter@svn.freebsd.org)
Received: (from peter@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rABGdhA5027886;
 Mon, 11 Nov 2013 16:39:43 GMT (envelope-from peter@svn.freebsd.org)
Message-Id: <201311111639.rABGdhA5027886@svn.freebsd.org>
From: Peter Wemm <peter@FreeBSD.org>
Date: Mon, 11 Nov 2013 16:39:43 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-vendor@freebsd.org
Subject: svn commit: r257998 - vendor/nvi/2.1.2-95773e17e2751
X-SVN-Group: vendor
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 16:39:43 -0000

Author: peter
Date: Mon Nov 11 16:39:43 2013
New Revision: 257998
URL: http://svnweb.freebsd.org/changeset/base/257998

Log:
  Tag import

Added:
  vendor/nvi/2.1.2-95773e17e2751/
     - copied from r257997, vendor/nvi/dist/

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 16:52:03 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 8FE92F3D;
 Mon, 11 Nov 2013 16:52:03 +0000 (UTC)
 (envelope-from peter@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 6E0B225D9;
 Mon, 11 Nov 2013 16:52:03 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rABGq3D6033698;
 Mon, 11 Nov 2013 16:52:03 GMT (envelope-from peter@svn.freebsd.org)
Received: (from peter@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rABGq2po033693;
 Mon, 11 Nov 2013 16:52:02 GMT (envelope-from peter@svn.freebsd.org)
Message-Id: <201311111652.rABGq2po033693@svn.freebsd.org>
From: Peter Wemm <peter@FreeBSD.org>
Date: Mon, 11 Nov 2013 16:52:02 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r257999 - in head/contrib/nvi: . common
 docs/USD.doc/vi.man ex vi
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 16:52:03 -0000

Author: peter
Date: Mon Nov 11 16:52:02 2013
New Revision: 257999
URL: http://svnweb.freebsd.org/changeset/base/257999

Log:
  Merge nvi-2.1.1 -> 2.1.2

Modified:
  head/contrib/nvi/README
  head/contrib/nvi/common/main.c
  head/contrib/nvi/docs/USD.doc/vi.man/vi.1
  head/contrib/nvi/ex/ex_print.c
  head/contrib/nvi/ex/version.h
  head/contrib/nvi/vi/v_txt.c
  head/contrib/nvi/vi/vs_refresh.c
Directory Properties:
  head/contrib/nvi/   (props changed)

Modified: head/contrib/nvi/README
==============================================================================
--- head/contrib/nvi/README	Mon Nov 11 16:39:43 2013	(r257998)
+++ head/contrib/nvi/README	Mon Nov 11 16:52:02 2013	(r257999)
@@ -1,6 +1,6 @@
-#	$Id: README,v 9.0 2012/10/07 09:13:54 zy Exp $
+#	$Id: README,v 9.1 2013/11/02 02:50:23 zy Exp $
 
-This is version 2.1.1 (2012-10-07) of nex/nvi, a reimplementation of the ex/vi
+This is version 2.1.2 (2012-11-02) of nex/nvi, a reimplementation of the ex/vi
 text editors originally distributed as part of the Fourth Berkeley
 Software Distribution (4BSD), by the University of California, Berkeley.
 

Modified: head/contrib/nvi/common/main.c
==============================================================================
--- head/contrib/nvi/common/main.c	Mon Nov 11 16:39:43 2013	(r257998)
+++ head/contrib/nvi/common/main.c	Mon Nov 11 16:52:02 2013	(r257999)
@@ -11,9 +11,9 @@
 
 #ifndef lint
 static const char copyright[] =
-"%Z% Copyright (c) 1992, 1993, 1994\n\
+"@(#) Copyright (c) 1992, 1993, 1994\n\
 	The Regents of the University of California.  All rights reserved.\n\
-%Z% Copyright (c) 1992, 1993, 1994, 1995, 1996\n\
+@(#) Copyright (c) 1992, 1993, 1994, 1995, 1996\n\
 	Keith Bostic.  All rights reserved.\n";
 #endif /* not lint */
 

Modified: head/contrib/nvi/docs/USD.doc/vi.man/vi.1
==============================================================================
--- head/contrib/nvi/docs/USD.doc/vi.man/vi.1	Mon Nov 11 16:39:43 2013	(r257998)
+++ head/contrib/nvi/docs/USD.doc/vi.man/vi.1	Mon Nov 11 16:52:02 2013	(r257999)
@@ -5,1619 +5,2742 @@
 .\" Copyright (c) 2011
 .\"	Zhihao Yuan.  All rights reserved.
 .\"
-.\" This document may not be republished without written permission from
-.\" Keith Bostic. 
+.\" The vi program is freely redistributable.
+.\" You are welcome to copy, modify and share it with others
+.\" under the conditions listed in the LICENSE file.
+.\" If any company (not individual!) finds vi sufficiently useful
+.\" that you would have purchased it, or if any company wishes to
+.\" redistribute it, contributions to the authors would be appreciated.
 .\"
-.\" See the LICENSE file for redistribution information.
+.\"     $Id: vi.1,v 9.0 2013/11/02 12:11:56 zy Exp $
+.\"     $FreeBSD$
 .\"
-.\"     @(#)vi.1       8.51 (Berkeley) 10/10/96
-.\"	$FreeBSD$
-.\"     $Id: vi.1,v 8.59 2012/02/12 12:56:37 zy Exp $
-.\"
-.TH VI 1 "11 February, 2012"
-.UC
-.SH NAME
-ex, vi, view \- text editors
-.SH SYNOPSIS
-.B ex
-[\c
-.B -eFRrSsv\c
-] [\c
-.BI -c " cmd"\c
-] [\c
-.BI -t " tag"\c
-] [\c
-.BI -w " size"\c
-] [file ...]
-.br
-.B vi
-[\c
-.B -eFlRrSv\c
-] [\c
-.BI -c " cmd"\c
-] [\c
-.BI -t " tag"\c
-] [\c
-.BI -w " size"\c
-] [file ...]
-.br
-.B view
-[\c
-.B -eFRrSv\c
-] [\c
-.BI -c " cmd"\c
-] [\c
-.BI -t " tag"\c
-] [\c
-.BI -w " size"\c
-] [file ...]
-.SH LICENSE
-The vi program is freely redistributable.  You are welcome to copy,
-modify and share it with others under the conditions listed in the
-LICENSE file.  If any company (not individual!) finds vi sufficiently
-useful that you would have purchased it, or if any company wishes to
-redistribute it, contributions to the authors would be appreciated.
-.SH DESCRIPTION
-.I \&Vi
-is a screen oriented text editor.
-.I \&Ex
+.Dd November 2, 2013
+.Dt VI 1
+.Os
+.Sh NAME
+.Nm ex , vi , view
+.Nd text editors
+.Sh SYNOPSIS
+.Nm ex
+.Op Fl FRrSsv
+.Op Fl c Ar cmd
+.Op Fl t Ar tag
+.Op Fl w Ar size
+.Op Ar
+.Nm vi\ \&
+.Op Fl eFRrS
+.Op Fl c Ar cmd
+.Op Fl t Ar tag
+.Op Fl w Ar size
+.Op Ar
+.Nm view
+.Op Fl eFrS
+.Op Fl c Ar cmd
+.Op Fl t Ar tag
+.Op Fl w Ar size
+.Op Ar
+.Sh DESCRIPTION
+.Nm vi
+is a screen-oriented text editor.
+.Nm ex
 is a line-oriented text editor.
-.I \&Ex
+.Nm ex
 and
-.I \&vi
+.Nm vi
 are different interfaces to the same program,
 and it is possible to switch back and forth during an edit session.
-.I View
+.Nm view
 is the equivalent of using the
-.B \-R
-(read-only) option of
-.IR \&vi .
-.PP
+.Fl R
+.Pq read-only
+option of
+.Nm vi .
+.Pp
 This manual page is the one provided with the
-.I nex/nvi
+.Nm nex Ns / Ns Nm nvi
 versions of the
-.I ex/vi
+.Nm ex Ns / Ns Nm vi
 text editors.
-.I Nex/nvi
+.Nm nex Ns / Ns Nm nvi
 are intended as bug-for-bug compatible replacements for the original
-Fourth Berkeley Software Distribution (4BSD)
-.I \&ex
+Fourth Berkeley Software Distribution
+.Pq 4BSD
+.Nm ex
 and
-.I \&vi
+.Nm vi
 programs.
 For the rest of this manual page,
-.I nex/nvi
+.Nm nex Ns / Ns Nm nvi
 is used only when it's necessary to distinguish it from the historic
 implementations of
-.IR ex/vi .
-.PP
+.Nm ex Ns / Ns Nm vi .
+.Pp
 This manual page is intended for users already familiar with
-.IR ex/vi .
+.Nm ex Ns / Ns Nm vi .
 Anyone else should almost certainly read a good tutorial on the
 editor before this manual page.
-If you're in an unfamiliar environment, and you absolutely have to
-get work done immediately, read the section after the options
-description, entitled ``Fast Startup''.
+If you're in an unfamiliar environment,
+and you absolutely have to get work done immediately,
+read the section after the options description, entitled
+.Sx FAST STARTUP .
 It's probably enough to get you going.
-.PP
+.Pp
 The following options are available:
-.TP
-.B \-c
+.Bl -tag -width "-w size "
+.It Fl c Ar cmd
 Execute
-.B cmd
-immediately after starting the edit session.
-Particularly useful for initial positioning in the file, however
-.B cmd
+.Ar cmd
+on the first file loaded.
+Particularly useful for initial positioning in the file, although
+.Ar cmd
 is not limited to positioning commands.
-This is the POSIX 1003.2 interface for the historic ``+cmd'' syntax.
-.I Nex/nvi
+This is the POSIX 1003.2 interface for the historic
+.Dq +cmd
+syntax.
+.Nm nex Ns / Ns Nm nvi
 supports both the old and new syntax.
-.TP
-.B \-e
+.It Fl e
 Start editing in ex mode, as if the command name were
-.IR \&ex .
-.TP
-.B \-F
+.Nm ex .
+.It Fl F
 Don't copy the entire file when first starting to edit.
 (The default is to make a copy in case someone else modifies
 the file during your edit session.)
-.TP
-.B \-l
-Start editing with the lisp and showmatch options set.
-.TP
-.B \-R
+.\" .It Fl l
+.\" Start editing with the lisp and showmatch options set.
+.It Fl R
 Start editing in read-only mode, as if the command name was
-.IR view ,
+.Nm view ,
 or the
-.B readonly
+.Cm readonly
 option was set.
-.TP
-.B \-r
+.It Fl r
 Recover the specified files, or, if no files are specified,
 list the files that could be recovered.
 If no recoverable files by the specified name exist,
 the file is edited as if the
-.B \-r
+.Fl r
 option had not been specified.
-.TP
-.B \-S
+.It Fl S
 Run with the
-.B secure
+.Cm secure
 edit option set, disallowing all access to external programs.
-.TP
-.B \-s
+.It Fl s
 Enter batch mode; applicable only to
-.I \&ex
+.Nm ex
 edit sessions.
 Batch mode is useful when running
-.I \&ex
+.Nm ex
 scripts.
-Prompts, informative messages and other user oriented message
-are turned off,
+Prompts, informative messages and other user oriented messages are turned off,
 and no startup files or environment variables are read.
-This is the POSIX 1003.2 interface for the historic ``\-'' argument.
-.I \&Nex/nvi
+This is the POSIX 1003.2 interface for the historic
+.Dq -
+argument.
+.Nm nex Ns / Ns Nm nvi
 supports both the old and new syntax.
-.TP
-.B \-t
-Start editing at the specified tag.
-(See
-.IR ctags (1)).
-.TP
-.B \-w
-Set the initial window size to the specified number of lines.
-.TP
-.B \-v
+.It Fl t Ar tag
+Start editing at the specified
+.Ar tag
+.Pq see Xr ctags 1 .
+.It Fl v
 Start editing in vi mode, as if the command name was
-.I \&vi
-or
-.IR view .
-.PP
+.Nm vi .
+.It Fl w Ar size
+Set the initial window size to the specified number of lines.
+.El
+.Pp
 Command input for
-.I ex/vi
+.Nm ex Ns / Ns Nm vi
 is read from the standard input.
 In the
-.I \&vi
+.Nm vi
 interface, it is an error if standard input is not a terminal.
 In the
-.I \&ex
+.Nm ex
 interface, if standard input is not a terminal,
-.I \&ex
-will read commands from it regardless, however, the session will be a
+.Nm ex
+will read commands from it regardless; however, the session will be a
 batch mode session, exactly as if the
-.B \-s
+.Fl s
 option had been specified.
-.PP
-.I Ex/vi
-exits 0 on success, and greater than 0 if an error occurs.
-.SH FAST STARTUP
+.Sh FAST STARTUP
 This section will tell you the minimum amount that you need to
 do simple editing tasks using
-.IR \&vi .
-If you've never used any screen editor before, you're likely to have
-problems even with this simple introduction.
+.Nm vi .
+If you've never used any screen editor before,
+you're likely to have problems even with this simple introduction.
 In that case you should find someone that already knows
-.I \&vi
+.Nm vi
 and have them walk you through this section.
-.PP
-.I \&Vi
+.Pp
+.Nm vi
 is a screen editor.
-This means that it takes up almost the entire screen, displaying part
-of the file on each screen line, except for the last line of the screen.
+This means that it takes up almost the entire screen,
+displaying part of the file on each screen line,
+except for the last line of the screen.
 The last line of the screen is used for you to give commands to
-.IR \&vi ,
+.Nm vi ,
 and for
-.I \&vi
+.Nm vi
 to give information to you.
-.PP
+.Pp
 The other fact that you need to understand is that
-.I \&vi
-is a modeful editor, i.e. you are either entering text or you
-are executing commands, and you have to be in the right mode
-to do one or the other.
+.Nm vi
+is a modeful editor,
+i.e., you are either entering text or you are executing commands,
+and you have to be in the right mode to do one or the other.
 You will be in command mode when you first start editing a file.
 There are commands that switch you into input mode.
 There is only one key that takes you out of input mode,
-and that is the <escape> key.
-(Key names are written using less-than and greater-than signs, e.g.
-<escape> means the ``escape'' key, usually labeled ``esc'' on your
-terminal's keyboard.)
+and that is the
+.Aq escape
+key.
+.Pp
+Key names are written using less-than and greater-than signs, e.g.,
+.Aq escape
+means the
+.Dq escape
+key, usually labeled
+.Dq Esc
+on your terminal's keyboard.
 If you're ever confused as to which mode you're in,
-keep entering the <escape> key until
-.I \&vi
+keep entering the
+.Aq escape
+key until
+.Nm vi
 beeps at you.
-(Generally,
-.I \&vi
+Generally,
+.Nm vi
 will beep at you if you try and do something that's not allowed.
-It will also display error messages.)
-.PP
-To start editing a file, enter the command ``vi file_name<carriage-return>''.
-The command you should enter as soon as you start editing is
-``:set verbose showmode<carriage-return>''.
+It will also display error messages.
+.Pp
+To start editing a file, enter the following command:
+.Pp
+.Dl $ vi file
+.Pp
+The command you should enter as soon as you start editing is:
+.Pp
+.Dl :set verbose showmode
+.Pp
 This will make the editor give you verbose error messages and display
 the current mode at the bottom of the screen.
-.PP
+.Pp
 The commands to move around the file are:
-.TP
-.B h
+.Bl -tag -width Ds
+.It Cm h
 Move the cursor left one character.
-.TP
-.B j
+.It Cm j
 Move the cursor down one line.
-.TP
-.B k
+.It Cm k
 Move the cursor up one line.
-.TP
-.B l
+.It Cm l
 Move the cursor right one character.
-.TP
-.B <cursor-arrows>
+.It Aq Cm cursor-arrows
 The cursor arrow keys should work, too.
-.TP
-.B /text<carriage-return>
-Search for the string ``text'' in the file,
+.It Cm / Ns text
+Search for the string
+.Dq text
+in the file,
 and move the cursor to its first character.
-.PP
+.El
+.Pp
 The commands to enter new text are:
-.TP
-.B a
-Append new text,
-.I after
-the cursor.
-.TP
-.B i
-Insert new text,
-.I before
-the cursor.
-.TP
-.B o
-Open a new line below the line the cursor is on, and start
-entering text.
-.TP
-.B O
-Open a new line above the line the cursor is on, and start
-entering text.
-.TP
-.B <escape>
-Once you've entered input mode using the one of the
-.BR \&a ,
-.BR \&i ,
-.BR \&O
-or 
-.B \&o
+.Bl -tag -width "<escape>"
+.It Cm a
+Append new text, after the cursor.
+.It Cm i
+Insert new text, before the cursor.
+.It Cm o
+Open a new line below the line the cursor is on, and start entering text.
+.It Cm O
+Open a new line above the line the cursor is on, and start entering text.
+.It Aq Cm escape
+Once you've entered input mode using one of the
+.Cm a ,
+.Cm i ,
+.Cm o
+or
+.Cm O
 commands, use
-.B <escape>
+.Aq Cm escape
 to quit entering text and return to command mode.
-.PP
+.El
+.Pp
 The commands to copy text are:
-.TP
-.B yy
+.Bl -tag -width Ds
+.It Cm yy
 Copy the line the cursor is on.
-.TP
-.B p
+.It Cm p
 Append the copied line after the line the cursor is on.
-.PP
+.El
+.Pp
 The commands to delete text are:
-.TP
-.B dd
+.Bl -tag -width Ds
+.It Cm dd
 Delete the line the cursor is on.
-.TP
-.B x
+.It Cm x
 Delete the character the cursor is on.
-.PP
+.El
+.Pp
 The commands to write the file are:
-.TP
-.B :w<carriage-return>
+.Bl -tag -width Ds
+.It Cm :w
 Write the file back to the file with the name that you originally used
 as an argument on the
-.I \&vi
+.Nm vi
 command line.
-.TP
-.B ":w file_name<carriage-return>"
-Write the file back to the file with the name ``file_name''.
-.PP
+.It Cm :w Ar file_name
+Write the file back to the file with the name
+.Ar file_name .
+.El
+.Pp
 The commands to quit editing and exit the editor are:
-.TP
-.B :q<carriage-return>
-Quit editing and leave vi (if you've modified the file, but not
-saved your changes,
-.I \&vi
+.Bl -tag -width Ds
+.It Cm :q
+Quit editing and leave
+.Nm vi
+(if you've modified the file, but not saved your changes,
+.Nm vi
 will refuse to quit).
-.TP
-.B :q!<carriage-return>
+.It Cm :q!
 Quit, discarding any modifications that you may have made.
-.PP
-One final caution.
+.El
+.Pp
+One final caution:
 Unusual characters can take up more than one column on the screen,
 and long lines can take up more than a single screen line.
-The above commands work on ``physical'' characters and lines,
-i.e. they affect the entire line no matter how many screen lines it
-takes up and the entire character no matter how many screen columns
-it takes up.
-.SH VI COMMANDS
+The above commands work on
+.Dq physical
+characters and lines,
+i.e., they affect the entire line no matter how many screen lines it takes up
+and the entire character no matter how many screen columns it takes up.
+.Sh REGULAR EXPRESSIONS
+.Nm ex Ns / Ns Nm vi
+supports regular expressions
+.Pq REs ,
+as documented in
+.Xr re_format 7 ,
+for line addresses, as the first part of the
+.Nm ex Cm substitute ,
+.Cm global
+and
+.Cm v
+commands, and in search patterns.
+Basic regular expressions
+.Pq BREs
+are enabled by default;
+extended regular expressions
+.Pq EREs
+are used if the
+.Cm extended
+option is enabled.
+The use of regular expressions can be largely disabled using the
+.Cm magic
+option.
+.Pp
+The following strings have special meanings in the
+.Nm ex Ns / Ns Nm vi
+version of regular expressions:
+.Bl -bullet -offset 6u
+.It
+An empty regular expression is equivalent to the last regular expression used.
+.It
+.Sq \e\(la
+matches the beginning of the word.
+.It
+.Sq \e\(ra
+matches the end of the word.
+.It
+.Sq \(a~
+matches the replacement part of the last
+.Cm substitute
+command.
+.El
+.Sh BUFFERS
+A buffer is an area where commands can save changed or deleted text
+for later use.
+.Nm vi
+buffers are named with a single character preceded by a double quote,
+for example
+.Pf \&" Ns Aq c ;
+.Nm ex
+buffers are the same,
+but without the double quote.
+.Nm nex Ns / Ns Nm nvi
+permits the use of any character without another meaning in the position where
+a buffer name is expected.
+.Pp
+All buffers are either in
+.Em line mode
+or
+.Em character mode .
+Inserting a buffer in line mode into the text creates new lines for each of the
+lines it contains, while a buffer in character mode creates new lines for any
+lines
+.Em other
+than the first and last lines it contains.
+The first and last lines are inserted at the current cursor position, becoming
+part of the current line.
+If there is more than one line in the buffer,
+the current line itself will be split.
+All
+.Nm ex
+commands which store text into buffers do so in line mode.
+The behaviour of
+.Nm vi
+commands depend on their associated motion command:
+.Bl -bullet -offset 6u
+.It
+.Aq Cm control-A ,
+.Cm h ,
+.Cm l ,
+.Cm ,\& ,
+.Cm 0 ,
+.Cm B ,
+.Cm E ,
+.Cm F ,
+.Cm T ,
+.Cm W ,
+.Cm ^ ,
+.Cm b ,
+.Cm e ,
+.Cm f
+and
+.Cm t
+make the destination buffer character-oriented.
+.It
+.Cm j ,
+.Aq Cm control-M ,
+.Cm k ,
+.Cm ' ,
+.Cm - ,
+.Cm G ,
+.Cm H ,
+.Cm L ,
+.Cm M ,
+.Cm _
+and
+.Cm |\&
+make the destination buffer line-oriented.
+.It
+.Cm $ ,
+.Cm % ,
+.Cm ` ,
+.Cm (\& ,
+.Cm )\& ,
+.Cm / ,
+.Cm ?\& ,
+.Cm [[ ,
+.Cm ]] ,
+.Cm {
+and
+.Cm }
+make the destination buffer character-oriented, unless the starting and
+end positions are the first and last characters on a line.
+In that case, the buffer is line-oriented.
+.El
+.Pp
+The
+.Nm ex
+command
+.Cm display buffers
+displays the current mode for each buffer.
+.Pp
+Buffers named
+.Sq a
+through
+.Sq z
+may be referred to using their uppercase equivalent, in which case new content
+will be appended to the buffer, instead of replacing it.
+.Pp
+Buffers named
+.Sq 1
+through
+.Sq 9
+are special.
+A region of text modified using the
+.Cm c
+.Pq change
+or
+.Cm d
+.Pq delete
+commands is placed into the numeric buffer
+.Sq 1
+if no other buffer is specified and if it meets one of the following conditions:
+.Bl -bullet -offset 6u
+.It
+It includes characters from more than one line.
+.It
+It is specified using a line-oriented motion.
+.It
+It is specified using one of the following motion commands:
+.Aq Cm control-A ,
+.Cm ` Ns Aq Cm character ,
+.Cm n ,
+.Cm N ,
+.Cm % ,
+.Cm / ,
+.Cm { ,
+.Cm } ,
+.Cm \&( ,
+.Cm \&) ,
+and
+.Cm \&? .
+.El
+.Pp
+Before this copy is done, the previous contents of buffer
+.Sq 1
+are moved into buffer
+.Sq 2 ,
+.Sq 2
+into buffer
+.Sq 3 ,
+and so on.
+The contents of buffer
+.Sq 9
+are discarded.
+Note that this rotation occurs
+.Em regardless
+of the user specifying another buffer.
+In
+.Nm vi ,
+text may be explicitly stored into the numeric buffers.
+In this case, the buffer rotation occurs before the replacement of the buffer's
+contents.
+The numeric buffers are only available in
+.Nm vi
+mode.
+.Sh VI COMMANDS
 The following section describes the commands available in the command
 mode of the
-.I \&vi
+.Nm vi
 editor.
-In each entry below, the tag line is a usage synopsis for the command
-character.
-.PP
-.TP
-.B "[count] <control-A>"
+The following words have a special meaning in the commands description:
+.Pp
+.Bl -tag -width bigword -compact -offset 3u
+.It Ar bigword
+A set of non-whitespace characters.
+.It Ar buffer
+Temporary area where commands may place text.
+If not specified, the default buffer is used.
+See also
+.Sx BUFFERS ,
+above.
+.It Ar count
+A positive number used to specify the desired number of iterations
+of a command.
+It defaults to 1 if not specified.
+.It Ar motion
+A cursor movement command which indicates the other end of the affected region
+of text, the first being the current cursor position.
+Repeating the command character makes it affect the whole current line.
+.It Ar word
+A sequence of letters, digits or underscores.
+.El
+.Pp
+.Ar buffer
+and
+.Ar count ,
+if both present, may be specified in any order.
+.Ar motion
+and
+.Ar count ,
+if both present, are effectively multiplied together
+and considered part of the motion.
+.Pp
+.Bl -tag -width Ds -compact
+.It Xo
+.Aq Cm control-A
+.Xc
 Search forward
-.I count
-times for the current word.
-.TP
-.B "[count] <control-B>"
+for the word starting at the cursor position.
+.Pp
+.It Xo
+.Op Ar count
+.Aq Cm control-B
+.Xc
 Page backwards
-.I count
+.Ar count
 screens.
-.TP
-.B "[count] <control-D>"
+Two lines of overlap are maintained, if possible.
+.Pp
+.It Xo
+.Op Ar count
+.Aq Cm control-D
+.Xc
 Scroll forward
-.I count
+.Ar count
 lines.
-.TP
-.B "[count] <control-E>"
+If
+.Ar count
+is not given, scroll forward the number of lines specified by the last
+.Aq Cm control-D
+or
+.Aq Cm control-U
+command.
+If this is the first
+.Aq Cm control-D
+command, scroll half the number of lines in the current screen.
+.Pp
+.It Xo
+.Op Ar count
+.Aq Cm control-E
+.Xc
 Scroll forward
-.I count
+.Ar count
 lines, leaving the current line and column as is, if possible.
-.TP
-.B "[count] <control-F>"
+.Pp
+.It Xo
+.Op Ar count
+.Aq Cm control-F
+.Xc
 Page forward
-.I count
+.Ar count
 screens.
-.TP
-.B "<control-G>"
-Display the file information.
-.TP
-.B "<control-H>"
-.TP
-.B "[count] h"
+Two lines of overlap are maintained, if possible.
+.Pp
+.It Aq Cm control-G
+Display the following file information:
+the file name
+.Pq as given to Nm vi ;
+whether the file has been modified since it was last written;
+if the file is read-only;
+the current line number;
+the total number of lines in the file;
+and the current line number as a percentage of the total lines in the file.
+.Pp
+.It Xo
+.Op Ar count
+.Aq Cm control-H
+.Xc
+.It Xo
+.Op Ar count
+.Cm h
+.Xc
 Move the cursor back
-.I count
+.Ar count
 characters in the current line.
-.TP
-.B "[count] <control-J>"
-.TP
-.B "[count] <control-N>"
-.TP
-.B "[count] j"
+.Pp
+.It Xo
+.Op Ar count
+.Aq Cm control-J
+.Xc
+.It Xo
+.Op Ar count
+.Aq Cm control-N
+.Xc
+.It Xo
+.Op Ar count
+.Cm j
+.Xc
 Move the cursor down
-.I count
+.Ar count
 lines without changing the current column.
-.TP
-.B "<control-L>"
-.TP
-.B "<control-R>"
+.Pp
+.It Aq Cm control-L
+.It Aq Cm control-R
 Repaint the screen.
-.TP
-.B "[count] <control-M>"
-.TP
-.B "[count] +"
+.Pp
+.It Xo
+.Op Ar count
+.Aq Cm control-M
+.Xc
+.It Xo
+.Op Ar count
+.Cm +
+.Xc
 Move the cursor down
-.I count
-lines to the first nonblank character of that line.
-.TP
-.B "[count] <control-P>"
-.TP
-.B "[count] k"
+.Ar count
+lines to the first non-blank character of that line.
+.Pp
+.It Xo
+.Op Ar count
+.Aq Cm control-P
+.Xc
+.It Xo
+.Op Ar count
+.Cm k
+.Xc
 Move the cursor up
-.I count
+.Ar count
 lines, without changing the current column.
-.TP
-.B "<control-T>"
+.Pp
+.It Aq Cm control-T
 Return to the most recent tag context.
-.TP
-.B "<control-U>"
+.Pp
+.It Xo
+.Op Ar count
+.Aq Cm control-U
+.Xc
 Scroll backwards
-.I count
+.Ar count
 lines.
-.TP
-.B "<control-W>"
-Switch to the next lower screen in the window, or, to the first
-screen if there are no lower screens in the window.
-.TP
-.B "<control-Y>"
+If

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

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 16:57:57 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id A5494313;
 Mon, 11 Nov 2013 16:57:57 +0000 (UTC)
 (envelope-from markj@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 8360B2646;
 Mon, 11 Nov 2013 16:57:57 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rABGvvYw034386;
 Mon, 11 Nov 2013 16:57:57 GMT (envelope-from markj@svn.freebsd.org)
Received: (from markj@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rABGvvX9034385;
 Mon, 11 Nov 2013 16:57:57 GMT (envelope-from markj@svn.freebsd.org)
Message-Id: <201311111657.rABGvvX9034385@svn.freebsd.org>
From: Mark Johnston <markj@FreeBSD.org>
Date: Mon, 11 Nov 2013 16:57:57 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258000 - head/lib/libproc
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 16:57:57 -0000

Author: markj
Date: Mon Nov 11 16:57:57 2013
New Revision: 258000
URL: http://svnweb.freebsd.org/changeset/base/258000

Log:
  Consistently add the relocation offset only when the ELF type is not
  ET_EXEC. This fixes several problems with the DTrace pid provider not
  being able to match probes.
  
  Reviewed by:	rpaulo
  MFC after:	2 weeks

Modified:
  head/lib/libproc/proc_sym.c

Modified: head/lib/libproc/proc_sym.c
==============================================================================
--- head/lib/libproc/proc_sym.c	Mon Nov 11 16:52:02 2013	(r257999)
+++ head/lib/libproc/proc_sym.c	Mon Nov 11 16:57:57 2013	(r258000)
@@ -284,7 +284,10 @@ proc_addr2sym(struct proc_handle *p, uin
 		 * Calculate the address mapped to the virtual memory
 		 * by rtld.
 		 */
-		rsym = map->pr_vaddr + sym.st_value;
+		if (ehdr.e_type != ET_EXEC)
+			rsym = map->pr_vaddr + sym.st_value;
+		else
+			rsym = sym.st_value;
 		if (addr >= rsym && addr < rsym + sym.st_size) {
 			s = elf_strptr(e, dynsymstridx, sym.st_name);
 			if (s) {
@@ -309,8 +312,6 @@ symtab:
 	 * Iterate over the Symbols Table to find the symbol.
 	 * Then look up the string name in STRTAB (.dynstr)
 	 */
-	if (symtabscn == NULL)
-		goto err2;
 	if ((data = elf_getdata(symtabscn, NULL)) == NULL) {
 		DPRINTFX("ERROR: elf_getdata() failed: %s", elf_errmsg(-1));
 		goto err2;
@@ -465,7 +466,8 @@ proc_name2sym(struct proc_handle *p, con
 			s = elf_strptr(e, dynsymstridx, sym.st_name);
 			if (s && strcmp(s, symbol) == 0) {
 				memcpy(symcopy, &sym, sizeof(sym));
-				symcopy->st_value = map->pr_vaddr + sym.st_value;
+				if (ehdr.e_type != ET_EXEC)
+					symcopy->st_value += map->pr_vaddr;
 				error = 0;
 				goto out;
 			}
@@ -475,20 +477,21 @@ proc_name2sym(struct proc_handle *p, con
 	 * Iterate over the Symbols Table to find the symbol.
 	 * Then look up the string name in STRTAB (.dynstr)
 	 */
-	if (symtabscn == NULL)
-		goto err2;
 	if ((data = elf_getdata(symtabscn, NULL))) {
 		i = 0;
 		while (gelf_getsym(data, i++, &sym) != NULL) {
 			s = elf_strptr(e, symtabstridx, sym.st_name);
 			if (s && strcmp(s, symbol) == 0) {
 				memcpy(symcopy, &sym, sizeof(sym));
+				if (ehdr.e_type != ET_EXEC)
+					symcopy->st_value += map->pr_vaddr;
 				error = 0;
 				goto out;
 			}
 		}
 	}
 out:
+	DPRINTFX("found addr 0x%lx for %s", symcopy->st_value, symbol);
 err2:
 	elf_end(e);
 err1:
@@ -509,6 +512,7 @@ proc_iter_symbyaddr(struct proc_handle *
 	prmap_t *map;
 	Elf_Scn *scn, *foundscn = NULL;
 	Elf_Data *data;
+	GElf_Ehdr ehdr;
 	GElf_Shdr shdr;
 	GElf_Sym sym;
 	unsigned long stridx = -1;
@@ -525,6 +529,10 @@ proc_iter_symbyaddr(struct proc_handle *
 		DPRINTFX("ERROR: elf_begin() failed: %s", elf_errmsg(-1));
 		goto err1;
 	}
+	if (gelf_getehdr(e, &ehdr) == NULL) {
+		DPRINTFX("ERROR: gelf_getehdr() failed: %s", elf_errmsg(-1));
+		goto err2;
+	}
 	/*
 	 * Find the section we are looking for.
 	 */
@@ -575,7 +583,8 @@ proc_iter_symbyaddr(struct proc_handle *
 		    (mask & TYPE_FILE) == 0)
 			continue;
 		s = elf_strptr(e, stridx, sym.st_name);
-		sym.st_value += map->pr_vaddr;
+		if (ehdr.e_type != ET_EXEC)
+			sym.st_value += map->pr_vaddr;
 		(*func)(cd, &sym, s);
 	}
 	error = 0;

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 17:07:02 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 9827171D;
 Mon, 11 Nov 2013 17:07:02 +0000 (UTC)
 (envelope-from pluknet@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 85F362721;
 Mon, 11 Nov 2013 17:07:02 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rABH72Fl037902;
 Mon, 11 Nov 2013 17:07:02 GMT (envelope-from pluknet@svn.freebsd.org)
Received: (from pluknet@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rABH72hc037901;
 Mon, 11 Nov 2013 17:07:02 GMT (envelope-from pluknet@svn.freebsd.org)
Message-Id: <201311111707.rABH72hc037901@svn.freebsd.org>
From: Sergey Kandaurov <pluknet@FreeBSD.org>
Date: Mon, 11 Nov 2013 17:07:02 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258001 - head/sys/sys
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 17:07:02 -0000

Author: pluknet
Date: Mon Nov 11 17:07:02 2013
New Revision: 258001
URL: http://svnweb.freebsd.org/changeset/base/258001

Log:
  Add a brief comment about VM_GUEST and vm_guest_sysctl_names relationship.
  
  Suggested by:	Roger Pau Monne
  Reviewed by:	Roger Pau Monne

Modified:
  head/sys/sys/systm.h

Modified: head/sys/sys/systm.h
==============================================================================
--- head/sys/sys/systm.h	Mon Nov 11 16:57:57 2013	(r258000)
+++ head/sys/sys/systm.h	Mon Nov 11 17:07:02 2013	(r258001)
@@ -70,6 +70,7 @@ extern int vm_guest;		/* Running as virt
  * Detected virtual machine guest types. The intention is to expand
  * and/or add to the VM_GUEST_VM type if specific VM functionality is
  * ever implemented (e.g. vendor-specific paravirtualization features).
+ * Keep in sync with vm_guest_sysctl_names[].
  */
 enum VM_GUEST { VM_GUEST_NO = 0, VM_GUEST_VM, VM_GUEST_XEN, VM_GUEST_HV };
 

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 17:37:53 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id EB0EB210;
 Mon, 11 Nov 2013 17:37:52 +0000 (UTC)
 (envelope-from nwhitehorn@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id D6B832950;
 Mon, 11 Nov 2013 17:37:52 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rABHbq3U048295;
 Mon, 11 Nov 2013 17:37:52 GMT
 (envelope-from nwhitehorn@svn.freebsd.org)
Received: (from nwhitehorn@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rABHbpVg048284;
 Mon, 11 Nov 2013 17:37:51 GMT
 (envelope-from nwhitehorn@svn.freebsd.org)
Message-Id: <201311111737.rABHbpVg048284@svn.freebsd.org>
From: Nathan Whitehorn <nwhitehorn@FreeBSD.org>
Date: Mon, 11 Nov 2013 17:37:51 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258002 - in head/sys: conf powerpc/aim powerpc/booke
 powerpc/include powerpc/powerpc
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 17:37:53 -0000

Author: nwhitehorn
Date: Mon Nov 11 17:37:50 2013
New Revision: 258002
URL: http://svnweb.freebsd.org/changeset/base/258002

Log:
  Follow up r223485, which made AIM use the ABI thread pointer instead of
  PCPU fields for curthread, by doing the same to Book-E. This closes
  some potential races switching between CPUs. As a side effect, it turns out
  the AIM and Book-E swtch.S implementations were the same to within a few
  registers, so move that to powerpc/powerpc.
  
  MFC after: 3 months

Added:
  head/sys/powerpc/powerpc/swtch32.S
     - copied, changed from r257990, head/sys/powerpc/aim/swtch32.S
  head/sys/powerpc/powerpc/swtch64.S
     - copied unchanged from r257990, head/sys/powerpc/aim/swtch64.S
Deleted:
  head/sys/powerpc/aim/swtch32.S
  head/sys/powerpc/aim/swtch64.S
  head/sys/powerpc/booke/swtch.S
Modified:
  head/sys/conf/files.powerpc
  head/sys/powerpc/booke/locore.S
  head/sys/powerpc/booke/machdep.c
  head/sys/powerpc/booke/mp_cpudep.c
  head/sys/powerpc/booke/pmap.c
  head/sys/powerpc/booke/trap_subr.S
  head/sys/powerpc/include/pcpu.h

Modified: head/sys/conf/files.powerpc
==============================================================================
--- head/sys/conf/files.powerpc	Mon Nov 11 17:07:02 2013	(r258001)
+++ head/sys/conf/files.powerpc	Mon Nov 11 17:37:50 2013	(r258002)
@@ -96,8 +96,6 @@ powerpc/aim/moea64_if.m		optional	aim
 powerpc/aim/moea64_native.c	optional	aim
 powerpc/aim/mp_cpudep.c		optional	aim smp
 powerpc/aim/slb.c		optional	aim powerpc64
-powerpc/aim/swtch32.S		optional	aim powerpc
-powerpc/aim/swtch64.S		optional	aim powerpc64
 powerpc/aim/trap.c		optional	aim
 powerpc/aim/uma_machdep.c	optional	aim
 powerpc/booke/copyinout.c	optional	booke
@@ -108,7 +106,6 @@ powerpc/booke/machdep_e500.c	optional	bo
 powerpc/booke/mp_cpudep.c	optional	booke smp
 powerpc/booke/platform_bare.c	optional	booke
 powerpc/booke/pmap.c		optional	booke
-powerpc/booke/swtch.S		optional	booke
 powerpc/booke/trap.c		optional	booke
 powerpc/cpufreq/dfs.c		optional	cpufreq
 powerpc/cpufreq/pcr.c		optional	cpufreq aim
@@ -205,6 +202,8 @@ powerpc/powerpc/sc_machdep.c	optional	sc
 powerpc/powerpc/setjmp.S	standard
 powerpc/powerpc/sigcode32.S	optional	powerpc | compat_freebsd32
 powerpc/powerpc/sigcode64.S	optional	powerpc64
+powerpc/powerpc/swtch32.S	optional	powerpc
+powerpc/powerpc/swtch64.S	optional	powerpc64
 powerpc/powerpc/stack_machdep.c	optional	ddb | stack
 powerpc/powerpc/suswintr.c	standard
 powerpc/powerpc/syncicache.c	standard

Modified: head/sys/powerpc/booke/locore.S
==============================================================================
--- head/sys/powerpc/booke/locore.S	Mon Nov 11 17:07:02 2013	(r258001)
+++ head/sys/powerpc/booke/locore.S	Mon Nov 11 17:37:50 2013	(r258002)
@@ -738,8 +738,7 @@ ENTRY(icache_enable)
 setfault:
 	mflr	%r0
 	mfsprg0	%r4
-	lwz	%r4, PC_CURTHREAD(%r4)
-	lwz	%r4, TD_PCB(%r4)
+	lwz	%r4, TD_PCB(%r2)
 	stw	%r3, PCB_ONFAULT(%r4)
 	mfcr	%r10
 	mfctr	%r11

Modified: head/sys/powerpc/booke/machdep.c
==============================================================================
--- head/sys/powerpc/booke/machdep.c	Mon Nov 11 17:07:02 2013	(r258001)
+++ head/sys/powerpc/booke/machdep.c	Mon Nov 11 17:37:50 2013	(r258002)
@@ -409,6 +409,11 @@ booke_init(uint32_t arg1, uint32_t arg2)
 	pc = &__pcpu[0];
 	pcpu_init(pc, 0, sizeof(struct pcpu));
 	pc->pc_curthread = &thread0;
+#ifdef __powerpc64__
+	__asm __volatile("mr 13,%0" :: "r"(pc->pc_curthread));
+#else
+	__asm __volatile("mr 2,%0" :: "r"(pc->pc_curthread));
+#endif
 	__asm __volatile("mtsprg 0, %0" :: "r"(pc));
 
 	/* Initialize system mutexes. */

Modified: head/sys/powerpc/booke/mp_cpudep.c
==============================================================================
--- head/sys/powerpc/booke/mp_cpudep.c	Mon Nov 11 17:07:02 2013	(r258001)
+++ head/sys/powerpc/booke/mp_cpudep.c	Mon Nov 11 17:37:50 2013	(r258002)
@@ -71,6 +71,11 @@ cpudep_ap_bootstrap()
 
 	/* Assign pcpu fields, return ptr to this AP's idle thread kstack */
 	pcpup->pc_curthread = pcpup->pc_idlethread;
+#ifdef __powerpc64__
+	__asm __volatile("mr 13,%0" :: "r"(pcpup->pc_curthread));
+#else
+	__asm __volatile("mr 2,%0" :: "r"(pcpup->pc_curthread));
+#endif
 	pcpup->pc_curpcb = pcpup->pc_curthread->td_pcb;
 	sp = pcpup->pc_curpcb->pcb_sp;
 

Modified: head/sys/powerpc/booke/pmap.c
==============================================================================
--- head/sys/powerpc/booke/pmap.c	Mon Nov 11 17:07:02 2013	(r258001)
+++ head/sys/powerpc/booke/pmap.c	Mon Nov 11 17:37:50 2013	(r258002)
@@ -100,8 +100,6 @@ __FBSDID("$FreeBSD$");
 
 #define TODO			panic("%s: not implemented", __func__);
 
-extern struct mtx sched_lock;
-
 extern int dumpsys_minidump;
 
 extern unsigned char _etext[];
@@ -1906,7 +1904,7 @@ mmu_booke_activate(mmu_t mmu, struct thr
 
 	KASSERT((pmap != kernel_pmap), ("mmu_booke_activate: kernel_pmap!"));
 
-	mtx_lock_spin(&sched_lock);
+	sched_pin();
 
 	cpuid = PCPU_GET(cpuid);
 	CPU_SET_ATOMIC(cpuid, &pmap->pm_active);
@@ -1919,7 +1917,7 @@ mmu_booke_activate(mmu_t mmu, struct thr
 	mtspr(SPR_PID0, pmap->pm_tid[cpuid]);
 	__asm __volatile("isync");
 
-	mtx_unlock_spin(&sched_lock);
+	sched_unpin();
 
 	CTR3(KTR_PMAP, "%s: e (tid = %d for '%s')", __func__,
 	    pmap->pm_tid[PCPU_GET(cpuid)], td->td_proc->p_comm);

Modified: head/sys/powerpc/booke/trap_subr.S
==============================================================================
--- head/sys/powerpc/booke/trap_subr.S	Mon Nov 11 17:07:02 2013	(r258001)
+++ head/sys/powerpc/booke/trap_subr.S	Mon Nov 11 17:37:50 2013	(r258002)
@@ -219,7 +219,8 @@
 	lwz	%r30, (savearea+CPUSAVE_SRR0)(%r2);			\
 	lwz	%r31, (savearea+CPUSAVE_SRR1)(%r2);			\
 	stw	%r30, FRAME_SRR0+8(%r1);				\
-	stw	%r31, FRAME_SRR1+8(%r1)
+	stw	%r31, FRAME_SRR1+8(%r1);				\
+	lwz	%r2,PC_CURTHREAD(%r2)	/* set curthread pointer */
 
 /*
  *
@@ -734,7 +735,8 @@ interrupt_vector_top:
 INTERRUPT(int_debug)
 	STANDARD_CRIT_PROLOG(SPR_SPRG2, PC_BOOKE_CRITSAVE, SPR_CSRR0, SPR_CSRR1)
 	FRAME_SETUP(SPR_SPRG2, PC_BOOKE_CRITSAVE, EXC_DEBUG)
-	lwz	%r3, (PC_BOOKE_CRITSAVE+CPUSAVE_SRR0)(%r2);
+	GET_CPUINFO(%r3)
+	lwz	%r3, (PC_BOOKE_CRITSAVE+CPUSAVE_SRR0)(%r3)
 	lis	%r4, interrupt_vector_base@ha
 	addi	%r4, %r4, interrupt_vector_base@l
 	cmplw	cr0, %r3, %r4
@@ -748,9 +750,10 @@ INTERRUPT(int_debug)
 	rlwinm	%r3, %r3, 0, 23, 21
 	stw	%r3, FRAME_SRR1+8(%r1);
 	/* Restore srr0 and srr1 as they could have been clobbered. */
-	lwz	%r3, (PC_BOOKE_CRITSAVE+CPUSAVE_SRR0+8)(%r2);
+	GET_CPUINFO(%r4)
+	lwz	%r3, (PC_BOOKE_CRITSAVE+CPUSAVE_SRR0+8)(%r4);
 	mtspr	SPR_SRR0, %r3
-	lwz	%r4, (PC_BOOKE_CRITSAVE+CPUSAVE_SRR1+8)(%r2);
+	lwz	%r4, (PC_BOOKE_CRITSAVE+CPUSAVE_SRR1+8)(%r4);
 	mtspr	SPR_SRR1, %r4
 	b	9f
 1:

Modified: head/sys/powerpc/include/pcpu.h
==============================================================================
--- head/sys/powerpc/include/pcpu.h	Mon Nov 11 17:07:02 2013	(r258001)
+++ head/sys/powerpc/include/pcpu.h	Mon Nov 11 17:37:50 2013	(r258002)
@@ -135,7 +135,6 @@ struct pmap;
 
 #define pcpup	((struct pcpu *) powerpc_get_pcpup())
 
-#ifdef AIM /* Book-E not yet adapted */
 static __inline __pure2 struct thread *
 __curthread(void)
 {
@@ -148,7 +147,6 @@ __curthread(void)
 	return (td);
 }
 #define curthread (__curthread())
-#endif
 
 #define	PCPU_GET(member)	(pcpup->pc_ ## member)
 

Copied and modified: head/sys/powerpc/powerpc/swtch32.S (from r257990, head/sys/powerpc/aim/swtch32.S)
==============================================================================
--- head/sys/powerpc/aim/swtch32.S	Mon Nov 11 14:08:25 2013	(r257990, copy source)
+++ head/sys/powerpc/powerpc/swtch32.S	Mon Nov 11 17:37:50 2013	(r258002)
@@ -64,6 +64,7 @@
 #include <machine/trap.h>
 #include <machine/param.h>
 #include <machine/asm.h>
+#include <machine/spr.h>
 
 /*
  * void cpu_throw(struct thread *old, struct thread *new)
@@ -88,6 +89,14 @@ ENTRY(cpu_switch)
 	stw	%r16,PCB_CR(%r6)
 	mflr	%r16			/* Save the link register */
 	stw	%r16,PCB_LR(%r6)
+#ifdef BOOKE
+	mfctr	%r16
+	stw	%r16,PCB_BOOKE_CTR(%r6)
+	mfxer	%r16
+	stw	%r16,PCB_BOOKE_XER(%r6)
+	mfspr	%r16,SPR_DBCR0
+	stw	%r16,PCB_BOOKE_DBCR0(%r6)
+#endif
 	stw	%r1,PCB_SP(%r6)		/* Save the stack pointer */
 
 	mr	%r14,%r3		/* Copy the old thread ptr... */
@@ -95,6 +104,7 @@ ENTRY(cpu_switch)
 	mr	%r16,%r5		/* and the new lock */
 	mr	%r17,%r6		/* and the PCB */
 	
+#ifdef AIM
 	lwz	%r7,PCB_FLAGS(%r17)
 	/* Save FPU context if needed */
 	andi.	%r7, %r7, PCB_FPU
@@ -110,6 +120,7 @@ ENTRY(cpu_switch)
 	bl	save_vec
 	
 .L2:
+#endif
 	mr	%r3,%r14		/* restore old thread ptr */
 	bl	pmap_deactivate		/* Deactivate the current pmap */
 
@@ -136,6 +147,7 @@ blocked_loop:
 	mr	%r3,%r2			/* Get new thread ptr */
 	bl	pmap_activate		/* Activate the new address space */
 
+#ifdef AIM
 	lwz	%r6, PCB_FLAGS(%r17)
 	/* Restore FPU context if needed */
 	andi.	%r6, %r6, PCB_FPU
@@ -151,18 +163,29 @@ blocked_loop:
 	mr	%r3,%r2			/* Pass curthread to enable_vec */
 	bl	enable_vec
 
-	/* thread to restore is in r3 */
 .L4:
+#endif
+	/* thread to restore is in r3 */
 	mr	%r3,%r17		/* Recover PCB ptr */
 	lmw	%r12,PCB_CONTEXT(%r3)	/* Load the non-volatile GP regs */
 	lwz	%r5,PCB_CR(%r3)		/* Load the condition register */
 	mtcr	%r5
 	lwz	%r5,PCB_LR(%r3)		/* Load the link register */
 	mtlr	%r5
+#ifdef AIM
 	lwz	%r5,PCB_AIM_USR_VSID(%r3) /* Load the USER_SR segment reg */
 	isync
 	mtsr	USER_SR,%r5
 	isync
+#endif
+#ifdef BOOKE
+	lwz	%r5,PCB_BOOKE_CTR(%r3)
+	mtctr	%r5
+	lwz	%r5,PCB_BOOKE_XER(%r3)
+	mtctr	%r5
+	lwz	%r5,PCB_BOOKE_DBCR0(%r3)
+	mtspr	SPR_DBCR0,%r5
+#endif
 	lwz	%r1,PCB_SP(%r3)		/* Load the stack pointer */
 	/*
 	 * Perform a dummy stwcx. to clear any reservations we may have

Copied: head/sys/powerpc/powerpc/swtch64.S (from r257990, head/sys/powerpc/aim/swtch64.S)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sys/powerpc/powerpc/swtch64.S	Mon Nov 11 17:37:50 2013	(r258002, copy of r257990, head/sys/powerpc/aim/swtch64.S)
@@ -0,0 +1,287 @@
+/* $FreeBSD$ */
+/* $NetBSD: locore.S,v 1.24 2000/05/31 05:09:17 thorpej Exp $ */
+
+/*-
+ * Copyright (C) 2001 Benno Rice
+ * 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 Benno Rice ``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 TOOLS GMBH 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.
+*/
+/*-
+ * Copyright (C) 1995, 1996 Wolfgang Solfrank.
+ * Copyright (C) 1995, 1996 TooLs GmbH.
+ * 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.
+ * 3. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *	This product includes software developed by TooLs GmbH.
+ * 4. The name of TooLs GmbH may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY TOOLS GMBH ``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 TOOLS GMBH 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.
+ */
+
+#include "assym.s"
+#include "opt_sched.h"
+
+#include <sys/syscall.h>
+
+#include <machine/trap.h>
+#include <machine/param.h>
+#include <machine/asm.h>
+
+/*
+ * void cpu_throw(struct thread *old, struct thread *new)
+ */
+ENTRY(cpu_throw)
+	mr	%r13, %r4
+	b	cpu_switchin
+
+/*
+ * void cpu_switch(struct thread *old,
+ *		   struct thread *new,
+ *		   struct mutex *mtx); 
+ *
+ * Switch to a new thread saving the current state in the old thread.
+ */
+ENTRY(cpu_switch)
+	ld	%r6,TD_PCB(%r3)		/* Get the old thread's PCB ptr */
+	std	%r12,PCB_CONTEXT(%r6)	/* Save the non-volatile GP regs.
+					   These can now be used for scratch */
+	std	%r14,PCB_CONTEXT+2*8(%r6)	
+	std	%r15,PCB_CONTEXT+3*8(%r6)	
+	std	%r16,PCB_CONTEXT+4*8(%r6)	
+	std	%r17,PCB_CONTEXT+5*8(%r6)	
+	std	%r18,PCB_CONTEXT+6*8(%r6)	
+	std	%r19,PCB_CONTEXT+7*8(%r6)	
+	std	%r20,PCB_CONTEXT+8*8(%r6)	
+	std	%r21,PCB_CONTEXT+9*8(%r6)	
+	std	%r22,PCB_CONTEXT+10*8(%r6)	
+	std	%r23,PCB_CONTEXT+11*8(%r6)	
+	std	%r24,PCB_CONTEXT+12*8(%r6)	
+	std	%r25,PCB_CONTEXT+13*8(%r6)	
+	std	%r26,PCB_CONTEXT+14*8(%r6)	
+	std	%r27,PCB_CONTEXT+15*8(%r6)	
+	std	%r28,PCB_CONTEXT+16*8(%r6)	
+	std	%r29,PCB_CONTEXT+17*8(%r6)	
+	std	%r30,PCB_CONTEXT+18*8(%r6)	
+	std	%r31,PCB_CONTEXT+19*8(%r6)	
+
+	mfcr	%r16			/* Save the condition register */
+	std	%r16,PCB_CR(%r6)
+	mflr	%r16			/* Save the link register */
+	std	%r16,PCB_LR(%r6)
+	std	%r1,PCB_SP(%r6)		/* Save the stack pointer */
+	std	%r2,PCB_TOC(%r6)	/* Save the TOC pointer */
+	
+	mr	%r14,%r3		/* Copy the old thread ptr... */
+	mr	%r13,%r4		/* and the new thread ptr in curthread*/
+	mr	%r16,%r5		/* and the new lock */
+	mr	%r17,%r6		/* and the PCB */
+	
+	stdu	%r1,-48(%r1)
+
+	lwz	%r7,PCB_FLAGS(%r17)
+	/* Save FPU context if needed */
+	andi.	%r7, %r7, PCB_FPU
+	beq	.L1
+	bl	save_fpu
+	nop
+
+.L1:
+	mr	%r3,%r14		/* restore old thread ptr */
+	lwz	%r7,PCB_FLAGS(%r17)
+	/* Save Altivec context if needed */
+	andi.	%r7, %r7, PCB_VEC
+	beq	.L2
+	bl	save_vec
+	nop
+	
+.L2:
+	mr	%r3,%r14		/* restore old thread ptr */
+	bl	pmap_deactivate	/* Deactivate the current pmap */
+	nop
+
+	addi	%r1,%r1,48
+
+	sync				/* Make sure all of that finished */
+	std	%r16,TD_LOCK(%r14)	/* ULE:	update old thread's lock */
+
+cpu_switchin:
+#if defined(SMP) && defined(SCHED_ULE)
+	/* Wait for the new thread to become unblocked */
+	lis	%r6,blocked_lock@ha
+	addi	%r6,%r6,blocked_lock@l
+blocked_loop:
+	ld	%r7,TD_LOCK(%r13)
+	cmpd	%r6,%r7 
+	beq-	blocked_loop
+	isync
+#endif
+
+	mfsprg	%r7,0			/* Get the pcpu pointer */
+	std	%r13,PC_CURTHREAD(%r7)	/* Store new current thread */
+	ld	%r17,TD_PCB(%r13)	/* Store new current PCB */
+	std	%r17,PC_CURPCB(%r7)
+
+	stdu	%r1,-48(%r1)
+
+	mr	%r3,%r13		/* Get new thread ptr */
+	bl	pmap_activate		/* Activate the new address space */
+	nop
+
+	lwz	%r6, PCB_FLAGS(%r17)
+	/* Restore FPU context if needed */
+	andi.	%r6, %r6, PCB_FPU
+	beq	.L3
+	mr	%r3,%r13		/* Pass curthread to enable_fpu */
+	bl	enable_fpu
+	nop
+
+.L3:
+	lwz	%r6, PCB_FLAGS(%r17)
+	/* Restore Altivec context if needed */
+	andi.	%r6, %r6, PCB_VEC
+	beq	.L4
+	mr	%r3,%r13		/* Pass curthread to enable_vec */
+	bl	enable_vec
+	nop
+
+	/* thread to restore is in r3 */
+.L4:
+	addi	%r1,%r1,48
+	mr	%r3,%r17		/* Recover PCB ptr */
+	ld	%r12,PCB_CONTEXT(%r3)	/* Load the non-volatile GP regs. */
+	ld	%r14,PCB_CONTEXT+2*8(%r3)	
+	ld	%r15,PCB_CONTEXT+3*8(%r3)	
+	ld	%r16,PCB_CONTEXT+4*8(%r3)	
+	ld	%r17,PCB_CONTEXT+5*8(%r3)	
+	ld	%r18,PCB_CONTEXT+6*8(%r3)	
+	ld	%r19,PCB_CONTEXT+7*8(%r3)	
+	ld	%r20,PCB_CONTEXT+8*8(%r3)	
+	ld	%r21,PCB_CONTEXT+9*8(%r3)	
+	ld	%r22,PCB_CONTEXT+10*8(%r3)	
+	ld	%r23,PCB_CONTEXT+11*8(%r3)	
+	ld	%r24,PCB_CONTEXT+12*8(%r3)	
+	ld	%r25,PCB_CONTEXT+13*8(%r3)	
+	ld	%r26,PCB_CONTEXT+14*8(%r3)	
+	ld	%r27,PCB_CONTEXT+15*8(%r3)	
+	ld	%r28,PCB_CONTEXT+16*8(%r3)
+	ld	%r29,PCB_CONTEXT+17*8(%r3)	
+	ld	%r30,PCB_CONTEXT+18*8(%r3)	
+	ld	%r31,PCB_CONTEXT+19*8(%r3)	
+	ld	%r5,PCB_CR(%r3)		/* Load the condition register */
+	mtcr	%r5
+	ld	%r5,PCB_LR(%r3)		/* Load the link register */
+	mtlr	%r5
+	ld	%r1,PCB_SP(%r3)		/* Load the stack pointer */
+	ld	%r2,PCB_TOC(%r3)	/* Load the TOC pointer */
+
+	lis	%r5,USER_ADDR@highesta	/* Load the copyin/out segment reg */
+	ori	%r5,%r5,USER_ADDR@highera
+	sldi	%r5,%r5,32
+	oris	%r5,%r5,USER_ADDR@ha
+	isync
+	slbie	%r5
+	lis	%r6,USER_SLB_SLBE@highesta
+	ori	%r6,%r6,USER_SLB_SLBE@highera
+	sldi	%r6,%r6,32
+	oris	%r6,%r6,USER_SLB_SLBE@ha
+	ori	%r6,%r6,USER_SLB_SLBE@l
+	ld	%r5,PCB_AIM_USR_VSID(%r3)
+	slbmte	%r5,%r6
+	isync
+
+	/*
+	 * Perform a dummy stdcx. to clear any reservations we may have
+	 * inherited from the previous thread. It doesn't matter if the
+	 * stdcx succeeds or not. pcb_context[0] can be clobbered.
+	 */
+	stdcx.	%r1, 0, %r3
+	blr
+
+/*
+ * savectx(pcb)
+ * Update pcb, saving current processor state
+ */
+ENTRY(savectx)
+	std	%r12,PCB_CONTEXT(%r3)	/* Save the non-volatile GP regs. */
+	std	%r13,PCB_CONTEXT+1*8(%r3)	
+	std	%r14,PCB_CONTEXT+2*8(%r3)	
+	std	%r15,PCB_CONTEXT+3*8(%r3)	
+	std	%r16,PCB_CONTEXT+4*8(%r3)	
+	std	%r17,PCB_CONTEXT+5*8(%r3)	
+	std	%r18,PCB_CONTEXT+6*8(%r3)	
+	std	%r19,PCB_CONTEXT+7*8(%r3)	
+	std	%r20,PCB_CONTEXT+8*8(%r3)	
+	std	%r21,PCB_CONTEXT+9*8(%r3)	
+	std	%r22,PCB_CONTEXT+10*8(%r3)	
+	std	%r23,PCB_CONTEXT+11*8(%r3)	
+	std	%r24,PCB_CONTEXT+12*8(%r3)	
+	std	%r25,PCB_CONTEXT+13*8(%r3)	
+	std	%r26,PCB_CONTEXT+14*8(%r3)	
+	std	%r27,PCB_CONTEXT+15*8(%r3)	
+	std	%r28,PCB_CONTEXT+16*8(%r3)
+	std	%r29,PCB_CONTEXT+17*8(%r3)	
+	std	%r30,PCB_CONTEXT+18*8(%r3)	
+	std	%r31,PCB_CONTEXT+19*8(%r3)	
+
+	mfcr	%r4			/* Save the condition register */
+	std	%r4,PCB_CR(%r3)
+	std	%r2,PCB_TOC(%r3)	/* Save the TOC pointer */
+	blr
+
+/*
+ * fork_trampoline()
+ * Set up the return from cpu_fork()
+ */
+
+ENTRY_NOPROF(fork_trampoline)
+	ld	%r3,CF_FUNC(%r1)
+	ld	%r4,CF_ARG0(%r1)
+	ld	%r5,CF_ARG1(%r1)
+
+	stdu	%r1,-48(%r1)
+	bl	fork_exit
+	nop
+	addi	%r1,%r1,48+CF_SIZE-FSP	/* Allow 8 bytes in front of
+					   trapframe to simulate FRAME_SETUP
+					   does when allocating space for
+					   a frame pointer/saved LR */
+	b	trapexit
+	nop

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 19:00:20 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id C5C366B3;
 Mon, 11 Nov 2013 19:00:20 +0000 (UTC)
 (envelope-from emaste@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id A31F42E3B;
 Mon, 11 Nov 2013 19:00:20 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rABJ0Khv022124;
 Mon, 11 Nov 2013 19:00:20 GMT (envelope-from emaste@svn.freebsd.org)
Received: (from emaste@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rABJ0KNg022119;
 Mon, 11 Nov 2013 19:00:20 GMT (envelope-from emaste@svn.freebsd.org)
Message-Id: <201311111900.rABJ0KNg022119@svn.freebsd.org>
From: Ed Maste <emaste@FreeBSD.org>
Date: Mon, 11 Nov 2013 19:00:20 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258003 - head/contrib/llvm/include/llvm/Support
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 19:00:20 -0000

Author: emaste
Date: Mon Nov 11 19:00:20 2013
New Revision: 258003
URL: http://svnweb.freebsd.org/changeset/base/258003

Log:
  Merge upstream LLVM r182803:
  
    [Mips] Add Mips specific dynamic table entry tags.
  
  This is to support an upcoming LLDB snapshot update.
  
  Reviewed by:	dim@
  Sponsored by:	DARPA, AFRL

Modified:
  head/contrib/llvm/include/llvm/Support/ELF.h

Modified: head/contrib/llvm/include/llvm/Support/ELF.h
==============================================================================
--- head/contrib/llvm/include/llvm/Support/ELF.h	Mon Nov 11 17:37:50 2013	(r258002)
+++ head/contrib/llvm/include/llvm/Support/ELF.h	Mon Nov 11 19:00:20 2013	(r258003)
@@ -1468,7 +1468,81 @@ enum {
   DT_VERDEF       = 0X6FFFFFFC, // The address of the version definition table.
   DT_VERDEFNUM    = 0X6FFFFFFD, // The number of entries in DT_VERDEF.
   DT_VERNEED      = 0X6FFFFFFE, // The address of the version Dependency table.
-  DT_VERNEEDNUM   = 0X6FFFFFFF  // The number of entries in DT_VERNEED.
+  DT_VERNEEDNUM   = 0X6FFFFFFF, // The number of entries in DT_VERNEED.
+
+  // Mips specific dynamic table entry tags.
+  DT_MIPS_RLD_VERSION   = 0x70000001, // 32 bit version number for runtime
+                                      // linker interface.
+  DT_MIPS_TIME_STAMP    = 0x70000002, // Time stamp.
+  DT_MIPS_ICHECKSUM     = 0x70000003, // Checksum of external strings
+                                      // and common sizes.
+  DT_MIPS_IVERSION      = 0x70000004, // Index of version string
+                                      // in string table.
+  DT_MIPS_FLAGS         = 0x70000005, // 32 bits of flags.
+  DT_MIPS_BASE_ADDRESS  = 0x70000006, // Base address of the segment.
+  DT_MIPS_MSYM          = 0x70000007, // Address of .msym section.
+  DT_MIPS_CONFLICT      = 0x70000008, // Address of .conflict section.
+  DT_MIPS_LIBLIST       = 0x70000009, // Address of .liblist section.
+  DT_MIPS_LOCAL_GOTNO   = 0x7000000a, // Number of local global offset
+                                      // table entries.
+  DT_MIPS_CONFLICTNO    = 0x7000000b, // Number of entries
+                                      // in the .conflict section.
+  DT_MIPS_LIBLISTNO     = 0x70000010, // Number of entries
+                                      // in the .liblist section.
+  DT_MIPS_SYMTABNO      = 0x70000011, // Number of entries
+                                      // in the .dynsym section.
+  DT_MIPS_UNREFEXTNO    = 0x70000012, // Index of first external dynamic symbol
+                                      // not referenced locally.
+  DT_MIPS_GOTSYM        = 0x70000013, // Index of first dynamic symbol
+                                      // in global offset table.
+  DT_MIPS_HIPAGENO      = 0x70000014, // Number of page table entries
+                                      // in global offset table.
+  DT_MIPS_RLD_MAP       = 0x70000016, // Address of run time loader map,
+                                      // used for debugging.
+  DT_MIPS_DELTA_CLASS       = 0x70000017, // Delta C++ class definition.
+  DT_MIPS_DELTA_CLASS_NO    = 0x70000018, // Number of entries
+                                          // in DT_MIPS_DELTA_CLASS.
+  DT_MIPS_DELTA_INSTANCE    = 0x70000019, // Delta C++ class instances.
+  DT_MIPS_DELTA_INSTANCE_NO = 0x7000001A, // Number of entries
+                                          // in DT_MIPS_DELTA_INSTANCE.
+  DT_MIPS_DELTA_RELOC       = 0x7000001B, // Delta relocations.
+  DT_MIPS_DELTA_RELOC_NO    = 0x7000001C, // Number of entries
+                                          // in DT_MIPS_DELTA_RELOC.
+  DT_MIPS_DELTA_SYM         = 0x7000001D, // Delta symbols that Delta
+                                          // relocations refer to.
+  DT_MIPS_DELTA_SYM_NO      = 0x7000001E, // Number of entries
+                                          // in DT_MIPS_DELTA_SYM.
+  DT_MIPS_DELTA_CLASSSYM    = 0x70000020, // Delta symbols that hold
+                                          // class declarations.
+  DT_MIPS_DELTA_CLASSSYM_NO = 0x70000021, // Number of entries
+                                          // in DT_MIPS_DELTA_CLASSSYM.
+  DT_MIPS_CXX_FLAGS         = 0x70000022, // Flags indicating information
+                                          // about C++ flavor.
+  DT_MIPS_PIXIE_INIT        = 0x70000023, // Pixie information.
+  DT_MIPS_SYMBOL_LIB        = 0x70000024, // Address of .MIPS.symlib
+  DT_MIPS_LOCALPAGE_GOTIDX  = 0x70000025, // The GOT index of the first PTE
+                                          // for a segment
+  DT_MIPS_LOCAL_GOTIDX      = 0x70000026, // The GOT index of the first PTE
+                                          // for a local symbol
+  DT_MIPS_HIDDEN_GOTIDX     = 0x70000027, // The GOT index of the first PTE
+                                          // for a hidden symbol
+  DT_MIPS_PROTECTED_GOTIDX  = 0x70000028, // The GOT index of the first PTE
+                                          // for a protected symbol
+  DT_MIPS_OPTIONS           = 0x70000029, // Address of `.MIPS.options'.
+  DT_MIPS_INTERFACE         = 0x7000002A, // Address of `.interface'.
+  DT_MIPS_DYNSTR_ALIGN      = 0x7000002B, // Unknown.
+  DT_MIPS_INTERFACE_SIZE    = 0x7000002C, // Size of the .interface section.
+  DT_MIPS_RLD_TEXT_RESOLVE_ADDR = 0x7000002D, // Size of rld_text_resolve
+                                              // function stored in the GOT.
+  DT_MIPS_PERF_SUFFIX       = 0x7000002E, // Default suffix of DSO to be added
+                                          // by rld on dlopen() calls.
+  DT_MIPS_COMPACT_SIZE      = 0x7000002F, // Size of compact relocation
+                                          // section (O32).
+  DT_MIPS_GP_VALUE          = 0x70000030, // GP value for auxiliary GOTs.
+  DT_MIPS_AUX_DYNAMIC       = 0x70000031, // Address of auxiliary .dynamic.
+  DT_MIPS_PLTGOT            = 0x70000032, // Address of the base of the PLTGOT.
+  DT_MIPS_RWPLT             = 0x70000034  // Points to the base
+                                          // of a writable PLT.
 };
 
 // DT_FLAGS values.
@@ -1501,6 +1575,31 @@ enum {
   DF_1_DISPRELPND = 0x00010000  // Disp reloc applied at run-time.
 };
 
+// DT_MIPS_FLAGS values.
+enum {
+  RHF_NONE                    = 0x00000000, // No flags.
+  RHF_QUICKSTART              = 0x00000001, // Uses shortcut pointers.
+  RHF_NOTPOT                  = 0x00000002, // Hash size is not a power of two.
+  RHS_NO_LIBRARY_REPLACEMENT  = 0x00000004, // Ignore LD_LIBRARY_PATH.
+  RHF_NO_MOVE                 = 0x00000008, // DSO address may not be relocated.
+  RHF_SGI_ONLY                = 0x00000010, // SGI specific features.
+  RHF_GUARANTEE_INIT          = 0x00000020, // Guarantee that .init will finish
+                                            // executing before any non-init
+                                            // code in DSO is called.
+  RHF_DELTA_C_PLUS_PLUS       = 0x00000040, // Contains Delta C++ code.
+  RHF_GUARANTEE_START_INIT    = 0x00000080, // Guarantee that .init will start
+                                            // executing before any non-init
+                                            // code in DSO is called.
+  RHF_PIXIE                   = 0x00000100, // Generated by pixie.
+  RHF_DEFAULT_DELAY_LOAD      = 0x00000200, // Delay-load DSO by default.
+  RHF_REQUICKSTART            = 0x00000400, // Object may be requickstarted
+  RHF_REQUICKSTARTED          = 0x00000800, // Object has been requickstarted
+  RHF_CORD                    = 0x00001000, // Generated by cord.
+  RHF_NO_UNRES_UNDEF          = 0x00002000, // Object contains no unresolved
+                                            // undef symbols.
+  RHF_RLD_ORDER_SAFE          = 0x00004000  // Symbol table is in a safe order.
+};
+
 // ElfXX_VerDef structure version (GNU versioning)
 enum {
   VER_DEF_NONE    = 0,

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 19:06:13 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id A1B3E94A;
 Mon, 11 Nov 2013 19:06:13 +0000 (UTC)
 (envelope-from emaste@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 761832EA2;
 Mon, 11 Nov 2013 19:06:13 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rABJ6DOa078754;
 Mon, 11 Nov 2013 19:06:13 GMT (envelope-from emaste@svn.freebsd.org)
Received: (from emaste@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rABJ6DaW078690;
 Mon, 11 Nov 2013 19:06:13 GMT (envelope-from emaste@svn.freebsd.org)
Message-Id: <201311111906.rABJ6DaW078690@svn.freebsd.org>
From: Ed Maste <emaste@FreeBSD.org>
Date: Mon, 11 Nov 2013 19:06:13 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258005 - in head/contrib/llvm: include/llvm/Support
 lib/Support
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 19:06:13 -0000

Author: emaste
Date: Mon Nov 11 19:06:12 2013
New Revision: 258005
URL: http://svnweb.freebsd.org/changeset/base/258005

Log:
  Merge upstream LLVM r192118:
  
    Formally added an explicit enum for DWARF TLS support. No functionality
    change.
  
  Reviewed by:	dim@
  Sponsored by:	DARPA, AFRL

Modified:
  head/contrib/llvm/include/llvm/Support/Dwarf.h
  head/contrib/llvm/lib/Support/Dwarf.cpp

Modified: head/contrib/llvm/include/llvm/Support/Dwarf.h
==============================================================================
--- head/contrib/llvm/include/llvm/Support/Dwarf.h	Mon Nov 11 19:04:20 2013	(r258004)
+++ head/contrib/llvm/include/llvm/Support/Dwarf.h	Mon Nov 11 19:06:12 2013	(r258005)
@@ -484,6 +484,9 @@ enum dwarf_constants {
   DW_OP_lo_user = 0xe0,
   DW_OP_hi_user = 0xff,
 
+  // Extensions for GNU-style thread-local storage.
+  DW_OP_GNU_push_tls_address = 0xe0,
+
   // Extensions for Fission proposal.
   DW_OP_GNU_addr_index = 0xfb,
   DW_OP_GNU_const_index = 0xfc,

Modified: head/contrib/llvm/lib/Support/Dwarf.cpp
==============================================================================
--- head/contrib/llvm/lib/Support/Dwarf.cpp	Mon Nov 11 19:04:20 2013	(r258004)
+++ head/contrib/llvm/lib/Support/Dwarf.cpp	Mon Nov 11 19:06:12 2013	(r258005)
@@ -453,10 +453,11 @@ const char *llvm::dwarf::OperationEncodi
   case DW_OP_bit_piece:                  return "DW_OP_bit_piece";
   case DW_OP_implicit_value:             return "DW_OP_implicit_value";
   case DW_OP_stack_value:                return "DW_OP_stack_value";
-  case DW_OP_lo_user:                    return "DW_OP_lo_user";
-  case DW_OP_hi_user:                    return "DW_OP_hi_user";
 
-    // DWARF5 Fission Proposal Op Extensions
+  // GNU thread-local storage
+  case DW_OP_GNU_push_tls_address:       return "DW_OP_GNU_push_tls_address";
+
+  // DWARF5 Fission Proposal Op Extensions
   case DW_OP_GNU_addr_index:             return "DW_OP_GNU_addr_index";
   case DW_OP_GNU_const_index:            return "DW_OP_GNU_const_index";
   }

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 19:20:09 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 9F719D02
 for <svn-src-all@freebsd.org>; Mon, 11 Nov 2013 19:20:09 +0000 (UTC)
 (envelope-from lists@eitanadler.com)
Received: from mail-qc0-x22e.google.com (mail-qc0-x22e.google.com
 [IPv6:2607:f8b0:400d:c01::22e])
 (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 5B76C2F6F
 for <svn-src-all@freebsd.org>; Mon, 11 Nov 2013 19:20:09 +0000 (UTC)
Received: by mail-qc0-f174.google.com with SMTP id v2so964068qcr.19
 for <svn-src-all@freebsd.org>; Mon, 11 Nov 2013 11:20:08 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=eitanadler.com; s=0xdeadbeef;
 h=mime-version:sender:in-reply-to:references:from:date:message-id
 :subject:to:cc:content-type;
 bh=8Adu/CtxJldfuUkhifRX/l1ue5u9qhN6IeayuI3VmnM=;
 b=iqPoqC9Ma0JVvlQ3u73cONth0eFGR0hhVkMv8STqrLXDdAIxmlLoDVMu5brXir0eTe
 w+fnZ4J0luCwGfvWSBUDAQhdUbNjMh2EjcFmFAkXBcouq7ESHB0CTmupHiut6DaoT3Cu
 msQu/kIPLoCVE+0HBSGLn2Ki3oEOtJ4PNMv7k=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20130820;
 h=x-gm-message-state:mime-version:sender:in-reply-to:references:from
 :date:message-id:subject:to:cc:content-type;
 bh=8Adu/CtxJldfuUkhifRX/l1ue5u9qhN6IeayuI3VmnM=;
 b=lXhNxmKkdEh8yQPei5xC+SoT/rlvx1eKKgR4wFGypEFH9tnOBBjv8fXNwswIAF/uWn
 Wsk/yiFOYo2K1NeQ7KV+8HJ/rQeBDmZLsj7f5Hux3uUhmF3THd1Fj9WvaNQzaWrG4PZb
 34jsO0YZET/YNNsGSQRs7FqUy4HJyO8+Jy4+LY0Sk6CJnYNg/nsd7bBFQZTSVX+U2yrx
 X8h5aOCIrNkmJKKumqSSBcYVogRvB2SuEzYyql1poMF7cYMabgU0I5E1BtxluWP788Ya
 a60HBrPce3d+A6xfXaofnpJZMdqefD6QSZtvS3gEd4wqHS8mO2tkelU7Xnj6702YBJQa
 CzoA==
X-Gm-Message-State: ALoCoQlA/w/SL2n1OqVmOyRdo4KksMLRm+fK8oy/7K46hJ9r5yFXUPxQZaSUDEcPtzxCKbx4Dg9A
X-Received: by 10.49.103.161 with SMTP id fx1mr50013756qeb.68.1384197608599;
 Mon, 11 Nov 2013 11:20:08 -0800 (PST)
MIME-Version: 1.0
Sender: lists@eitanadler.com
Received: by 10.96.63.101 with HTTP; Mon, 11 Nov 2013 11:19:38 -0800 (PST)
In-Reply-To: <20131111153544.GI98118@admin.xzibition.com>
References: <201311110744.rAB7iA6g041490@svn.freebsd.org>
 <20131111153544.GI98118@admin.xzibition.com>
From: Eitan Adler <eadler@freebsd.org>
Date: Mon, 11 Nov 2013 14:19:38 -0500
X-Google-Sender-Auth: cxAIvDKv26b7n5OtArCgyUWgvkA
Message-ID: <CAF6rxgm73FnyFgGcD2YA0MZ3Q=sHpqmS3QAbsP8BV2Qyx2z7mw@mail.gmail.com>
Subject: Re: svn commit: r257945 - head/usr.sbin/pkg
To: Bryan Drewery <bryan@shatow.net>
Content-Type: text/plain; charset=UTF-8
Cc: "svn-src-head@freebsd.org" <svn-src-head@freebsd.org>,
 "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>,
 Gleb Smirnoff <glebius@freebsd.org>,
 "src-committers@freebsd.org" <src-committers@freebsd.org>
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 19:20:09 -0000

On Mon, Nov 11, 2013 at 10:35 AM, Bryan Drewery <bryan@shatow.net> wrote:
> On Mon, Nov 11, 2013 at 07:44:10AM +0000, Gleb Smirnoff wrote:
>> Author: glebius
>> Date: Mon Nov 11 07:44:09 2013
>> New Revision: 257945
>> URL: http://svnweb.freebsd.org/changeset/base/257945
>>
>> Log:
>>   Do not use just freed memory.
>>
>>   Sponsored by:       Nginx, Inc.
>
> Can you please also MFC this?
>
>>               if (fingerprint->name)
>>                       free(fingerprint->name);

While here, can you remove the if conditional by the free?



-- 
Eitan Adler
Source, Ports, Doc committer
Bugmeister, Ports Security teams

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 19:38:22 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id F2A68305;
 Mon, 11 Nov 2013 19:38:21 +0000 (UTC)
 (envelope-from glebius@FreeBSD.org)
Received: from cell.glebius.int.ru (glebius.int.ru [81.19.69.10])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id DD86B210A;
 Mon, 11 Nov 2013 19:38:20 +0000 (UTC)
Received: from cell.glebius.int.ru (localhost [127.0.0.1])
 by cell.glebius.int.ru (8.14.7/8.14.7) with ESMTP id rABJcIhO019525
 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO);
 Mon, 11 Nov 2013 23:38:18 +0400 (MSK)
 (envelope-from glebius@FreeBSD.org)
Received: (from glebius@localhost)
 by cell.glebius.int.ru (8.14.7/8.14.7/Submit) id rABJcIq0019524;
 Mon, 11 Nov 2013 23:38:18 +0400 (MSK)
 (envelope-from glebius@FreeBSD.org)
X-Authentication-Warning: cell.glebius.int.ru: glebius set sender to
 glebius@FreeBSD.org using -f
Date: Mon, 11 Nov 2013 23:38:18 +0400
From: Gleb Smirnoff <glebius@FreeBSD.org>
To: Eitan Adler <eadler@freebsd.org>
Subject: Re: svn commit: r257945 - head/usr.sbin/pkg
Message-ID: <20131111193818.GA7577@FreeBSD.org>
References: <201311110744.rAB7iA6g041490@svn.freebsd.org>
 <20131111153544.GI98118@admin.xzibition.com>
 <CAF6rxgm73FnyFgGcD2YA0MZ3Q=sHpqmS3QAbsP8BV2Qyx2z7mw@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <CAF6rxgm73FnyFgGcD2YA0MZ3Q=sHpqmS3QAbsP8BV2Qyx2z7mw@mail.gmail.com>
User-Agent: Mutt/1.5.22 (2013-10-16)
Cc: "svn-src-head@freebsd.org" <svn-src-head@freebsd.org>,
 "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>,
 "src-committers@freebsd.org" <src-committers@freebsd.org>,
 Bryan Drewery <bryan@shatow.net>
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 19:38:22 -0000

On Mon, Nov 11, 2013 at 02:19:38PM -0500, Eitan Adler wrote:
E> On Mon, Nov 11, 2013 at 10:35 AM, Bryan Drewery <bryan@shatow.net> wrote:
E> > On Mon, Nov 11, 2013 at 07:44:10AM +0000, Gleb Smirnoff wrote:
E> >> Author: glebius
E> >> Date: Mon Nov 11 07:44:09 2013
E> >> New Revision: 257945
E> >> URL: http://svnweb.freebsd.org/changeset/base/257945
E> >>
E> >> Log:
E> >>   Do not use just freed memory.
E> >>
E> >>   Sponsored by:       Nginx, Inc.
E> >
E> > Can you please also MFC this?
E> >
E> >>               if (fingerprint->name)
E> >>                       free(fingerprint->name);
E> 
E> While here, can you remove the if conditional by the free?

I'll do the MFC, but this styling issue I'd leave to pkg developers.

-- 
Totus tuus, Glebius.

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 20:51:02 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 2CF7FBE9;
 Mon, 11 Nov 2013 20:51:02 +0000 (UTC) (envelope-from dim@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 19B462671;
 Mon, 11 Nov 2013 20:51:02 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rABKp1tq012829;
 Mon, 11 Nov 2013 20:51:01 GMT (envelope-from dim@svn.freebsd.org)
Received: (from dim@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rABKp1jC012828;
 Mon, 11 Nov 2013 20:51:01 GMT (envelope-from dim@svn.freebsd.org)
Message-Id: <201311112051.rABKp1jC012828@svn.freebsd.org>
From: Dimitry Andric <dim@FreeBSD.org>
Date: Mon, 11 Nov 2013 20:51:01 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject: svn commit: r258010 - stable/9/lib/libc/iconv
X-SVN-Group: stable-9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 20:51:02 -0000

Author: dim
Date: Mon Nov 11 20:51:01 2013
New Revision: 258010
URL: http://svnweb.freebsd.org/changeset/base/258010

Log:
  MFC r257859:
  
  Fix typo in include guard, found by clang 3.4.

Modified:
  stable/9/lib/libc/iconv/citrus_csmapper.h
Directory Properties:
  stable/9/lib/libc/   (props changed)

Modified: stable/9/lib/libc/iconv/citrus_csmapper.h
==============================================================================
--- stable/9/lib/libc/iconv/citrus_csmapper.h	Mon Nov 11 20:47:22 2013	(r258009)
+++ stable/9/lib/libc/iconv/citrus_csmapper.h	Mon Nov 11 20:51:01 2013	(r258010)
@@ -28,7 +28,7 @@
  */
 
 #ifndef _CITRUS_CSMAPPER_H_
-#define _CITRUS_CSMAPPER_H
+#define _CITRUS_CSMAPPER_H_
 
 #define _citrus_csmapper		_citrus_mapper
 #define _citrus_csmapper_close		_citrus_mapper_close

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 20:57:05 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 89F8C1F2;
 Mon, 11 Nov 2013 20:57:05 +0000 (UTC) (envelope-from dim@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 76DFB26D3;
 Mon, 11 Nov 2013 20:57:05 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rABKv5LK013659;
 Mon, 11 Nov 2013 20:57:05 GMT (envelope-from dim@svn.freebsd.org)
Received: (from dim@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rABKv5Xq013658;
 Mon, 11 Nov 2013 20:57:05 GMT (envelope-from dim@svn.freebsd.org)
Message-Id: <201311112057.rABKv5Xq013658@svn.freebsd.org>
From: Dimitry Andric <dim@FreeBSD.org>
Date: Mon, 11 Nov 2013 20:57:05 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject: svn commit: r258011 - stable/10/lib/libc/iconv
X-SVN-Group: stable-10
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 20:57:05 -0000

Author: dim
Date: Mon Nov 11 20:57:04 2013
New Revision: 258011
URL: http://svnweb.freebsd.org/changeset/base/258011

Log:
  MFC r257859:
  
  Fix typo in include guard, found by clang 3.4.
  
  Approved by:	re (hrs)

Modified:
  stable/10/lib/libc/iconv/citrus_csmapper.h
Directory Properties:
  stable/10/lib/libc/   (props changed)

Modified: stable/10/lib/libc/iconv/citrus_csmapper.h
==============================================================================
--- stable/10/lib/libc/iconv/citrus_csmapper.h	Mon Nov 11 20:51:01 2013	(r258010)
+++ stable/10/lib/libc/iconv/citrus_csmapper.h	Mon Nov 11 20:57:04 2013	(r258011)
@@ -28,7 +28,7 @@
  */
 
 #ifndef _CITRUS_CSMAPPER_H_
-#define _CITRUS_CSMAPPER_H
+#define _CITRUS_CSMAPPER_H_
 
 #define _citrus_csmapper		_citrus_mapper
 #define _citrus_csmapper_close		_citrus_mapper_close

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 21:02:26 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id BC55B956;
 Mon, 11 Nov 2013 21:02:26 +0000 (UTC) (envelope-from gjb@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 8ECDB2771;
 Mon, 11 Nov 2013 21:02:26 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rABL2QOu016673;
 Mon, 11 Nov 2013 21:02:26 GMT (envelope-from gjb@svn.freebsd.org)
Received: (from gjb@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rABL2QD1016672;
 Mon, 11 Nov 2013 21:02:26 GMT (envelope-from gjb@svn.freebsd.org)
Message-Id: <201311112102.rABL2QD1016672@svn.freebsd.org>
From: Glen Barber <gjb@FreeBSD.org>
Date: Mon, 11 Nov 2013 21:02:26 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258012 - head/tools/build/options
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 21:02:26 -0000

Author: gjb
Date: Mon Nov 11 21:02:26 2013
New Revision: 258012
URL: http://svnweb.freebsd.org/changeset/base/258012

Log:
  Remove WITH_LIBICONV_COMPAT file to chase after r257583.

Deleted:
  head/tools/build/options/WITH_LIBICONV_COMPAT

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 21:02:58 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 465D3A99;
 Mon, 11 Nov 2013 21:02:58 +0000 (UTC) (envelope-from gjb@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 18D48277C;
 Mon, 11 Nov 2013 21:02:58 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rABL2vEl016776;
 Mon, 11 Nov 2013 21:02:57 GMT (envelope-from gjb@svn.freebsd.org)
Received: (from gjb@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rABL2vVF016775;
 Mon, 11 Nov 2013 21:02:57 GMT (envelope-from gjb@svn.freebsd.org)
Message-Id: <201311112102.rABL2vVF016775@svn.freebsd.org>
From: Glen Barber <gjb@FreeBSD.org>
Date: Mon, 11 Nov 2013 21:02:57 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258013 - head/share/man/man5
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 21:02:58 -0000

Author: gjb
Date: Mon Nov 11 21:02:57 2013
New Revision: 258013
URL: http://svnweb.freebsd.org/changeset/base/258013

Log:
  Regen after r258012.
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  head/share/man/man5/src.conf.5

Modified: head/share/man/man5/src.conf.5
==============================================================================
--- head/share/man/man5/src.conf.5	Mon Nov 11 21:02:26 2013	(r258012)
+++ head/share/man/man5/src.conf.5	Mon Nov 11 21:02:57 2013	(r258013)
@@ -1,7 +1,7 @@
 .\" DO NOT EDIT-- this file is automatically generated.
 .\" from FreeBSD: head/tools/build/options/makeman 255964 2013-10-01 07:22:04Z des
 .\" $FreeBSD$
-.Dd October 31, 2013
+.Dd November 11, 2013
 .Dt SRC.CONF 5
 .Os
 .Sh NAME
@@ -471,12 +471,6 @@ Set to not build HTML docs.
 .It Va WITHOUT_ICONV
 .\" from FreeBSD: head/tools/build/options/WITHOUT_ICONV 254919 2013-08-26 17:15:56Z antoine
 Set to not build iconv as part of libc.
-When set, it also enforces the following options:
-.Pp
-.Bl -item -compact
-.It
-.Va WITHOUT_LIBICONV_COMPAT
-.El
 .It Va WITHOUT_INET
 .\" from FreeBSD: head/tools/build/options/WITHOUT_INET 221266 2011-04-30 17:58:28Z bz
 Set to not build programs and libraries related to IPv4 networking.
@@ -633,9 +627,6 @@ runtime linker.
 .It Va WITHOUT_LIBCPLUSPLUS
 .\" from FreeBSD: head/tools/build/options/WITHOUT_LIBCPLUSPLUS 246262 2013-02-02 22:42:46Z dim
 Set to avoid building libcxxrt and libc++.
-.It Va WITH_LIBICONV_COMPAT
-.\" from FreeBSD: head/tools/build/options/WITH_LIBICONV_COMPAT 254919 2013-08-26 17:15:56Z antoine
-Set to build libiconv API and link time compatibility.
 .It Va WITHOUT_LIBPTHREAD
 .\" from FreeBSD: head/tools/build/options/WITHOUT_LIBPTHREAD 188848 2009-02-20 11:09:55Z mtm
 Set to not build the
@@ -860,7 +851,7 @@ When set, it also enforces the following
 .Va WITHOUT_AUTHPF
 .El
 .It Va WITHOUT_PKGBOOTSTRAP
-.\" $FreeBSD: head/tools/build/options/WITHOUT_PKGBOOTSTRAP 257440 2013-10-31 12:05:37Z bapt
+.\" from FreeBSD: head/tools/build/options/WITHOUT_PKGBOOTSTRAP 257440 2013-10-31 12:05:37Z bapt
 Set to not build
 .Xr pkg 7
 bootstrap tool

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 21:13:15 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 0F76FDEE;
 Mon, 11 Nov 2013 21:13:15 +0000 (UTC) (envelope-from gjb@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id D6CF52819;
 Mon, 11 Nov 2013 21:13:14 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rABLDEgB020444;
 Mon, 11 Nov 2013 21:13:14 GMT (envelope-from gjb@svn.freebsd.org)
Received: (from gjb@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rABLDEaX020442;
 Mon, 11 Nov 2013 21:13:14 GMT (envelope-from gjb@svn.freebsd.org)
Message-Id: <201311112113.rABLDEaX020442@svn.freebsd.org>
From: Glen Barber <gjb@FreeBSD.org>
Date: Mon, 11 Nov 2013 21:13:14 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258014 - head/tools/build/options
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 21:13:15 -0000

Author: gjb
Date: Mon Nov 11 21:13:14 2013
New Revision: 258014
URL: http://svnweb.freebsd.org/changeset/base/258014

Log:
  Document WITH_TESTS src.conf(5) option.
  
  Sponsored by:	The FreeBSD Foundation

Added:
  head/tools/build/options/WITH_TESTS   (contents, props changed)

Added: head/tools/build/options/WITH_TESTS
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/tools/build/options/WITH_TESTS	Mon Nov 11 21:13:14 2013	(r258014)
@@ -0,0 +1,2 @@
+.\" $FreeBSD$
+Set to install the Kyua test suite.

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 21:14:04 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 39BB8F31;
 Mon, 11 Nov 2013 21:14:04 +0000 (UTC) (envelope-from gjb@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 273922821;
 Mon, 11 Nov 2013 21:14:04 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rABLE4A3020603;
 Mon, 11 Nov 2013 21:14:04 GMT (envelope-from gjb@svn.freebsd.org)
Received: (from gjb@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rABLE3ED020602;
 Mon, 11 Nov 2013 21:14:03 GMT (envelope-from gjb@svn.freebsd.org)
Message-Id: <201311112114.rABLE3ED020602@svn.freebsd.org>
From: Glen Barber <gjb@FreeBSD.org>
Date: Mon, 11 Nov 2013 21:14:03 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258015 - head/share/man/man5
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 21:14:04 -0000

Author: gjb
Date: Mon Nov 11 21:14:03 2013
New Revision: 258015
URL: http://svnweb.freebsd.org/changeset/base/258015

Log:
  Regen after r258014.
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  head/share/man/man5/src.conf.5

Modified: head/share/man/man5/src.conf.5
==============================================================================
--- head/share/man/man5/src.conf.5	Mon Nov 11 21:13:14 2013	(r258014)
+++ head/share/man/man5/src.conf.5	Mon Nov 11 21:14:03 2013	(r258015)
@@ -978,6 +978,9 @@ Set to not build and install
 Set to not build
 .Xr telnet 8
 and related programs.
+.It Va WITH_TESTS
+.\" from FreeBSD: head/tools/build/options/WITH_TESTS 258014 2013-11-11 21:13:14Z gjb
+Set to install the Kyua test suite.
 .It Va WITHOUT_TEXTPROC
 .\" from FreeBSD: head/tools/build/options/WITHOUT_TEXTPROC 183242 2008-09-21 22:02:26Z sam
 Set to not build

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 21:16:56 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 55C0A13A;
 Mon, 11 Nov 2013 21:16:56 +0000 (UTC) (envelope-from dim@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 41A0E283B;
 Mon, 11 Nov 2013 21:16:56 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rABLGuVm021024;
 Mon, 11 Nov 2013 21:16:56 GMT (envelope-from dim@svn.freebsd.org)
Received: (from dim@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rABLGulr021023;
 Mon, 11 Nov 2013 21:16:56 GMT (envelope-from dim@svn.freebsd.org)
Message-Id: <201311112116.rABLGulr021023@svn.freebsd.org>
From: Dimitry Andric <dim@FreeBSD.org>
Date: Mon, 11 Nov 2013 21:16:56 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258016 - head/sys/i386/conf
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 21:16:56 -0000

Author: dim
Date: Mon Nov 11 21:16:55 2013
New Revision: 258016
URL: http://svnweb.freebsd.org/changeset/base/258016

Log:
  Disable building the ctl module for the i386 XEN kernel configuration
  for now, since it causes gcc warnings about casting 64 bit bus_addr_t's
  to 32 bit pointers, and vice versa.
  
  Reviewed by:	ken
  MFC after:	3 days

Modified:
  head/sys/i386/conf/XEN

Modified: head/sys/i386/conf/XEN
==============================================================================
--- head/sys/i386/conf/XEN	Mon Nov 11 21:14:03 2013	(r258015)
+++ head/sys/i386/conf/XEN	Mon Nov 11 21:16:55 2013	(r258016)
@@ -7,7 +7,7 @@ cpu		I686_CPU
 ident		XEN
 
 makeoptions	DEBUG=-g		# Build kernel with gdb(1) debug symbols
-makeoptions	WITHOUT_MODULES="aha ahb amd cxgb dpt drm drm2 hptnr hptmv ida malo mps mwl nve rdma sound sym trm xfs"
+makeoptions	WITHOUT_MODULES="aha ahb amd ctl cxgb dpt drm drm2 hptnr hptmv ida malo mps mwl nve rdma sound sym trm xfs"
 
 options 	SCHED_ULE		# ULE scheduler
 options 	PREEMPTION		# Enable kernel thread preemption

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 21:18:03 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 4E9C228F;
 Mon, 11 Nov 2013 21:18:03 +0000 (UTC) (envelope-from pfg@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 2C916284A;
 Mon, 11 Nov 2013 21:18:03 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rABLI3qF021217;
 Mon, 11 Nov 2013 21:18:03 GMT (envelope-from pfg@svn.freebsd.org)
Received: (from pfg@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rABLI2OV021212;
 Mon, 11 Nov 2013 21:18:02 GMT (envelope-from pfg@svn.freebsd.org)
Message-Id: <201311112118.rABLI2OV021212@svn.freebsd.org>
From: "Pedro F. Giffuni" <pfg@FreeBSD.org>
Date: Mon, 11 Nov 2013 21:18:02 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258017 - in head/contrib: binutils/binutils
 gcclibs/libiberty gcclibs/libiberty/testsuite
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 21:18:03 -0000

Author: pfg
Date: Mon Nov 11 21:18:02 2013
New Revision: 258017
URL: http://svnweb.freebsd.org/changeset/base/258017

Log:
  cxxfilt: small changes from Apple's developer tools
  
  From Apple's Developer Tools 4.0 [1]:
  
  demangle.patch
  2007-05-05  Geoffrey Keating
  	(d_name): Detect local-source-name.
  	(d_prefix): Likewise.
  	(d_unqualified_name): Implement local-source-name.
  
  libiberty-printf.patch
  
  MFC after:	1 month
  
  [1] http://opensource.apple.com/source/cxxfilt/cxxfilt-9/patches/

Modified:
  head/contrib/binutils/binutils/cxxfilt.c
  head/contrib/gcclibs/libiberty/cp-demangle.c
  head/contrib/gcclibs/libiberty/testsuite/demangle-expected

Modified: head/contrib/binutils/binutils/cxxfilt.c
==============================================================================
--- head/contrib/binutils/binutils/cxxfilt.c	Mon Nov 11 21:16:55 2013	(r258016)
+++ head/contrib/binutils/binutils/cxxfilt.c	Mon Nov 11 21:18:02 2013	(r258017)
@@ -63,12 +63,12 @@ demangle_it (char *mangled_name)
   result = cplus_demangle (mangled_name + skip_first, flags);
 
   if (result == NULL)
-    printf (mangled_name);
+    printf ("%s",mangled_name);
   else
     {
       if (mangled_name[0] == '.')
 	putchar ('.');
-      printf (result);
+      printf ("%s",result);
       free (result);
     }
 }

Modified: head/contrib/gcclibs/libiberty/cp-demangle.c
==============================================================================
--- head/contrib/gcclibs/libiberty/cp-demangle.c	Mon Nov 11 21:16:55 2013	(r258016)
+++ head/contrib/gcclibs/libiberty/cp-demangle.c	Mon Nov 11 21:18:02 2013	(r258017)
@@ -1054,6 +1054,11 @@ d_name (struct d_info *di)
     case 'Z':
       return d_local_name (di);
 
+/* APPLE LOCAL begin mainline 2007-05-09 5173149 */ \
+    case 'L':
+      return d_unqualified_name (di);
+	
+/* APPLE LOCAL end mainline 2007-05-09 5173149 */ \
     case 'S':
       {
 	int subst;
@@ -1174,7 +1179,10 @@ d_prefix (struct d_info *di)
       if (IS_DIGIT (peek)
 	  || IS_LOWER (peek)
 	  || peek == 'C'
-	  || peek == 'D')
+/* APPLE LOCAL begin mainline 2007-05-09 5173149 */ \
+	  || peek == 'D'
+	  || peek == 'L')
+/* APPLE LOCAL end mainline 2007-05-09 5173149 */ \
 	dc = d_unqualified_name (di);
       else if (peek == 'S')
 	dc = d_substitution (di, 1);
@@ -1208,6 +1216,11 @@ d_prefix (struct d_info *di)
 /* <unqualified-name> ::= <operator-name>
                       ::= <ctor-dtor-name>
                       ::= <source-name>
+ APPLE LOCAL begin mainline 2007-05-09 5173149
+		      ::= <local-source-name> 
+
+    <local-source-name>	::= L <source-name> <discriminator>
+ APPLE LOCAL end mainline 2007-05-09 5173149
 */
 
 static struct demangle_component *
@@ -1229,6 +1242,21 @@ d_unqualified_name (struct d_info *di)
     }
   else if (peek == 'C' || peek == 'D')
     return d_ctor_dtor_name (di);
+/* APPLE LOCAL begin mainline 2007-05-09 5173149 */ \
+  else if (peek == 'L')
+    {
+      struct demangle_component * ret;
+
+      d_advance (di, 1);
+
+      ret = d_source_name (di);
+      if (ret == NULL)
+	return NULL;
+      if (! d_discriminator (di))
+	return NULL;
+      return ret;
+    }
+/* APPLE LOCAL end mainline 2007-05-09 5173149 */ \
   else
     return NULL;
 }

Modified: head/contrib/gcclibs/libiberty/testsuite/demangle-expected
==============================================================================
--- head/contrib/gcclibs/libiberty/testsuite/demangle-expected	Mon Nov 11 21:16:55 2013	(r258016)
+++ head/contrib/gcclibs/libiberty/testsuite/demangle-expected	Mon Nov 11 21:18:02 2013	(r258017)
@@ -3816,3 +3816,47 @@ f
 SASDASDFASDF_sdfsdf
 SASDASDFASDF_sdfsdf
 SASDASDFASDF_sdfsdf
+# APPLE LOCAL begin mainline 2007-05-09 5173149
+# These are all cases of invalid manglings where the demangler would read
+# past the end of the string.
+# d_name wasn't honouring a NULL from d_substitution
+--format=gnu-v3
+_ZSA
+_ZSA
+# d_expr_primary wasn't honouring NULL from cplus_demangle_mangled_name
+--format=gnu-v3
+_ZN1fIL_
+_ZN1fIL_
+# d_operator_name was taking two characters in a row
+--format=gnu-v3
+_Za
+_Za
+# d_prefix wasn't honouring NULL from d_substitution
+--format=gnu-v3
+_ZNSA
+_ZNSA
+# d_prefix wasn't honouring NULL from d_template_param
+--format=gnu-v3
+_ZNT
+_ZNT
+# Dereferencing NULL in d_pointer_to_member_type
+--format=gnu-v3
+_Z1aMark
+_Z1aMark
+# <local-source-name> test 1
+--format=gnu-v3
+_ZL3foo_2
+foo
+# <local-source-name> test 2
+--format=gnu-v3
+_ZZL3foo_2vE4var1
+foo()::var1
+# <local-source-name> test 3
+--format=gnu-v3
+_ZZL3foo_2vE4var1_0
+foo()::var1
+# <local-source-name> test 4
+--format=gnu-v3
+_ZZN7myspaceL3foo_1EvEN11localstruct1fEZNS_3fooEvE16otherlocalstruct
+myspace::foo()::localstruct::f(myspace::foo()::otherlocalstruct)
+# APPLE LOCAL end mainline 2007-05-09 5173149

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 21:19:19 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 7DB053D5;
 Mon, 11 Nov 2013 21:19:19 +0000 (UTC) (envelope-from gjb@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 6AFC12856;
 Mon, 11 Nov 2013 21:19:19 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rABLJJAQ021391;
 Mon, 11 Nov 2013 21:19:19 GMT (envelope-from gjb@svn.freebsd.org)
Received: (from gjb@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rABLJJu8021390;
 Mon, 11 Nov 2013 21:19:19 GMT (envelope-from gjb@svn.freebsd.org)
Message-Id: <201311112119.rABLJJu8021390@svn.freebsd.org>
From: Glen Barber <gjb@FreeBSD.org>
Date: Mon, 11 Nov 2013 21:19:19 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258018 - head/share/mk
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 21:19:19 -0000

Author: gjb
Date: Mon Nov 11 21:19:18 2013
New Revision: 258018
URL: http://svnweb.freebsd.org/changeset/base/258018

Log:
  Remove stray MK_PKGTOOLS leftover from r257444.
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  head/share/mk/bsd.own.mk

Modified: head/share/mk/bsd.own.mk
==============================================================================
--- head/share/mk/bsd.own.mk	Mon Nov 11 21:18:02 2013	(r258017)
+++ head/share/mk/bsd.own.mk	Mon Nov 11 21:19:18 2013	(r258018)
@@ -373,7 +373,6 @@ __DEFAULT_NO_OPTIONS = \
     NAND \
     OFED \
     OPENSSH_NONE_CIPHER \
-    PKGTOOLS \
     SHARED_TOOLCHAIN \
     SVN \
     TESTS \

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 21:42:32 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 894D03BA;
 Mon, 11 Nov 2013 21:42:32 +0000 (UTC)
 (envelope-from bdrewery@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 74DD02A11;
 Mon, 11 Nov 2013 21:42:32 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rABLgWnX030334;
 Mon, 11 Nov 2013 21:42:32 GMT
 (envelope-from bdrewery@svn.freebsd.org)
Received: (from bdrewery@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rABLgWKU030333;
 Mon, 11 Nov 2013 21:42:32 GMT
 (envelope-from bdrewery@svn.freebsd.org)
Message-Id: <201311112142.rABLgWKU030333@svn.freebsd.org>
From: Bryan Drewery <bdrewery@FreeBSD.org>
Date: Mon, 11 Nov 2013 21:42:32 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258020 - head/usr.sbin/pkg
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 21:42:32 -0000

Author: bdrewery (ports committer)
Date: Mon Nov 11 21:42:31 2013
New Revision: 258020
URL: http://svnweb.freebsd.org/changeset/base/258020

Log:
  Remove useless checks for NULL pointer before free(3)
  
  Reported by:		eadler
  Approved by:		eadler

Modified:
  head/usr.sbin/pkg/pkg.c

Modified: head/usr.sbin/pkg/pkg.c
==============================================================================
--- head/usr.sbin/pkg/pkg.c	Mon Nov 11 21:27:57 2013	(r258019)
+++ head/usr.sbin/pkg/pkg.c	Mon Nov 11 21:42:31 2013	(r258020)
@@ -326,8 +326,7 @@ free_fingerprint_list(struct fingerprint
 	struct fingerprint *fingerprint, *tmp;
 
 	STAILQ_FOREACH_SAFE(fingerprint, list, next, tmp) {
-		if (fingerprint->name)
-			free(fingerprint->name);
+		free(fingerprint->name);
 		free(fingerprint);
 	}
 	free(list);
@@ -729,12 +728,9 @@ cleanup:
 	if (revoked)
 		free_fingerprint_list(revoked);
 	if (sc) {
-		if (sc->cert)
-			free(sc->cert);
-		if (sc->sig)
-			free(sc->sig);
-		if (sc->name)
-			free(sc->name);
+		free(sc->cert);
+		free(sc->sig);
+		free(sc->name);
 		free(sc);
 	}
 

From owner-svn-src-all@FreeBSD.ORG  Mon Nov 11 21:42:57 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id 6E7B94FB;
 Mon, 11 Nov 2013 21:42:57 +0000 (UTC)
 (envelope-from dteske@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 5BD2E2A19;
 Mon, 11 Nov 2013 21:42:57 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rABLgv5t030404;
 Mon, 11 Nov 2013 21:42:57 GMT (envelope-from dteske@svn.freebsd.org)
Received: (from dteske@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rABLgvhG030403;
 Mon, 11 Nov 2013 21:42:57 GMT (envelope-from dteske@svn.freebsd.org)
Message-Id: <201311112142.rABLgvhG030403@svn.freebsd.org>
From: Devin Teske <dteske@FreeBSD.org>
Date: Mon, 11 Nov 2013 21:42:57 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258021 - head/usr.sbin/bsdinstall/scripts
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 21:42:57 -0000

Author: dteske
Date: Mon Nov 11 21:42:56 2013
New Revision: 258021
URL: http://svnweb.freebsd.org/changeset/base/258021

Log:
  Switch default MBR bootcode from /boot/boot0 to /boot/mbr.
  
  Reviewed by:	Allan Jude, nwhitehorn
  Discussed on:	-current

Modified:
  head/usr.sbin/bsdinstall/scripts/zfsboot

Modified: head/usr.sbin/bsdinstall/scripts/zfsboot
==============================================================================
--- head/usr.sbin/bsdinstall/scripts/zfsboot	Mon Nov 11 21:42:31 2013	(r258020)
+++ head/usr.sbin/bsdinstall/scripts/zfsboot	Mon Nov 11 21:42:56 2013	(r258021)
@@ -764,7 +764,7 @@ zfs_create_diskpart()
 		#
 		f_eval_catch $funcname gpart "$GPART_CREATE" mbr \$disk ||
 		             return $FAILURE
-		f_eval_catch $funcname gpart "$GPART_BOOTCODE" /boot/boot0 \
+		f_eval_catch $funcname gpart "$GPART_BOOTCODE" /boot/mbr \
 		             \$disk || return $FAILURE
 
 		#

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 01:15:27 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 3F0F64F1;
 Tue, 12 Nov 2013 01:15:27 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 770192FAB;
 Mon, 11 Nov 2013 23:37:17 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rABNbHfq067867;
 Mon, 11 Nov 2013 23:37:17 GMT
 (envelope-from nwhitehorn@svn.freebsd.org)
Received: (from nwhitehorn@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rABNbHn8067862;
 Mon, 11 Nov 2013 23:37:17 GMT
 (envelope-from nwhitehorn@svn.freebsd.org)
Message-Id: <201311112337.rABNbHn8067862@svn.freebsd.org>
From: Nathan Whitehorn <nwhitehorn@FreeBSD.org>
Date: Mon, 11 Nov 2013 23:37:17 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258024 - in head/sys: conf powerpc/aim powerpc/booke
 powerpc/powerpc
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 01:15:27 -0000

Author: nwhitehorn
Date: Mon Nov 11 23:37:16 2013
New Revision: 258024
URL: http://svnweb.freebsd.org/changeset/base/258024

Log:
  Use the same implementation of copyinout.c for both AIM and Book-E. This
  fixes some bugs in both implementations related to validity checks on
  mapping bounds.

Added:
  head/sys/powerpc/powerpc/copyinout.c
     - copied, changed from r257990, head/sys/powerpc/aim/copyinout.c
Deleted:
  head/sys/powerpc/aim/copyinout.c
  head/sys/powerpc/booke/copyinout.c
Modified:
  head/sys/conf/files.powerpc

Modified: head/sys/conf/files.powerpc
==============================================================================
--- head/sys/conf/files.powerpc	Mon Nov 11 22:07:56 2013	(r258023)
+++ head/sys/conf/files.powerpc	Mon Nov 11 23:37:16 2013	(r258024)
@@ -86,7 +86,6 @@ libkern/qdivrem.c		optional	powerpc
 libkern/ucmpdi2.c		optional	powerpc
 libkern/udivdi3.c		optional	powerpc
 libkern/umoddi3.c		optional	powerpc
-powerpc/aim/copyinout.c		optional	aim
 powerpc/aim/interrupt.c		optional	aim
 powerpc/aim/locore.S		optional	aim no-obj
 powerpc/aim/machdep.c		optional	aim
@@ -98,7 +97,6 @@ powerpc/aim/mp_cpudep.c		optional	aim sm
 powerpc/aim/slb.c		optional	aim powerpc64
 powerpc/aim/trap.c		optional	aim
 powerpc/aim/uma_machdep.c	optional	aim
-powerpc/booke/copyinout.c	optional	booke
 powerpc/booke/interrupt.c	optional	booke
 powerpc/booke/locore.S		optional	booke no-obj
 powerpc/booke/machdep.c		optional	booke
@@ -173,6 +171,7 @@ powerpc/powerpc/bcopy.c		standard
 powerpc/powerpc/bus_machdep.c	standard
 powerpc/powerpc/busdma_machdep.c standard
 powerpc/powerpc/clock.c		standard
+powerpc/powerpc/copyinout.c	standard
 powerpc/powerpc/copystr.c	standard
 powerpc/powerpc/cpu.c		standard
 powerpc/powerpc/db_disasm.c	optional	ddb

Copied and modified: head/sys/powerpc/powerpc/copyinout.c (from r257990, head/sys/powerpc/aim/copyinout.c)
==============================================================================
--- head/sys/powerpc/aim/copyinout.c	Mon Nov 11 14:08:25 2013	(r257990, copy source)
+++ head/sys/powerpc/powerpc/copyinout.c	Mon Nov 11 23:37:16 2013	(r258024)
@@ -69,9 +69,11 @@ __FBSDID("$FreeBSD$");
 #include <machine/pcb.h>
 #include <machine/sr.h>
 #include <machine/slb.h>
+#include <machine/vmparam.h>
 
 int	setfault(faultbuf);	/* defined in locore.S */
 
+#ifdef AIM
 /*
  * Makes sure that the right segment of userspace is mapped in.
  */
@@ -132,6 +134,43 @@ set_user_sr(pmap_t pm, const void *addr)
 }
 #endif
 
+static __inline int
+map_user_ptr(pmap_t pm, const void *uaddr, void **kaddr, size_t ulen,
+    size_t *klen)
+{
+	size_t l;
+
+	*kaddr = (char *)USER_ADDR + ((uintptr_t)uaddr & ~SEGMENT_MASK);
+
+	l = ((char *)USER_ADDR + SEGMENT_LENGTH) - (char *)(*kaddr);
+	if (l > ulen)
+		l = ulen;
+	if (klen)
+		*klen = l;
+	else if (l != ulen)
+		return (EFAULT);
+
+	set_user_sr(pm, uaddr);
+
+	return (0);
+}
+#else /* Book-E uses a combined kernel/user mapping */
+static __inline int
+map_user_ptr(pmap_t pm, const void *uaddr, void **kaddr, size_t ulen,
+    size_t *klen)
+{
+
+	if ((uintptr_t)uaddr + ulen > VM_MAXUSER_ADDRESS + PAGE_SIZE)
+		return (EFAULT);
+
+	*kaddr = (void *)(uintptr_t)uaddr;
+	if (klen)
+		*klen = ulen;
+
+	return (0);
+}
+#endif
+
 int
 copyout(const void *kaddr, void *udaddr, size_t len)
 {
@@ -154,13 +193,10 @@ copyout(const void *kaddr, void *udaddr,
 	up = udaddr;
 
 	while (len > 0) {
-		p = (char *)USER_ADDR + ((uintptr_t)up & ~SEGMENT_MASK);
-
-		l = ((char *)USER_ADDR + SEGMENT_LENGTH) - p;
-		if (l > len)
-			l = len;
-
-		set_user_sr(pm,up);
+		if (map_user_ptr(pm, udaddr, (void **)&p, len, &l)) {
+			td->td_pcb->pcb_onfault = NULL;
+			return (-1);
+		}
 
 		bcopy(kp, p, l);
 
@@ -195,13 +231,10 @@ copyin(const void *udaddr, void *kaddr, 
 	up = udaddr;
 
 	while (len > 0) {
-		p = (char *)USER_ADDR + ((uintptr_t)up & ~SEGMENT_MASK);
-
-		l = ((char *)USER_ADDR + SEGMENT_LENGTH) - p;
-		if (l > len)
-			l = len;
-
-		set_user_sr(pm,up);
+		if (map_user_ptr(pm, udaddr, (void **)&p, len, &l)) {
+			td->td_pcb->pcb_onfault = NULL;
+			return (-1);
+		}
 
 		bcopy(p, kp, l);
 
@@ -269,14 +302,16 @@ subyte(void *addr, int byte)
 
 	td = curthread;
 	pm = &td->td_proc->p_vmspace->vm_pmap;
-	p = (char *)(USER_ADDR + ((uintptr_t)addr & ~SEGMENT_MASK));
 
 	if (setfault(env)) {
 		td->td_pcb->pcb_onfault = NULL;
 		return (-1);
 	}
 
-	set_user_sr(pm,addr);
+	if (map_user_ptr(pm, addr, (void **)&p, sizeof(*p), NULL)) {
+		td->td_pcb->pcb_onfault = NULL;
+		return (-1);
+	}
 
 	*p = (char)byte;
 
@@ -295,14 +330,16 @@ suword32(void *addr, int word)
 
 	td = curthread;
 	pm = &td->td_proc->p_vmspace->vm_pmap;
-	p = (int *)(USER_ADDR + ((uintptr_t)addr & ~SEGMENT_MASK));
 
 	if (setfault(env)) {
 		td->td_pcb->pcb_onfault = NULL;
 		return (-1);
 	}
 
-	set_user_sr(pm,addr);
+	if (map_user_ptr(pm, addr, (void **)&p, sizeof(*p), NULL)) {
+		td->td_pcb->pcb_onfault = NULL;
+		return (-1);
+	}
 
 	*p = word;
 
@@ -321,14 +358,16 @@ suword(void *addr, long word)
 
 	td = curthread;
 	pm = &td->td_proc->p_vmspace->vm_pmap;
-	p = (long *)(USER_ADDR + ((uintptr_t)addr & ~SEGMENT_MASK));
 
 	if (setfault(env)) {
 		td->td_pcb->pcb_onfault = NULL;
 		return (-1);
 	}
 
-	set_user_sr(pm,addr);
+	if (map_user_ptr(pm, addr, (void **)&p, sizeof(*p), NULL)) {
+		td->td_pcb->pcb_onfault = NULL;
+		return (-1);
+	}
 
 	*p = word;
 
@@ -361,14 +400,16 @@ fubyte(const void *addr)
 
 	td = curthread;
 	pm = &td->td_proc->p_vmspace->vm_pmap;
-	p = (u_char *)(USER_ADDR + ((uintptr_t)addr & ~SEGMENT_MASK));
 
 	if (setfault(env)) {
 		td->td_pcb->pcb_onfault = NULL;
 		return (-1);
 	}
 
-	set_user_sr(pm,addr);
+	if (map_user_ptr(pm, addr, (void **)&p, sizeof(*p), NULL)) {
+		td->td_pcb->pcb_onfault = NULL;
+		return (-1);
+	}
 
 	val = *p;
 
@@ -387,14 +428,16 @@ fuword32(const void *addr)
 
 	td = curthread;
 	pm = &td->td_proc->p_vmspace->vm_pmap;
-	p = (int32_t *)(USER_ADDR + ((uintptr_t)addr & ~SEGMENT_MASK));
 
 	if (setfault(env)) {
 		td->td_pcb->pcb_onfault = NULL;
 		return (-1);
 	}
 
-	set_user_sr(pm,addr);
+	if (map_user_ptr(pm, addr, (void **)&p, sizeof(*p), NULL)) {
+		td->td_pcb->pcb_onfault = NULL;
+		return (-1);
+	}
 
 	val = *p;
 
@@ -413,14 +456,16 @@ fuword(const void *addr)
 
 	td = curthread;
 	pm = &td->td_proc->p_vmspace->vm_pmap;
-	p = (long *)(USER_ADDR + ((uintptr_t)addr & ~SEGMENT_MASK));
 
 	if (setfault(env)) {
 		td->td_pcb->pcb_onfault = NULL;
 		return (-1);
 	}
 
-	set_user_sr(pm,addr);
+	if (map_user_ptr(pm, addr, (void **)&p, sizeof(*p), NULL)) {
+		td->td_pcb->pcb_onfault = NULL;
+		return (-1);
+	}
 
 	val = *p;
 
@@ -446,15 +491,18 @@ casuword32(volatile uint32_t *addr, uint
 
 	td = curthread;
 	pm = &td->td_proc->p_vmspace->vm_pmap;
-	p = (uint32_t *)(USER_ADDR + ((uintptr_t)addr & ~SEGMENT_MASK));
-
-	set_user_sr(pm,(const void *)(vm_offset_t)addr);
 
 	if (setfault(env)) {
 		td->td_pcb->pcb_onfault = NULL;
 		return (-1);
 	}
 
+	if (map_user_ptr(pm, (void *)(uintptr_t)addr, (void **)&p, sizeof(*p),
+	    NULL)) {
+		td->td_pcb->pcb_onfault = NULL;
+		return (-1);
+	}
+
 	__asm __volatile (
 		"1:\tlwarx %0, 0, %2\n\t"	/* load old value */
 		"cmplw %3, %0\n\t"		/* compare */
@@ -491,15 +539,18 @@ casuword(volatile u_long *addr, u_long o
 
 	td = curthread;
 	pm = &td->td_proc->p_vmspace->vm_pmap;
-	p = (u_long *)(USER_ADDR + ((uintptr_t)addr & ~SEGMENT_MASK));
-
-	set_user_sr(pm,(const void *)(vm_offset_t)addr);
 
 	if (setfault(env)) {
 		td->td_pcb->pcb_onfault = NULL;
 		return (-1);
 	}
 
+	if (map_user_ptr(pm, (void *)(uintptr_t)addr, (void **)&p, sizeof(*p),
+	    NULL)) {
+		td->td_pcb->pcb_onfault = NULL;
+		return (-1);
+	}
+
 	__asm __volatile (
 		"1:\tldarx %0, 0, %2\n\t"	/* load old value */
 		"cmpld %3, %0\n\t"		/* compare */

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 01:15:26 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 42F4A478;
 Tue, 12 Nov 2013 01:15:26 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 476942CD6;
 Tue, 12 Nov 2013 00:56:23 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAC0uNKP094866;
 Tue, 12 Nov 2013 00:56:23 GMT (envelope-from eadler@svn.freebsd.org)
Received: (from eadler@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAC0uNeW094865;
 Tue, 12 Nov 2013 00:56:23 GMT (envelope-from eadler@svn.freebsd.org)
Message-Id: <201311120056.rAC0uNeW094865@svn.freebsd.org>
From: Eitan Adler <eadler@FreeBSD.org>
Date: Tue, 12 Nov 2013 00:56:23 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258026 - head/lib/libutil
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 01:15:26 -0000

Author: eadler
Date: Tue Nov 12 00:56:22 2013
New Revision: 258026
URL: http://svnweb.freebsd.org/changeset/base/258026

Log:
  Indicate that expand_number is case-insensitive.
  
  Reviewed by:	-scsi

Modified:
  head/lib/libutil/expand_number.3

Modified: head/lib/libutil/expand_number.3
==============================================================================
--- head/lib/libutil/expand_number.3	Tue Nov 12 00:25:07 2013	(r258025)
+++ head/lib/libutil/expand_number.3	Tue Nov 12 00:56:22 2013	(r258026)
@@ -51,12 +51,13 @@ argument.
 The
 .Fn expand_number
 function
+is case-insensitive and
 follows the SI power of two convention.
 .Pp
 The prefixes are:
 .Bl -column "Prefix" "Description" "1000000000000000000" -offset indent
 .It Sy "Prefix" Ta Sy "Description" Ta Sy "Multiplier"
-.It Li k Ta No kilo Ta 1024
+.It Li K Ta No kilo Ta 1024
 .It Li M Ta No mega Ta 1048576
 .It Li G Ta No giga Ta 1073741824
 .It Li T Ta No tera Ta 1099511627776

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 01:28:38 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id D4F38EA5;
 Tue, 12 Nov 2013 01:28:38 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id C49ED30F8;
 Tue, 12 Nov 2013 01:28:38 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAC1ScNj005401;
 Tue, 12 Nov 2013 01:28:38 GMT
 (envelope-from nwhitehorn@svn.freebsd.org)
Received: (from nwhitehorn@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAC1ScGq005400;
 Tue, 12 Nov 2013 01:28:38 GMT
 (envelope-from nwhitehorn@svn.freebsd.org)
Message-Id: <201311120128.rAC1ScGq005400@svn.freebsd.org>
From: Nathan Whitehorn <nwhitehorn@FreeBSD.org>
Date: Tue, 12 Nov 2013 01:28:38 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258027 - head/sys/powerpc/powerpc
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 01:28:38 -0000

Author: nwhitehorn
Date: Tue Nov 12 01:28:38 2013
New Revision: 258027
URL: http://svnweb.freebsd.org/changeset/base/258027

Log:
  Fix two return values damaged by copy/paste.

Modified:
  head/sys/powerpc/powerpc/copyinout.c

Modified: head/sys/powerpc/powerpc/copyinout.c
==============================================================================
--- head/sys/powerpc/powerpc/copyinout.c	Tue Nov 12 00:56:22 2013	(r258026)
+++ head/sys/powerpc/powerpc/copyinout.c	Tue Nov 12 01:28:38 2013	(r258027)
@@ -195,7 +195,7 @@ copyout(const void *kaddr, void *udaddr,
 	while (len > 0) {
 		if (map_user_ptr(pm, udaddr, (void **)&p, len, &l)) {
 			td->td_pcb->pcb_onfault = NULL;
-			return (-1);
+			return (EFAULT);
 		}
 
 		bcopy(kp, p, l);
@@ -233,7 +233,7 @@ copyin(const void *udaddr, void *kaddr, 
 	while (len > 0) {
 		if (map_user_ptr(pm, udaddr, (void **)&p, len, &l)) {
 			td->td_pcb->pcb_onfault = NULL;
-			return (-1);
+			return (EFAULT);
 		}
 
 		bcopy(p, kp, l);

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 01:40:26 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 3307C6F1;
 Tue, 12 Nov 2013 01:40:26 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id F14A126F6;
 Tue, 12 Nov 2013 00:25:07 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAC0P7io085183;
 Tue, 12 Nov 2013 00:25:07 GMT (envelope-from gjb@svn.freebsd.org)
Received: (from gjb@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAC0P7Fj085182;
 Tue, 12 Nov 2013 00:25:07 GMT (envelope-from gjb@svn.freebsd.org)
Message-Id: <201311120025.rAC0P7Fj085182@svn.freebsd.org>
From: Glen Barber <gjb@FreeBSD.org>
Date: Tue, 12 Nov 2013 00:25:07 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258025 - head/tools/build/mk
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 01:40:26 -0000

Author: gjb
Date: Tue Nov 12 00:25:07 2013
New Revision: 258025
URL: http://svnweb.freebsd.org/changeset/base/258025

Log:
  Silence more 'make {check,delete-old{,libs}}' output if $DESTDIR/usr/tests
  does not exist.
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  head/tools/build/mk/OptionalObsoleteFiles.inc

Modified: head/tools/build/mk/OptionalObsoleteFiles.inc
==============================================================================
--- head/tools/build/mk/OptionalObsoleteFiles.inc	Mon Nov 11 23:37:16 2013	(r258024)
+++ head/tools/build/mk/OptionalObsoleteFiles.inc	Tue Nov 12 00:25:07 2013	(r258025)
@@ -4105,11 +4105,13 @@ OLD_FILES+=usr/share/man/man4/atf-test-c
 OLD_FILES+=usr/share/mk/atf.test.mk
 
 # Test suite.
+. if(exists(${DESTDIR}/usr/tests/))
 TESTS_DIRS!=find ${DESTDIR}/usr/tests -type d | sed -e 's,^${DESTDIR}/,,'; echo
 OLD_DIRS+=${TESTS_DIRS}
 TESTS_FILES!=find ${DESTDIR}/usr/tests \! -type d | sed -e 's,^${DESTDIR}/,,'; echo
 OLD_FILES+=${TESTS_FILES}
-.endif
+. endif
+.endif	# Test suite.
 
 #.if ${MK_TOOLCHAIN} == no
 # to be filled in

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 02:34:49 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 383208A3;
 Tue, 12 Nov 2013 02:34:49 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 27D6D37CD;
 Tue, 12 Nov 2013 02:34:49 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAC2YnWS028319;
 Tue, 12 Nov 2013 02:34:49 GMT (envelope-from kevlo@svn.freebsd.org)
Received: (from kevlo@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAC2Ymsc028317;
 Tue, 12 Nov 2013 02:34:48 GMT (envelope-from kevlo@svn.freebsd.org)
Message-Id: <201311120234.rAC2Ymsc028317@svn.freebsd.org>
From: Kevin Lo <kevlo@FreeBSD.org>
Date: Tue, 12 Nov 2013 02:34:48 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258028 - in head/sys/dev/usb: . wlan
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 02:34:49 -0000

Author: kevlo
Date: Tue Nov 12 02:34:48 2013
New Revision: 258028
URL: http://svnweb.freebsd.org/changeset/base/258028

Log:
  Use the real product name for Edimax rsu(4) id.

Modified:
  head/sys/dev/usb/usbdevs
  head/sys/dev/usb/wlan/if_rsu.c

Modified: head/sys/dev/usb/usbdevs
==============================================================================
--- head/sys/dev/usb/usbdevs	Tue Nov 12 01:28:38 2013	(r258027)
+++ head/sys/dev/usb/usbdevs	Tue Nov 12 02:34:48 2013	(r258028)
@@ -1611,7 +1611,7 @@ product DYNASTREAM ANTDEVBOARD2	0x1006	A
 product EDIMAX EW7318USG	0x7318	USB Wireless dongle
 product EDIMAX RTL8192SU_1	0x7611	RTL8192SU
 product EDIMAX RTL8192SU_2	0x7612	RTL8192SU
-product EDIMAX RTL8192SU_3	0x7622	RTL8192SU
+product EDIMAX EW7622UMN	0x7622	EW-7622UMn
 product EDIMAX RT2870_1		0x7711	RT2870
 product EDIMAX EW7717		0x7717	EW-7717
 product EDIMAX EW7718		0x7718	EW-7718

Modified: head/sys/dev/usb/wlan/if_rsu.c
==============================================================================
--- head/sys/dev/usb/wlan/if_rsu.c	Tue Nov 12 01:28:38 2013	(r258027)
+++ head/sys/dev/usb/wlan/if_rsu.c	Tue Nov 12 02:34:48 2013	(r258028)
@@ -103,7 +103,7 @@ static const STRUCT_USB_HOST_ID rsu_devs
 	RSU_DEV_HT(DLINK2,		RTL8192SU_2),
 	RSU_DEV_HT(EDIMAX,		RTL8192SU_1),
 	RSU_DEV_HT(EDIMAX,		RTL8192SU_2),
-	RSU_DEV_HT(EDIMAX,		RTL8192SU_3),
+	RSU_DEV_HT(EDIMAX,		EW7622UMN),
 	RSU_DEV_HT(GUILLEMOT,		HWGUN54),
 	RSU_DEV_HT(GUILLEMOT,		HWNUM300),
 	RSU_DEV_HT(HAWKING,		RTL8192SU_1),

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 04:02:52 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 50E02B13;
 Tue, 12 Nov 2013 04:02:52 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 403E93CAB;
 Tue, 12 Nov 2013 04:02:52 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAC42qIA059254;
 Tue, 12 Nov 2013 04:02:52 GMT (envelope-from dteske@svn.freebsd.org)
Received: (from dteske@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAC42qLN059253;
 Tue, 12 Nov 2013 04:02:52 GMT (envelope-from dteske@svn.freebsd.org)
Message-Id: <201311120402.rAC42qLN059253@svn.freebsd.org>
From: Devin Teske <dteske@FreeBSD.org>
Date: Tue, 12 Nov 2013 04:02:52 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258029 - head/usr.sbin/bsdconfig/share
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 04:02:52 -0000

Author: dteske
Date: Tue Nov 12 04:02:51 2013
New Revision: 258029
URL: http://svnweb.freebsd.org/changeset/base/258029

Log:
  Comments.

Modified:
  head/usr.sbin/bsdconfig/share/sysrc.subr

Modified: head/usr.sbin/bsdconfig/share/sysrc.subr
==============================================================================
--- head/usr.sbin/bsdconfig/share/sysrc.subr	Tue Nov 12 02:34:48 2013	(r258028)
+++ head/usr.sbin/bsdconfig/share/sysrc.subr	Tue Nov 12 04:02:51 2013	(r258029)
@@ -118,8 +118,8 @@ f_clean_env()
 # f_sysrc_get $varname
 #
 # Get a system configuration setting from the collection of system-
-# configuration files (in order: /etc/defaults/rc.conf /etc/rc.conf
-# and /etc/rc.conf).
+# configuration files (in order: /etc/defaults/rc.conf /etc/rc.conf and
+# /etc/rc.conf.local)
 #
 # NOTE: Additional shell parameter-expansion formats are supported. For
 # example, passing an argument of "hostname%%.*" (properly quoted) will

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 04:56:01 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 3A85325B;
 Tue, 12 Nov 2013 04:56:01 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 2A3623ED8;
 Tue, 12 Nov 2013 04:56:01 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAC4u0vI076151;
 Tue, 12 Nov 2013 04:56:00 GMT (envelope-from adrian@svn.freebsd.org)
Received: (from adrian@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAC4u0Mq076150;
 Tue, 12 Nov 2013 04:56:00 GMT (envelope-from adrian@svn.freebsd.org)
Message-Id: <201311120456.rAC4u0Mq076150@svn.freebsd.org>
From: Adrian Chadd <adrian@FreeBSD.org>
Date: Tue, 12 Nov 2013 04:56:00 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258030 - head/sys/dev/iwn
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 04:56:01 -0000

Author: adrian
Date: Tue Nov 12 04:56:00 2013
New Revision: 258030
URL: http://svnweb.freebsd.org/changeset/base/258030

Log:
  Don't default to antennas A+B; some NICs use Antennas B+C to transmit.

Modified:
  head/sys/dev/iwn/if_iwn.c

Modified: head/sys/dev/iwn/if_iwn.c
==============================================================================
--- head/sys/dev/iwn/if_iwn.c	Tue Nov 12 04:02:51 2013	(r258029)
+++ head/sys/dev/iwn/if_iwn.c	Tue Nov 12 04:56:00 2013	(r258030)
@@ -4336,7 +4336,7 @@ iwn_set_link_quality(struct iwn_softc *s
 	memset(&linkq, 0, sizeof linkq);
 	linkq.id = wn->id;
 	linkq.antmsk_1stream = txant;
-	linkq.antmsk_2stream = IWN_ANT_AB;
+	linkq.antmsk_2stream = sc->txchainmask;
 	linkq.ampdu_max = 64;
 	linkq.ampdu_threshold = 3;
 	linkq.ampdu_limit = htole16(4000);	/* 4ms */

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 04:57:32 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 72EBB3B1;
 Tue, 12 Nov 2013 04:57:32 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 62B4C3EE7;
 Tue, 12 Nov 2013 04:57:32 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAC4vWot076349;
 Tue, 12 Nov 2013 04:57:32 GMT (envelope-from adrian@svn.freebsd.org)
Received: (from adrian@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAC4vW1X076348;
 Tue, 12 Nov 2013 04:57:32 GMT (envelope-from adrian@svn.freebsd.org)
Message-Id: <201311120457.rAC4vW1X076348@svn.freebsd.org>
From: Adrian Chadd <adrian@FreeBSD.org>
Date: Tue, 12 Nov 2013 04:57:32 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258031 - head/sys/dev/iwn
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 04:57:32 -0000

Author: adrian
Date: Tue Nov 12 04:57:31 2013
New Revision: 258031
URL: http://svnweb.freebsd.org/changeset/base/258031

Log:
  Comment what 'mimo' does in the link quality table.

Modified:
  head/sys/dev/iwn/if_iwn.c

Modified: head/sys/dev/iwn/if_iwn.c
==============================================================================
--- head/sys/dev/iwn/if_iwn.c	Tue Nov 12 04:56:00 2013	(r258030)
+++ head/sys/dev/iwn/if_iwn.c	Tue Nov 12 04:57:31 2013	(r258031)
@@ -4368,7 +4368,17 @@ iwn_set_link_quality(struct iwn_softc *s
 		plcp = iwn_rate_to_plcp(sc, ni, rate);
 		linkq.retry[i] = plcp;
 
-		/* Special case for dual-stream rates? */
+		/*
+		 * The mimo field is an index into the table which
+		 * indicates the first index where it and subsequent entries
+		 * will not be using MIMO.
+		 *
+		 * Since we're filling linkq from 0..15 and we're filling
+		 * from the higest MCS rates to the lowest rates, if we
+		 * _are_ doing a dual-stream rate, set mimo to idx+1 (ie,
+		 * the next entry.)  That way if the next entry is a non-MIMO
+		 * entry, we're already pointing at it.
+		 */
 		if ((le32toh(plcp) & IWN_RFLAG_MCS) &&
 		    RV(le32toh(plcp)) > 7)
 			linkq.mimo = i + 1;

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 05:00:18 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id A2869513;
 Tue, 12 Nov 2013 05:00:18 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 92A503EFF;
 Tue, 12 Nov 2013 05:00:18 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAC50Ixs077114;
 Tue, 12 Nov 2013 05:00:18 GMT (envelope-from adrian@svn.freebsd.org)
Received: (from adrian@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAC50I8B077113;
 Tue, 12 Nov 2013 05:00:18 GMT (envelope-from adrian@svn.freebsd.org)
Message-Id: <201311120500.rAC50I8B077113@svn.freebsd.org>
From: Adrian Chadd <adrian@FreeBSD.org>
Date: Tue, 12 Nov 2013 05:00:18 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258032 - head/sys/dev/iwn
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 05:00:18 -0000

Author: adrian
Date: Tue Nov 12 05:00:18 2013
New Revision: 258032
URL: http://svnweb.freebsd.org/changeset/base/258032

Log:
  Use the negotiated HT rate set when generating the link quality table.

Modified:
  head/sys/dev/iwn/if_iwn.c

Modified: head/sys/dev/iwn/if_iwn.c
==============================================================================
--- head/sys/dev/iwn/if_iwn.c	Tue Nov 12 04:57:31 2013	(r258031)
+++ head/sys/dev/iwn/if_iwn.c	Tue Nov 12 05:00:18 2013	(r258032)
@@ -4322,7 +4322,7 @@ iwn_set_link_quality(struct iwn_softc *s
 {
 #define	RV(v)	((v) & IEEE80211_RATE_VAL)
 	struct iwn_node *wn = (void *)ni;
-	struct ieee80211_rateset *rs = &ni->ni_rates;
+	struct ieee80211_rateset *rs;
 	struct iwn_cmd_link_quality linkq;
 	uint8_t txant;
 	int i, rate, txrate;
@@ -4346,10 +4346,13 @@ iwn_set_link_quality(struct iwn_softc *s
 	 * 11n _and_ we have some 11n rates, or don't
 	 * try.
 	 */
-	if (IEEE80211_IS_CHAN_HT(ni->ni_chan) && ni->ni_htrates.rs_nrates > 0)
+	if (IEEE80211_IS_CHAN_HT(ni->ni_chan) && ni->ni_htrates.rs_nrates > 0) {
+		rs = (struct ieee80211_rateset *) &ni->ni_htrates;
 		is_11n = 1;
-	else
+	} else {
+		rs = &ni->ni_rates;
 		is_11n = 0;
+	}
 
 	/* Start at highest available bit-rate. */
 	if (is_11n)
@@ -4360,7 +4363,7 @@ iwn_set_link_quality(struct iwn_softc *s
 		uint32_t plcp;
 
 		if (is_11n)
-			rate = IEEE80211_RATE_MCS | txrate;
+			rate = IEEE80211_RATE_MCS | rs->rs_rates[txrate];
 		else
 			rate = RV(rs->rs_rates[txrate]);
 

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 05:08:25 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 31B336A2;
 Tue, 12 Nov 2013 05:08:25 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 2110F3F4E;
 Tue, 12 Nov 2013 05:08:25 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAC58O4U080206;
 Tue, 12 Nov 2013 05:08:24 GMT (envelope-from adrian@svn.freebsd.org)
Received: (from adrian@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAC58OKJ080205;
 Tue, 12 Nov 2013 05:08:24 GMT (envelope-from adrian@svn.freebsd.org)
Message-Id: <201311120508.rAC58OKJ080205@svn.freebsd.org>
From: Adrian Chadd <adrian@FreeBSD.org>
Date: Tue, 12 Nov 2013 05:08:24 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258033 - head/sys/dev/iwn
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 05:08:25 -0000

Author: adrian
Date: Tue Nov 12 05:08:24 2013
New Revision: 258033
URL: http://svnweb.freebsd.org/changeset/base/258033

Log:
  Grr. For some odd reason, setting this to a single antenna on my 5100
  (which is a 1x2 device) panics the firmware.
  
  But, for some 6xxx devices that require IWN_ANT_BC for the TX chainmask,
  the link quality entries need to represent _that_.
  
  So, revert this for now until I can figure out what is supposed to be
  going on.

Modified:
  head/sys/dev/iwn/if_iwn.c

Modified: head/sys/dev/iwn/if_iwn.c
==============================================================================
--- head/sys/dev/iwn/if_iwn.c	Tue Nov 12 05:00:18 2013	(r258032)
+++ head/sys/dev/iwn/if_iwn.c	Tue Nov 12 05:08:24 2013	(r258033)
@@ -4336,7 +4336,7 @@ iwn_set_link_quality(struct iwn_softc *s
 	memset(&linkq, 0, sizeof linkq);
 	linkq.id = wn->id;
 	linkq.antmsk_1stream = txant;
-	linkq.antmsk_2stream = sc->txchainmask;
+	linkq.antmsk_2stream = IWN_ANT_AB;
 	linkq.ampdu_max = 64;
 	linkq.ampdu_threshold = 3;
 	linkq.ampdu_limit = htole16(4000);	/* 4ms */

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 05:49:02 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 630C79FF;
 Tue, 12 Nov 2013 05:49:02 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 5274920FC;
 Tue, 12 Nov 2013 05:49:02 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAC5n2Fp093143;
 Tue, 12 Nov 2013 05:49:02 GMT (envelope-from adrian@svn.freebsd.org)
Received: (from adrian@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAC5n2wc093142;
 Tue, 12 Nov 2013 05:49:02 GMT (envelope-from adrian@svn.freebsd.org)
Message-Id: <201311120549.rAC5n2wc093142@svn.freebsd.org>
From: Adrian Chadd <adrian@FreeBSD.org>
Date: Tue, 12 Nov 2013 05:49:02 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258034 - head/sys/dev/iwn
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 05:49:02 -0000

Author: adrian
Date: Tue Nov 12 05:49:01 2013
New Revision: 258034
URL: http://svnweb.freebsd.org/changeset/base/258034

Log:
  Fix up the link quality lookup and re-enable multi-rate retry.
  
  This is a terrible solution that at least behaves mostly correctly.
  
  It walks the currently active rate table looking for rates to match.
  It assumes that the code matches the setup path in the link quality
  setup code (much like the previous, much simpler but even more hackish
  math did.)
  
  It's O(n), but n<15, so we're okay for the time being.
  
  Tested:
  
  * Intel 5100, STA - 11a, 11n, 11bg modes.

Modified:
  head/sys/dev/iwn/if_iwn.c

Modified: head/sys/dev/iwn/if_iwn.c
==============================================================================
--- head/sys/dev/iwn/if_iwn.c	Tue Nov 12 05:08:24 2013	(r258033)
+++ head/sys/dev/iwn/if_iwn.c	Tue Nov 12 05:49:01 2013	(r258034)
@@ -3570,6 +3570,66 @@ iwn_check_rate_needs_protection(struct i
 	return (1);
 }
 
+/*
+ * return a value between 0 and IWN_MAX_TX_RETRIES-1 as an index into
+ * the link quality table that reflects this particular entry.
+ */
+static int
+iwn_tx_rate_to_linkq_offset(struct iwn_softc *sc, struct ieee80211_node *ni,
+    uint8_t rate)
+{
+	struct ieee80211_rateset *rs;
+	int is_11n;
+	int nr;
+	int i;
+	uint8_t cmp_rate;
+
+	/*
+	 * Figure out if we're using 11n or not here.
+	 */
+	if (IEEE80211_IS_CHAN_HT(ni->ni_chan) && ni->ni_htrates.rs_nrates > 0)
+		is_11n = 1;
+	else
+		is_11n = 0;
+
+	/*
+	 * Use the correct rate table.
+	 */
+	if (is_11n) {
+		rs = (struct ieee80211_rateset *) &ni->ni_htrates;
+		nr = ni->ni_htrates.rs_nrates;
+	} else {
+		rs = &ni->ni_rates;
+		nr = rs->rs_nrates;
+	}
+
+	/*
+	 * Find the relevant link quality entry in the table.
+	 */
+	for (i = 0; i < nr && i < IWN_MAX_TX_RETRIES - 1 ; i++) {
+		/*
+		 * The link quality table index starts at 0 == highest
+		 * rate, so we walk the rate table backwards.
+		 */
+		cmp_rate = rs->rs_rates[(nr - 1) - i];
+		if (rate & IEEE80211_RATE_MCS)
+			cmp_rate |= IEEE80211_RATE_MCS;
+
+		DPRINTF(sc, IWN_DEBUG_XMIT, "%s: idx %d: nr=%d, rate=0x%02x, rateentry=0x%02x\n",
+		    __func__,
+		    i,
+		    nr,
+		    rate,
+		    cmp_rate);
+
+		if (cmp_rate == rate)
+			return (i);
+	}
+
+	/* Failed? Start at the end */
+	return (IWN_MAX_TX_RETRIES - 1);
+}
+
 static int
 iwn_tx_data(struct iwn_softc *sc, struct mbuf *m, struct ieee80211_node *ni)
 {
@@ -3750,29 +3810,14 @@ iwn_tx_data(struct iwn_softc *sc, struct
 	tx->data_ntries = 15;
 	tx->lifetime = htole32(IWN_LIFETIME_INFINITE);
 	tx->rate = iwn_rate_to_plcp(sc, ni, rate);
-#if 0
 	if (tx->id == sc->broadcast_id) {
 		/* Group or management frame. */
 		tx->linkq = 0;
-		/* XXX Alternate between antenna A and B? */
-		txant = IWN_LSB(sc->txchainmask);
-		tx->rate |= htole32(IWN_RFLAG_ANT(txant));
 	} else {
-		/*
-		 * XXX This is no longer true.  ni_rates may actually
-		 * XXX need to be ni_htrates (for 11n rates) and thus
-		 * XXX ridx is totally bogus here.
-		 *
-		 * XXX So, break this out into a function and look up
-		 * XXX the correct place to start the MRR table rate
-		 * XXX attempt.
-		 */
-		tx->linkq = ni->ni_rates.rs_nrates - ridx - 1;
+		tx->linkq = iwn_tx_rate_to_linkq_offset(sc, ni, rate);
 		flags |= IWN_TX_LINKQ;	/* enable MRR */
 	}
-#else
-	tx->linkq = 0;	/* Don't enable MRR for now */
-#endif
+
 	/* Set physical address of "scratch area". */
 	tx->loaddr = htole32(IWN_LOADDR(data->scratch_paddr));
 	tx->hiaddr = IWN_HIADDR(data->scratch_paddr);

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 05:58:24 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 789E2BD3;
 Tue, 12 Nov 2013 05:58:24 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 672122158;
 Tue, 12 Nov 2013 05:58:24 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAC5wOEf096276;
 Tue, 12 Nov 2013 05:58:24 GMT (envelope-from adrian@svn.freebsd.org)
Received: (from adrian@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAC5wO2Y096274;
 Tue, 12 Nov 2013 05:58:24 GMT (envelope-from adrian@svn.freebsd.org)
Message-Id: <201311120558.rAC5wO2Y096274@svn.freebsd.org>
From: Adrian Chadd <adrian@FreeBSD.org>
Date: Tue, 12 Nov 2013 05:58:24 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258035 - head/sys/dev/iwn
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 05:58:24 -0000

Author: adrian
Date: Tue Nov 12 05:58:23 2013
New Revision: 258035
URL: http://svnweb.freebsd.org/changeset/base/258035

Log:
  Commit over some work to prepare the iwn(4) driver for further chipset
  support.
  
  * Extend the hardware base_params structure to include a bunch of hardware
    flags indicating what is and isn't supported.
  
  * Convert a bunch of the initial hardware configuration conditionals to
    consult the base_params structure.
  
  * Add new calibration code for temperature calibration for the Centrino 2xxx
    series NICs.
  
  * Add new bluetooth coexistence code for Centrino 2xxx series NICs.
  
  * For NICs that support PAN (personal area networking), use a different
    transmit queue and command queue setup, in preparation for said
    PAN support.
  
  * Extend the calibration array in iwn_softc to include enough space for
    the new calibration types.
  
  Tested (by myself, if not mentioned):
  
  * Intel 4965
  * Intel 5100
  * Intel 6150
  * Intel 2230
  * Intel 2200 (eadler)
  * Intel 1030
  * Intel 6200
  * Intel 6230
  * Intel 6250
  * Intel 6150
  * Intel 100
  
  What doesn't work:
  
  * Intel 6235 - fails in calibration at startup
  
  TODO:
  
  * Testing on Intel 53xx series hardware
  
  Submitted by:	Cedric Gross <cg@cgross.info>

Added:
  head/sys/dev/iwn/if_iwn_chip_cfg.h   (contents, props changed)
Modified:
  head/sys/dev/iwn/if_iwn.c
  head/sys/dev/iwn/if_iwnvar.h

Modified: head/sys/dev/iwn/if_iwn.c
==============================================================================
--- head/sys/dev/iwn/if_iwn.c	Tue Nov 12 05:49:01 2013	(r258034)
+++ head/sys/dev/iwn/if_iwn.c	Tue Nov 12 05:58:23 2013	(r258035)
@@ -78,6 +78,7 @@ __FBSDID("$FreeBSD$");
 #include <dev/iwn/if_iwnreg.h>
 #include <dev/iwn/if_iwnvar.h>
 #include <dev/iwn/if_iwn_devid.h>
+#include <dev/iwn/if_iwn_chip_cfg.h>
 #include <dev/iwn/if_iwn_debug.h>
 
 struct iwn_ident {
@@ -99,6 +100,9 @@ static const struct iwn_ident iwn_ident_
 	{ 0x8086, IWN_DID_x030_4, "Intel Centrino Advanced-N 6230"		},
 	{ 0x8086, IWN_DID_6150_1, "Intel Centrino Wireless-N + WiMAX 6150"	},
 	{ 0x8086, IWN_DID_6150_2, "Intel Centrino Wireless-N + WiMAX 6150"	},
+	{ 0x8086, IWN_DID_2x00_1, "Intel(R) Centrino(R) Wireless-N 2200 BGN"	},
+	{ 0x8086, IWN_DID_2x00_2, "Intel(R) Centrino(R) Wireless-N 2200 BGN"	},
+	/* XXX 2200D is IWN_SDID_2x00_4; there's no way to express this here! */
 	{ 0x8086, IWN_DID_2x30_1, "Intel Centrino Wireless-N 2230"		},
 	{ 0x8086, IWN_DID_2x30_2, "Intel Centrino Wireless-N 2230"		},
 	{ 0x8086, IWN_DID_130_1, "Intel Centrino Wireless-N 130"		},
@@ -121,6 +125,15 @@ static const struct iwn_ident iwn_ident_
 	{ 0x8086, IWN_DID_5x50_2, "Intel WiMAX/WiFi Link 5350"			},
 	{ 0x8086, IWN_DID_5x50_3, "Intel WiMAX/WiFi Link 5150"			},
 	{ 0x8086, IWN_DID_5x50_4, "Intel WiMAX/WiFi Link 5150"			},
+	/*
+	 * These currently don't function; the firmware crashes during
+	 * the startup calibration request.
+	 */
+#if 0
+	{ 0x8086, IWN_DID_6035_1, "Intel Centrino Advanced 6235"		},
+	/* XXX TODO: figure out which ID this one is? */
+	{ 0x8086, IWN_DID_6035_2, "Intel Centrino Advanced 6235"		},
+#endif
 	{ 0, 0, NULL }
 };
 
@@ -128,6 +141,7 @@ static int	iwn_probe(device_t);
 static int	iwn_attach(device_t);
 static int	iwn4965_attach(struct iwn_softc *, uint16_t);
 static int	iwn5000_attach(struct iwn_softc *, uint16_t);
+static int	iwn_config_specific(struct iwn_softc *, uint16_t);
 static void	iwn_radiotap_attach(struct iwn_softc *);
 static void	iwn_sysctlattach(struct iwn_softc *);
 static struct ieee80211vap *iwn_vap_create(struct ieee80211com *,
@@ -294,6 +308,7 @@ static int	iwn5000_send_calibration(stru
 static int	iwn5000_send_wimax_coex(struct iwn_softc *);
 static int	iwn5000_crystal_calib(struct iwn_softc *);
 static int	iwn5000_temp_offset_calib(struct iwn_softc *);
+static int	iwn5000_temp_offset_calibv2(struct iwn_softc *);
 static int	iwn4965_post_alive(struct iwn_softc *);
 static int	iwn5000_post_alive(struct iwn_softc *);
 static int	iwn4965_load_bootcode(struct iwn_softc *, const uint8_t *,
@@ -452,6 +467,11 @@ iwn_attach(device_t dev)
 	sc->hw_type = (IWN_READ(sc, IWN_HW_REV) >> IWN_HW_REV_TYPE_SHIFT)
 	    & IWN_HW_REV_TYPE_MASK;
 	sc->subdevice_id = pci_get_subdevice(dev);
+
+	/*
+	 * 4965 versus 5000 and later have different methods.
+	 * Let's set those up first.
+	 */
 	if (sc->hw_type == IWN_HW_REV_TYPE_4965)
 		error = iwn4965_attach(sc, pci_get_device(dev));
 	else
@@ -462,6 +482,16 @@ iwn_attach(device_t dev)
 		goto fail;
 	}
 
+	/*
+	 * Next, let's setup the various parameters of each NIC.
+	 */
+	error = iwn_config_specific(sc, pci_get_device(dev));
+	if (error != 0) {
+		device_printf(dev, "could not attach device, error %d\n",
+		    error);
+		goto fail;
+	}
+
 	if ((error = iwn_hw_prepare(sc)) != 0) {
 		device_printf(dev, "hardware not ready, error %d\n", error);
 		goto fail;
@@ -671,6 +701,441 @@ fail:
 	return error;
 }
 
+/*
+ * Define specific configuration based on device id and subdevice id
+ * pid : PCI device id
+ */
+static int
+iwn_config_specific(struct iwn_softc *sc, uint16_t pid)
+{
+
+	switch (pid) {
+/* 4965 series */
+	case IWN_DID_4965_1:
+	case IWN_DID_4965_2:
+	case IWN_DID_4965_3:
+	case IWN_DID_4965_4:
+		sc->base_params = &iwn4965_base_params;
+		sc->limits = &iwn4965_sensitivity_limits;
+		sc->fwname = "iwn4965fw";
+		/* Override chains masks, ROM is known to be broken. */
+		sc->txchainmask = IWN_ANT_AB;
+		sc->rxchainmask = IWN_ANT_ABC;
+		/* Enable normal btcoex */
+		sc->sc_flags |= IWN_FLAG_BTCOEX;
+		break;
+/* 1000 Series */
+	case IWN_DID_1000_1:
+	case IWN_DID_1000_2:
+		switch(sc->subdevice_id) {
+			case	IWN_SDID_1000_1:
+			case	IWN_SDID_1000_2:
+			case	IWN_SDID_1000_3:
+			case	IWN_SDID_1000_4:
+			case	IWN_SDID_1000_5:
+			case	IWN_SDID_1000_6:
+			case	IWN_SDID_1000_7:
+			case	IWN_SDID_1000_8:
+			case	IWN_SDID_1000_9:
+			case	IWN_SDID_1000_10:
+			case	IWN_SDID_1000_11:
+			case	IWN_SDID_1000_12:
+				sc->limits = &iwn1000_sensitivity_limits;
+				sc->base_params = &iwn1000_base_params;
+				sc->fwname = "iwn1000fw";
+				break;
+			default:
+				device_printf(sc->sc_dev, "adapter type id : 0x%04x sub id :"
+				    "0x%04x rev %d not supported (subdevice)\n", pid,
+				    sc->subdevice_id,sc->hw_type);
+				return ENOTSUP;
+		}
+		break;
+/* 6x00 Series */
+	case IWN_DID_6x00_2:
+	case IWN_DID_6x00_4:
+	case IWN_DID_6x00_1:
+	case IWN_DID_6x00_3:
+		sc->fwname = "iwn6000fw";
+		sc->limits = &iwn6000_sensitivity_limits;
+		switch(sc->subdevice_id) {
+			case IWN_SDID_6x00_1:
+			case IWN_SDID_6x00_2:
+			case IWN_SDID_6x00_8:
+				//iwl6000_3agn_cfg
+				sc->base_params = &iwn_6000_base_params;
+				break;
+			case IWN_SDID_6x00_3:
+			case IWN_SDID_6x00_6:
+			case IWN_SDID_6x00_9:
+				////iwl6000i_2agn
+			case IWN_SDID_6x00_4:
+			case IWN_SDID_6x00_7:
+			case IWN_SDID_6x00_10:
+				//iwl6000i_2abg_cfg
+			case IWN_SDID_6x00_5:
+				//iwl6000i_2bg_cfg
+				sc->base_params = &iwn_6000i_base_params;
+				sc->sc_flags |= IWN_FLAG_INTERNAL_PA;
+				sc->txchainmask = IWN_ANT_BC;
+				sc->rxchainmask = IWN_ANT_BC;
+				break;
+			default:
+				device_printf(sc->sc_dev, "adapter type id : 0x%04x sub id :"
+				    "0x%04x rev %d not supported (subdevice)\n", pid,
+				    sc->subdevice_id,sc->hw_type);
+				return ENOTSUP;
+		}
+		break;
+/* 6x05 Series */
+	case IWN_DID_6x05_1:
+	case IWN_DID_6x05_2:
+		switch(sc->subdevice_id) {
+			case IWN_SDID_6x05_1:
+			case IWN_SDID_6x05_4:
+			case IWN_SDID_6x05_6:
+				//iwl6005_2agn_cfg
+			case IWN_SDID_6x05_2:
+			case IWN_SDID_6x05_5:
+			case IWN_SDID_6x05_7:
+				//iwl6005_2abg_cfg
+			case IWN_SDID_6x05_3:
+				//iwl6005_2bg_cfg
+			case IWN_SDID_6x05_8:
+			case IWN_SDID_6x05_9:
+				//iwl6005_2agn_sff_cfg
+			case IWN_SDID_6x05_10:
+				//iwl6005_2agn_d_cfg
+			case IWN_SDID_6x05_11:
+				//iwl6005_2agn_mow1_cfg
+			case IWN_SDID_6x05_12:
+				//iwl6005_2agn_mow2_cfg
+				sc->fwname = "iwn6000g2afw";
+				sc->limits = &iwn6000_sensitivity_limits;
+				sc->base_params = &iwn_6000g2_base_params;
+				break;
+			default:
+				device_printf(sc->sc_dev, "adapter type id : 0x%04x sub id :"
+				    "0x%04x rev %d not supported (subdevice)\n", pid,
+				    sc->subdevice_id,sc->hw_type);
+				return ENOTSUP;
+		}
+		break;
+/* 6x35 Series */
+	case IWN_DID_6035_1:
+	case IWN_DID_6035_2:
+		switch(sc->subdevice_id) {
+			case IWN_SDID_6035_1:
+			case IWN_SDID_6035_2:
+			case IWN_SDID_6035_3:
+			case IWN_SDID_6035_4:
+				sc->fwname = "iwn6000g2bfw";
+				sc->limits = &iwn6000_sensitivity_limits;
+				sc->base_params = &iwn_6000g2b_base_params;
+				break;
+			default:
+				device_printf(sc->sc_dev, "adapter type id : 0x%04x sub id :"
+				    "0x%04x rev %d not supported (subdevice)\n", pid,
+				    sc->subdevice_id,sc->hw_type);
+				return ENOTSUP;
+		}
+		break;
+/* 6x50 WiFi/WiMax Series */
+	case IWN_DID_6050_1:
+	case IWN_DID_6050_2:
+		switch(sc->subdevice_id) {
+			case IWN_SDID_6050_1:
+			case IWN_SDID_6050_3:
+			case IWN_SDID_6050_5:
+				//iwl6050_2agn_cfg
+			case IWN_SDID_6050_2:
+			case IWN_SDID_6050_4:
+			case IWN_SDID_6050_6:
+				//iwl6050_2abg_cfg
+				sc->fwname = "iwn6050fw";
+				sc->txchainmask = IWN_ANT_AB;
+				sc->rxchainmask = IWN_ANT_AB;
+				sc->limits = &iwn6000_sensitivity_limits;
+				sc->base_params = &iwn_6050_base_params;
+				break;
+			default:
+				device_printf(sc->sc_dev, "adapter type id : 0x%04x sub id :"
+				    "0x%04x rev %d not supported (subdevice)\n", pid,
+				    sc->subdevice_id,sc->hw_type);
+				return ENOTSUP;
+		}
+		break;
+/* 6150 WiFi/WiMax Series */
+	case IWN_DID_6150_1:
+	case IWN_DID_6150_2:
+		switch(sc->subdevice_id) {
+			case IWN_SDID_6150_1:
+			case IWN_SDID_6150_3:
+			case IWN_SDID_6150_5:
+				// iwl6150_bgn_cfg
+			case IWN_SDID_6150_2:
+			case IWN_SDID_6150_4:
+			case IWN_SDID_6150_6:
+				//iwl6150_bg_cfg
+				sc->fwname = "iwn6050fw";
+				sc->limits = &iwn6000_sensitivity_limits;
+				sc->base_params = &iwn_6150_base_params;
+				break;
+			default:
+				device_printf(sc->sc_dev, "adapter type id : 0x%04x sub id :"
+				    "0x%04x rev %d not supported (subdevice)\n", pid,
+				    sc->subdevice_id,sc->hw_type);
+				return ENOTSUP;
+		}
+		break;
+/* 6030 Series and 1030 Series */
+	case IWN_DID_x030_1:
+	case IWN_DID_x030_2:
+	case IWN_DID_x030_3:
+	case IWN_DID_x030_4:
+		switch(sc->subdevice_id) {
+			case IWN_SDID_x030_1:
+			case IWN_SDID_x030_3:
+			case IWN_SDID_x030_5:
+			// iwl1030_bgn_cfg
+			case IWN_SDID_x030_2:
+			case IWN_SDID_x030_4:
+			case IWN_SDID_x030_6:
+			//iwl1030_bg_cfg
+			case IWN_SDID_x030_7:
+			case IWN_SDID_x030_10:
+			case IWN_SDID_x030_14:
+			//iwl6030_2agn_cfg
+			case IWN_SDID_x030_8:
+			case IWN_SDID_x030_11:
+			case IWN_SDID_x030_15:
+			// iwl6030_2bgn_cfg
+			case IWN_SDID_x030_9:
+			case IWN_SDID_x030_12:
+			case IWN_SDID_x030_16:
+			// iwl6030_2abg_cfg
+			case IWN_SDID_x030_13:
+			//iwl6030_2bg_cfg
+				sc->fwname = "iwn6000g2bfw";
+				sc->limits = &iwn6000_sensitivity_limits;
+				sc->base_params = &iwn_6000g2b_base_params;
+				break;
+			default:
+				device_printf(sc->sc_dev, "adapter type id : 0x%04x sub id :"
+				    "0x%04x rev %d not supported (subdevice)\n", pid,
+				    sc->subdevice_id,sc->hw_type);
+				return ENOTSUP;
+		}
+		break;
+/* 130 Series WiFi */
+/* XXX: This series will need adjustment for rate.
+ * see rx_with_siso_diversity in linux kernel
+ */
+	case IWN_DID_130_1:
+	case IWN_DID_130_2:
+		switch(sc->subdevice_id) {
+			case IWN_SDID_130_1:
+			case IWN_SDID_130_3:
+			case IWN_SDID_130_5:
+			//iwl130_bgn_cfg
+			case IWN_SDID_130_2:
+			case IWN_SDID_130_4:
+			case IWN_SDID_130_6:
+			//iwl130_bg_cfg
+				sc->fwname = "iwn6000g2bfw";
+				sc->limits = &iwn6000_sensitivity_limits;
+				sc->base_params = &iwn_6000g2b_base_params;
+				break;
+			default:
+				device_printf(sc->sc_dev, "adapter type id : 0x%04x sub id :"
+				    "0x%04x rev %d not supported (subdevice)\n", pid,
+				    sc->subdevice_id,sc->hw_type);
+				return ENOTSUP;
+		}
+		break;
+/* 100 Series WiFi */
+	case IWN_DID_100_1:
+	case IWN_DID_100_2:
+		switch(sc->subdevice_id) {
+			case IWN_SDID_100_1:
+			case IWN_SDID_100_2:
+			case IWN_SDID_100_3:
+			case IWN_SDID_100_4:
+			case IWN_SDID_100_5:
+			case IWN_SDID_100_6:
+				sc->limits = &iwn1000_sensitivity_limits;
+				sc->base_params = &iwn1000_base_params;
+				sc->fwname = "iwn100fw";
+				break;
+			default:
+				device_printf(sc->sc_dev, "adapter type id : 0x%04x sub id :"
+				    "0x%04x rev %d not supported (subdevice)\n", pid,
+				    sc->subdevice_id,sc->hw_type);
+				return ENOTSUP;
+		}
+		break;
+
+/* 2x00 Series */
+	case IWN_DID_2x00_1:
+	case IWN_DID_2x00_2:
+		switch(sc->subdevice_id) {
+			case IWN_SDID_2x00_1:
+			case IWN_SDID_2x00_2:
+			case IWN_SDID_2x00_3:
+			//iwl2000_2bgn_cfg
+			case IWN_SDID_2x00_4:
+			//iwl2000_2bgn_d_cfg
+				sc->limits = &iwn2030_sensitivity_limits;
+				sc->base_params = &iwn2000_base_params;
+				sc->fwname = "iwn2000fw";
+				break;
+			default:
+				device_printf(sc->sc_dev, "adapter type id : 0x%04x sub id :"
+				    "0x%04x rev %d not supported (subdevice) \n",
+				    pid, sc->subdevice_id, sc->hw_type);
+				return ENOTSUP;
+		}
+		break;
+/* 2x30 Series */
+	case IWN_DID_2x30_1:
+	case IWN_DID_2x30_2:
+		switch(sc->subdevice_id) {
+			case IWN_SDID_2x30_1:
+			case IWN_SDID_2x30_3:
+			case IWN_SDID_2x30_5:
+			//iwl100_bgn_cfg
+			case IWN_SDID_2x30_2:
+			case IWN_SDID_2x30_4:
+			case IWN_SDID_2x30_6:
+			//iwl100_bg_cfg
+				sc->limits = &iwn2030_sensitivity_limits;
+				sc->base_params = &iwn2030_base_params;
+				sc->fwname = "iwn2030fw";
+				break;
+			default:
+				device_printf(sc->sc_dev, "adapter type id : 0x%04x sub id :"
+				    "0x%04x rev %d not supported (subdevice)\n", pid,
+				    sc->subdevice_id,sc->hw_type);
+				return ENOTSUP;
+		}
+		break;
+/* 5x00 Series */
+	case IWN_DID_5x00_1:
+	case IWN_DID_5x00_2:
+	case IWN_DID_5x00_3:
+	case IWN_DID_5x00_4:
+		sc->limits = &iwn5000_sensitivity_limits;
+		sc->base_params = &iwn5000_base_params;
+		sc->fwname = "iwn5000fw";
+		switch(sc->subdevice_id) {
+			case IWN_SDID_5x00_1:
+			case IWN_SDID_5x00_2:
+			case IWN_SDID_5x00_3:
+			case IWN_SDID_5x00_4:
+			case IWN_SDID_5x00_9:
+			case IWN_SDID_5x00_10:
+			case IWN_SDID_5x00_11:
+			case IWN_SDID_5x00_12:
+			case IWN_SDID_5x00_17:
+			case IWN_SDID_5x00_18:
+			case IWN_SDID_5x00_19:
+			case IWN_SDID_5x00_20:
+			//iwl5100_agn_cfg
+				sc->txchainmask = IWN_ANT_B;
+				sc->rxchainmask = IWN_ANT_AB;
+				break;
+			case IWN_SDID_5x00_5:
+			case IWN_SDID_5x00_6:
+			case IWN_SDID_5x00_13:
+			case IWN_SDID_5x00_14:
+			case IWN_SDID_5x00_21:
+			case IWN_SDID_5x00_22:
+			//iwl5100_bgn_cfg
+				sc->txchainmask = IWN_ANT_B;
+				sc->rxchainmask = IWN_ANT_AB;
+				break;
+			case IWN_SDID_5x00_7:
+			case IWN_SDID_5x00_8:
+			case IWN_SDID_5x00_15:
+			case IWN_SDID_5x00_16:
+			case IWN_SDID_5x00_23:
+			case IWN_SDID_5x00_24:
+			//iwl5100_abg_cfg
+				sc->txchainmask = IWN_ANT_B;
+				sc->rxchainmask = IWN_ANT_AB;
+				break;
+			case IWN_SDID_5x00_25:
+			case IWN_SDID_5x00_26:
+			case IWN_SDID_5x00_27:
+			case IWN_SDID_5x00_28:
+			case IWN_SDID_5x00_29:
+			case IWN_SDID_5x00_30:
+			case IWN_SDID_5x00_31:
+			case IWN_SDID_5x00_32:
+			case IWN_SDID_5x00_33:
+			case IWN_SDID_5x00_34:
+			case IWN_SDID_5x00_35:
+			case IWN_SDID_5x00_36:
+			//iwl5300_agn_cfg
+				sc->txchainmask = IWN_ANT_ABC;
+				sc->rxchainmask = IWN_ANT_ABC;
+				break;
+			default:
+				device_printf(sc->sc_dev, "adapter type id : 0x%04x sub id :"
+				    "0x%04x rev %d not supported (subdevice)\n", pid,
+				    sc->subdevice_id,sc->hw_type);
+				return ENOTSUP;
+		}
+		break;
+/* 5x50 Series */
+	case IWN_DID_5x50_1:
+	case IWN_DID_5x50_2:
+	case IWN_DID_5x50_3:
+	case IWN_DID_5x50_4:
+		sc->limits = &iwn5000_sensitivity_limits;
+		sc->base_params = &iwn5000_base_params;
+		sc->fwname = "iwn5000fw";
+		switch(sc->subdevice_id) {
+			case IWN_SDID_5x50_1:
+			case IWN_SDID_5x50_2:
+			case IWN_SDID_5x50_3:
+			//iwl5350_agn_cfg
+				sc->limits = &iwn5000_sensitivity_limits;
+				sc->base_params = &iwn5000_base_params;
+				sc->fwname = "iwn5000fw";
+				break;
+			case IWN_SDID_5x50_4:
+			case IWN_SDID_5x50_5:
+			case IWN_SDID_5x50_8:
+			case IWN_SDID_5x50_9:
+			case IWN_SDID_5x50_10:
+			case IWN_SDID_5x50_11:
+			//iwl5150_agn_cfg
+			case IWN_SDID_5x50_6:
+			case IWN_SDID_5x50_7:
+			case IWN_SDID_5x50_12:
+			case IWN_SDID_5x50_13:
+			//iwl5150_abg_cfg
+				sc->limits = &iwn5000_sensitivity_limits;
+				sc->fwname = "iwn5150fw";
+				sc->base_params = &iwn_5x50_base_params;
+				break;
+			default:
+				device_printf(sc->sc_dev, "adapter type id : 0x%04x sub id :"
+				    "0x%04x rev %d not supported (subdevice)\n", pid,
+				    sc->subdevice_id,sc->hw_type);
+				return ENOTSUP;
+		}
+		break;
+	default:
+		device_printf(sc->sc_dev, "adapter type id : 0x%04x sub id : 0x%04x"
+		    "rev 0x%08x not supported (device)\n", pid, sc->subdevice_id,
+		     sc->hw_type);
+		return ENOTSUP;
+	}
+	return 0;
+}
+
 static int
 iwn4965_attach(struct iwn_softc *sc, uint16_t pid)
 {
@@ -748,90 +1213,6 @@ iwn5000_attach(struct iwn_softc *sc, uin
 	sc->reset_noise_gain = IWN5000_PHY_CALIB_RESET_NOISE_GAIN;
 	sc->noise_gain = IWN5000_PHY_CALIB_NOISE_GAIN;
 
-	switch (sc->hw_type) {
-	case IWN_HW_REV_TYPE_5100:
-		sc->limits = &iwn5000_sensitivity_limits;
-		sc->fwname = "iwn5000fw";
-		/* Override chains masks, ROM is known to be broken. */
-		sc->txchainmask = IWN_ANT_B;
-		sc->rxchainmask = IWN_ANT_AB;
-		/* Enable normal btcoex */
-		sc->sc_flags |= IWN_FLAG_BTCOEX;
-		break;
-	case IWN_HW_REV_TYPE_5150:
-		sc->limits = &iwn5150_sensitivity_limits;
-		sc->fwname = "iwn5150fw";
-		/* Enable normal btcoex */
-		sc->sc_flags |= IWN_FLAG_BTCOEX;
-		break;
-	case IWN_HW_REV_TYPE_5300:
-	case IWN_HW_REV_TYPE_5350:
-		sc->limits = &iwn5000_sensitivity_limits;
-		sc->fwname = "iwn5000fw";
-		/* Enable normal btcoex */
-		sc->sc_flags |= IWN_FLAG_BTCOEX;
-		break;
-	case IWN_HW_REV_TYPE_1000:
-		sc->limits = &iwn1000_sensitivity_limits;
-		sc->fwname = "iwn1000fw";
-		/* Enable normal btcoex */
-		sc->sc_flags |= IWN_FLAG_BTCOEX;
-		break;
-	case IWN_HW_REV_TYPE_6000:
-		sc->limits = &iwn6000_sensitivity_limits;
-		sc->fwname = "iwn6000fw";
-		/*
-		 * Disable btcoex for 6200.
-		 * XXX TODO: disable for 6205; no btcoex as well
-		 * (6230/6235 - enable bluetooth)
-		 */
-		if (pid != 0x422c) {
-			/* Enable normal btcoex */
-			sc->sc_flags |= IWN_FLAG_BTCOEX;
-		}
-		if (pid == 0x422c || pid == 0x4239) {
-			sc->sc_flags |= IWN_FLAG_INTERNAL_PA;
-			/* Override chains masks, ROM is known to be broken. */
-			sc->txchainmask = IWN_ANT_BC;
-			sc->rxchainmask = IWN_ANT_BC;
-		}
-		break;
-	case IWN_HW_REV_TYPE_6050:
-		sc->limits = &iwn6000_sensitivity_limits;
-		sc->fwname = "iwn6050fw";
-		/* Override chains masks, ROM is known to be broken. */
-		sc->txchainmask = IWN_ANT_AB;
-		sc->rxchainmask = IWN_ANT_AB;
-		/* Enable normal btcoex */
-		sc->sc_flags |= IWN_FLAG_BTCOEX;
-		break;
-	case IWN_HW_REV_TYPE_6005:
-		sc->limits = &iwn6000_sensitivity_limits;
-		if (pid != 0x0082 && pid != 0x0085) {
-			sc->fwname = "iwn6000g2bfw";
-			sc->sc_flags |= IWN_FLAG_ADV_BTCOEX;
-		} else {
-			sc->fwname = "iwn6000g2afw";
-			/*
-			 * 6250 - disable bluetooth coexistence.
-			 */
-		}
-		break;
-	default:
-		device_printf(sc->sc_dev, "adapter type %d not supported\n",
-		    sc->hw_type);
-		DPRINTF(sc, IWN_DEBUG_TRACE, "->%s: end in error\n",__func__);
-		return ENOTSUP;
-	}
-	if (sc->sc_flags & IWN_FLAG_BTCOEX)
-		device_printf(sc->sc_dev,
-		    "enable basic bluetooth coexistence\n");
-	else if (sc->sc_flags & IWN_FLAG_ADV_BTCOEX)
-		device_printf(sc->sc_dev,
-		    "enable advanced bluetooth coexistence\n");
-	else
-		device_printf(sc->sc_dev,
-		    "disable bluetooth coexistence\n");
 	return 0;
 }
 
@@ -1154,7 +1535,7 @@ iwn_init_otprom(struct iwn_softc *sc)
 	iwn_nic_unlock(sc);
 
 	/* Set auto clock gate disable bit for HW with OTP shadow RAM. */
-	if (sc->hw_type != IWN_HW_REV_TYPE_1000) {
+	if (sc->base_params->shadow_ram_support) {
 		IWN_SETBITS(sc, IWN_DBG_LINK_PWR_MGMT,
 		    IWN_RESET_LINK_PWR_MGMT_DIS);
 	}
@@ -1167,11 +1548,12 @@ iwn_init_otprom(struct iwn_softc *sc)
 	 * Find the block before last block (contains the EEPROM image)
 	 * for HW without OTP shadow RAM.
 	 */
-	if (sc->hw_type == IWN_HW_REV_TYPE_1000) {
+	if (! sc->base_params->shadow_ram_support) {
 		/* Switch to absolute addressing mode. */
 		IWN_CLRBITS(sc, IWN_OTP_GP, IWN_OTP_GP_RELATIVE_ACCESS);
 		base = prev = 0;
-		for (count = 0; count < IWN1000_OTP_NBLOCKS; count++) {
+		for (count = 0; count < sc->base_params->max_ll_items;
+		    count++) {
 			error = iwn_read_prom_data(sc, base, &next, 2);
 			if (error != 0)
 				return error;
@@ -1180,7 +1562,7 @@ iwn_init_otprom(struct iwn_softc *sc)
 			prev = base;
 			base = le16toh(next);
 		}
-		if (count == 0 || count == IWN1000_OTP_NBLOCKS)
+		if (count == 0 || count == sc->base_params->max_ll_items)
 			return EIO;
 		/* Skip "next" word. */
 		sc->prom_base = prev + 1;
@@ -1830,15 +2212,12 @@ iwn5000_read_eeprom(struct iwn_softc *sc
 
 	/* Read the list of authorized channels (20MHz ones only). */
 	for (i = 0; i < IWN_NBANDS - 1; i++) {
-		if (sc->hw_type >= IWN_HW_REV_TYPE_6000)
-			addr = base + iwn6000_regulatory_bands[i];
-		else
-			addr = base + iwn5000_regulatory_bands[i];
+		addr =  base + sc->base_params->regulatory_bands[i];
 		iwn_read_eeprom_channels(sc, i, addr);
 	}
 
 	/* Read enhanced TX power information for 6000 Series. */
-	if (sc->hw_type >= IWN_HW_REV_TYPE_6000)
+	if (sc->base_params->enhanced_TX_power)
 		iwn_read_eeprom_enhinfo(sc);
 
 	iwn_read_prom_data(sc, IWN5000_EEPROM_CAL, &val, 2);
@@ -1849,6 +2228,14 @@ iwn5000_read_eeprom(struct iwn_softc *sc
 	    hdr.version, hdr.pa_type, le16toh(hdr.volt));
 	sc->calib_ver = hdr.version;
 
+	if (sc->base_params->calib_need & IWN_FLG_NEED_PHY_CALIB_TEMP_OFFSETv2) {
+		sc->eeprom_voltage = le16toh(hdr.volt);
+		iwn_read_prom_data(sc, base + IWN5000_EEPROM_TEMP, &val, 2);
+		sc->eeprom_temp_high=le16toh(val);
+		iwn_read_prom_data(sc, base + IWN5000_EEPROM_VOLT, &val, 2);
+		sc->eeprom_temp = le16toh(val);
+	}
+
 	if (sc->hw_type == IWN_HW_REV_TYPE_5150) {
 		/* Compute temperature offset. */
 		iwn_read_prom_data(sc, base + IWN5000_EEPROM_TEMP, &val, 2);
@@ -2698,25 +3085,24 @@ iwn5000_rx_calib_results(struct iwn_soft
 
 	switch (calib->code) {
 	case IWN5000_PHY_CALIB_DC:
-		if ((sc->sc_flags & IWN_FLAG_INTERNAL_PA) == 0 &&
-		    (sc->hw_type == IWN_HW_REV_TYPE_5150 ||
-		     sc->hw_type >= IWN_HW_REV_TYPE_6000) &&
-		     sc->hw_type != IWN_HW_REV_TYPE_6050)
+		if (sc->base_params->calib_need & IWN_FLG_NEED_PHY_CALIB_DC)
 			idx = 0;
 		break;
 	case IWN5000_PHY_CALIB_LO:
-		idx = 1;
+		if (sc->base_params->calib_need & IWN_FLG_NEED_PHY_CALIB_LO)
+			idx = 1;
 		break;
 	case IWN5000_PHY_CALIB_TX_IQ:
-		idx = 2;
+		if (sc->base_params->calib_need & IWN_FLG_NEED_PHY_CALIB_TX_IQ)
+			idx = 2;
 		break;
 	case IWN5000_PHY_CALIB_TX_IQ_PERIODIC:
-		if (sc->hw_type < IWN_HW_REV_TYPE_6000 &&
-		    sc->hw_type != IWN_HW_REV_TYPE_5150)
+		if (sc->base_params->calib_need & IWN_FLG_NEED_PHY_CALIB_TX_IQ_PERIODIC)
 			idx = 3;
 		break;
 	case IWN5000_PHY_CALIB_BASE_BAND:
-		idx = 4;
+		if (sc->base_params->calib_need & IWN_FLG_NEED_PHY_CALIB_BASE_BAND)
+			idx = 4;
 		break;
 	}
 	if (idx == -1)	/* Ignore other results. */
@@ -2733,7 +3119,7 @@ iwn5000_rx_calib_results(struct iwn_soft
 		return;
 	}
 	DPRINTF(sc, IWN_DEBUG_CALIBRATE,
-	    "saving calibration result code=%d len=%d\n", calib->code, len);
+	    "saving calibration result idx=%d, code=%d len=%d\n", idx, calib->code, len);
 	sc->calibcmd[idx].len = len;
 	memcpy(sc->calibcmd[idx].buf, calib, len);
 }
@@ -2947,12 +3333,19 @@ iwn_tx_done(struct iwn_softc *sc, struct
 static void
 iwn_cmd_done(struct iwn_softc *sc, struct iwn_rx_desc *desc)
 {
-	struct iwn_tx_ring *ring = &sc->txq[4];
+	struct iwn_tx_ring *ring;
 	struct iwn_tx_data *data;
+	int cmd_queue_num;
 
-	if ((desc->qid & 0xf) != 4)
+	if (sc->sc_flags & IWN_FLAG_PAN_SUPPORT)
+		cmd_queue_num = IWN_PAN_CMD_QUEUE;
+	else
+		cmd_queue_num = IWN_CMD_QUEUE_NUM;
+
+	if ((desc->qid & IWN_RX_DESC_QID_MSK) != cmd_queue_num)
 		return;	/* Not a command ack. */
 
+	ring = &sc->txq[cmd_queue_num];
 	data = &ring->data[desc->idx];
 
 	/* If the command was mapped in an mbuf, free it. */
@@ -3862,8 +4255,15 @@ iwn_tx_data(struct iwn_softc *sc, struct
 	data->m = m;
 	data->ni = ni;
 
-	DPRINTF(sc, IWN_DEBUG_XMIT, "%s: qid %d idx %d len %d nsegs %d\n",
-	    __func__, ring->qid, ring->cur, m->m_pkthdr.len, nsegs);
+	DPRINTF(sc, IWN_DEBUG_XMIT,
+	    "%s: qid %d idx %d len %d nsegs %d rate %04x plcp 0x%08x\n",
+	    __func__,
+	    ring->qid,
+	    ring->cur,
+	    m->m_pkthdr.len,
+	    nsegs,
+	    rate,
+	    tx->rate);
 
 	/* Fill TX descriptor. */
 	desc->nsegs = 1;
@@ -4261,19 +4661,26 @@ iwn_ioctl(struct ifnet *ifp, u_long cmd,
 static int
 iwn_cmd(struct iwn_softc *sc, int code, const void *buf, int size, int async)
 {
-	struct iwn_tx_ring *ring = &sc->txq[4];
+	struct iwn_tx_ring *ring;
 	struct iwn_tx_desc *desc;
 	struct iwn_tx_data *data;
 	struct iwn_tx_cmd *cmd;
 	struct mbuf *m;
 	bus_addr_t paddr;
 	int totlen, error;
+	int cmd_queue_num;
 
 	DPRINTF(sc, IWN_DEBUG_TRACE, "->%s begin\n", __func__);
 
 	if (async == 0)
 		IWN_LOCK_ASSERT(sc);
 
+	if (sc->sc_flags & IWN_FLAG_PAN_SUPPORT)
+		cmd_queue_num = IWN_PAN_CMD_QUEUE;
+	else
+		cmd_queue_num = IWN_CMD_QUEUE_NUM;
+
+	ring = &sc->txq[cmd_queue_num];
 	desc = &ring->desc[ring->cur];
 	data = &ring->data[ring->cur];
 	totlen = 4 + size;
@@ -4382,7 +4789,7 @@ iwn_set_link_quality(struct iwn_softc *s
 	linkq.id = wn->id;
 	linkq.antmsk_1stream = txant;
 	linkq.antmsk_2stream = IWN_ANT_AB;
-	linkq.ampdu_max = 64;
+	linkq.ampdu_max = 32;		/* XXX negotiated? */
 	linkq.ampdu_threshold = 3;
 	linkq.ampdu_limit = htole16(4000);	/* 4ms */
 
@@ -4400,6 +4807,9 @@ iwn_set_link_quality(struct iwn_softc *s
 	}
 
 	/* Start at highest available bit-rate. */
+	/*
+	 * XXX this is all very dirty!
+	 */
 	if (is_11n)
 		txrate = ni->ni_htrates.rs_nrates - 1;
 	else
@@ -4412,6 +4822,13 @@ iwn_set_link_quality(struct iwn_softc *s
 		else
 			rate = RV(rs->rs_rates[txrate]);
 
+		DPRINTF(sc, IWN_DEBUG_XMIT,
+		    "%s: i=%d, txrate=%d, rate=0x%02x\n",
+		    __func__,
+		    i,
+		    txrate,
+		    rate);
+
 		/* Do rate -> PLCP config mapping */
 		plcp = iwn_rate_to_plcp(sc, ni, rate);
 		linkq.retry[i] = plcp;
@@ -5412,25 +5829,74 @@ iwn_send_advanced_btcoex(struct iwn_soft
 		0xc0004000, 0x00004000, 0xf0005000, 0xf0005000,
 	};
 	struct iwn6000_btcoex_config btconfig;
+	struct iwn2000_btcoex_config btconfig2k;
 	struct iwn_btcoex_priotable btprio;
 	struct iwn_btcoex_prot btprot;
 	int error, i;
+	uint8_t flags;
 
 	memset(&btconfig, 0, sizeof btconfig);
-	btconfig.flags = 145;
-	btconfig.max_kill = 5;
-	btconfig.bt3_t7_timer = 1;
-	btconfig.kill_ack = htole32(0xffff0000);
-	btconfig.kill_cts = htole32(0xffff0000);
-	btconfig.sample_time = 2;
-	btconfig.bt3_t2_timer = 0xc;
-	for (i = 0; i < 12; i++)
-		btconfig.lookup_table[i] = htole32(btcoex_3wire[i]);
-	btconfig.valid = htole16(0xff);
-	btconfig.prio_boost = 0xf0;
-	DPRINTF(sc, IWN_DEBUG_RESET,
-	    "%s: configuring advanced bluetooth coexistence\n", __func__);
-	error = iwn_cmd(sc, IWN_CMD_BT_COEX, &btconfig, sizeof(btconfig), 1);
+	memset(&btconfig2k, 0, sizeof btconfig2k);
+
+	flags = IWN_BT_FLAG_COEX6000_MODE_3W <<
+	    IWN_BT_FLAG_COEX6000_MODE_SHIFT; // Done as is in linux kernel 3.2
+
+	if (sc->base_params->bt_sco_disable)
+		flags &= ~IWN_BT_FLAG_SYNC_2_BT_DISABLE;
+	else
+		flags |= IWN_BT_FLAG_SYNC_2_BT_DISABLE;
+
+	flags |= IWN_BT_FLAG_COEX6000_CHAN_INHIBITION;
+
+	/* Default flags result is 145 as old value */
+
+	/*
+	 * Flags value has to be review. Values must change if we
+	 * which to disable it
+	 */
+	if (sc->base_params->bt_session_2) {
+		btconfig2k.flags = flags;
+		btconfig2k.max_kill = 5;
+		btconfig2k.bt3_t7_timer = 1;
+		btconfig2k.kill_ack = htole32(0xffff0000);
+		btconfig2k.kill_cts = htole32(0xffff0000);
+		btconfig2k.sample_time = 2;
+		btconfig2k.bt3_t2_timer = 0xc;
+
+		for (i = 0; i < 12; i++)
+			btconfig2k.lookup_table[i] = htole32(btcoex_3wire[i]);
+		btconfig2k.valid = htole16(0xff);
+		btconfig2k.prio_boost = htole32(0xf0);
+		DPRINTF(sc, IWN_DEBUG_RESET,
+		    "%s: configuring advanced bluetooth coexistence"
+		    " session 2, flags : 0x%x\n",
+		    __func__,
+		    flags);
+		error = iwn_cmd(sc, IWN_CMD_BT_COEX, &btconfig2k,
+		    sizeof(btconfig2k), 1);
+	} else {
+		btconfig.flags = flags;
+		btconfig.max_kill = 5;
+		btconfig.bt3_t7_timer = 1;
+		btconfig.kill_ack = htole32(0xffff0000);
+		btconfig.kill_cts = htole32(0xffff0000);
+		btconfig.sample_time = 2;
+		btconfig.bt3_t2_timer = 0xc;
+
+		for (i = 0; i < 12; i++)
+			btconfig.lookup_table[i] = htole32(btcoex_3wire[i]);
+		btconfig.valid = htole16(0xff);
+		btconfig.prio_boost = 0xf0;
+		DPRINTF(sc, IWN_DEBUG_RESET,
+		    "%s: configuring advanced bluetooth coexistence,"
+		    " flags : 0x%x\n",
+		    __func__,
+		    flags);
+		error = iwn_cmd(sc, IWN_CMD_BT_COEX, &btconfig,
+		    sizeof(btconfig), 1);
+	}
+
+
 	if (error != 0)
 		return error;
 
@@ -5485,13 +5951,32 @@ iwn_config(struct iwn_softc *sc)
 
 	DPRINTF(sc, IWN_DEBUG_TRACE, "->%s begin\n", __func__);
 
-	if (sc->hw_type == IWN_HW_REV_TYPE_6005) {
-		/* Set radio temperature sensor offset. */
+	if ((sc->base_params->calib_need & IWN_FLG_NEED_PHY_CALIB_TEMP_OFFSET)
+	    && (sc->base_params->calib_need & IWN_FLG_NEED_PHY_CALIB_TEMP_OFFSETv2)) {
+		device_printf(sc->sc_dev,"%s: temp_offset and temp_offsetv2 are"
+		    " exclusive each together. Review NIC config file. Conf"
+		    " :  0x%08x Flags :  0x%08x  \n", __func__,
+		    sc->base_params->calib_need,
+		    (IWN_FLG_NEED_PHY_CALIB_TEMP_OFFSET |
+		    IWN_FLG_NEED_PHY_CALIB_TEMP_OFFSETv2));
+		return (EINVAL);
+	}
+
+	/* Compute temperature calib if needed. Will be send by send calib */
+	if (sc->base_params->calib_need & IWN_FLG_NEED_PHY_CALIB_TEMP_OFFSET) {
 		error = iwn5000_temp_offset_calib(sc);
 		if (error != 0) {
 			device_printf(sc->sc_dev,
 			    "%s: could not set temperature offset\n", __func__);
-			return error;
+			return (error);
+		}
+	} else if (sc->base_params->calib_need & IWN_FLG_NEED_PHY_CALIB_TEMP_OFFSETv2) {
+		error = iwn5000_temp_offset_calibv2(sc);
+		if (error != 0) {
+			device_printf(sc->sc_dev,
+			    "%s: could not compute temperature offset v2\n",
+			    __func__);
+			return (error);
 		}
 	}
 
@@ -5523,10 +6008,13 @@ iwn_config(struct iwn_softc *sc)
 
 	/* Configure bluetooth coexistence. */
 	error = 0;
-	if (sc->sc_flags & IWN_FLAG_ADV_BTCOEX)
+
+	/* Configure bluetooth coexistence if needed. */
+	if (sc->base_params->bt_mode == IWN_BT_ADVANCED)
 		error = iwn_send_advanced_btcoex(sc);
-	else if (sc->sc_flags & IWN_FLAG_BTCOEX)
+	if (sc->base_params->bt_mode == IWN_BT_SIMPLE)
 		error = iwn_send_btcoex(sc);
+
 	if (error != 0) {
 		device_printf(sc->sc_dev,
 		    "%s: could not configure bluetooth coexistence, error %d\n",
@@ -6335,9 +6823,20 @@ iwn5000_send_calibration(struct iwn_soft
 {
 	int idx, error;
 
-	for (idx = 0; idx < 5; idx++) {
-		if (sc->calibcmd[idx].buf == NULL)
-			continue;	/* No results available. */
+	for (idx = 0; idx < IWN5000_PHY_CALIB_MAX_RESULT; idx++) {
+		if (!(sc->base_params->calib_need & (1<<idx))) {
+			DPRINTF(sc, IWN_DEBUG_CALIBRATE,
+			    "No need of calib %d\n",
+			    idx);
+			continue; /* no need for this calib */
+		}
+		if (sc->calibcmd[idx].buf == NULL) {
+			DPRINTF(sc, IWN_DEBUG_CALIBRATE,
+			    "Need calib idx : %d but no available data\n",
+			    idx);
+			continue;
+		}
+
 		DPRINTF(sc, IWN_DEBUG_CALIBRATE,
 		    "send calibration result idx=%d len=%d\n", idx,
 		    sc->calibcmd[idx].len);
@@ -6414,6 +6913,33 @@ iwn5000_temp_offset_calib(struct iwn_sof
 	return iwn_cmd(sc, IWN_CMD_PHY_CALIB, &cmd, sizeof cmd, 0);
 }
 
+static int
+iwn5000_temp_offset_calibv2(struct iwn_softc *sc)
+{
+	struct iwn5000_phy_calib_temp_offsetv2 cmd;
+
+	memset(&cmd, 0, sizeof cmd);
+	cmd.code = IWN5000_PHY_CALIB_TEMP_OFFSET;

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

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 06:14:12 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id B384AE2E;
 Tue, 12 Nov 2013 06:14:12 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id A37442212;
 Tue, 12 Nov 2013 06:14:12 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAC6ECkf003034;
 Tue, 12 Nov 2013 06:14:12 GMT (envelope-from markj@svn.freebsd.org)
Received: (from markj@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAC6EC6b003033;
 Tue, 12 Nov 2013 06:14:12 GMT (envelope-from markj@svn.freebsd.org)
Message-Id: <201311120614.rAC6EC6b003033@svn.freebsd.org>
From: Mark Johnston <markj@FreeBSD.org>
Date: Tue, 12 Nov 2013 06:14:12 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258036 - head/sys/dev/usb
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 06:14:12 -0000

Author: markj
Date: Tue Nov 12 06:14:12 2013
New Revision: 258036
URL: http://svnweb.freebsd.org/changeset/base/258036

Log:
  Add IDs for the ASIX 88179 and 88178A USB to GigE adapters.

Modified:
  head/sys/dev/usb/usbdevs

Modified: head/sys/dev/usb/usbdevs
==============================================================================
--- head/sys/dev/usb/usbdevs	Tue Nov 12 05:58:23 2013	(r258035)
+++ head/sys/dev/usb/usbdevs	Tue Nov 12 06:14:12 2013	(r258036)
@@ -1121,6 +1121,8 @@ product ASANTE EA		0x1427	Ethernet
 /* ASIX Electronics products */
 product ASIX AX88172		0x1720	10/100 Ethernet
 product ASIX AX88178		0x1780	AX88178
+product ASIX AX88178A		0x178a	AX88178A USB 2.0 10/100/1000 Ethernet
+product ASIX AX88179		0x1790	AX88179 USB 3.0 10/100/1000 Ethernet
 product ASIX AX88772		0x7720	AX88772
 product ASIX AX88772A		0x772a	AX88772A USB 2.0 10/100 Ethernet
 product ASIX AX88772B		0x772b	AX88772B USB 2.0 10/100 Ethernet

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 08:01:59 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 902A5DFC;
 Tue, 12 Nov 2013 08:01:59 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 7F8B7277D;
 Tue, 12 Nov 2013 08:01:59 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAC81xkU038813;
 Tue, 12 Nov 2013 08:01:59 GMT (envelope-from kib@svn.freebsd.org)
Received: (from kib@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAC81xUB038812;
 Tue, 12 Nov 2013 08:01:59 GMT (envelope-from kib@svn.freebsd.org)
Message-Id: <201311120801.rAC81xUB038812@svn.freebsd.org>
From: Konstantin Belousov <kib@FreeBSD.org>
Date: Tue, 12 Nov 2013 08:01:59 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject: svn commit: r258037 - stable/10/sys/vm
X-SVN-Group: stable-10
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 08:01:59 -0000

Author: kib
Date: Tue Nov 12 08:01:58 2013
New Revision: 258037
URL: http://svnweb.freebsd.org/changeset/base/258037

Log:
  MFC r257680:
  Do not coalesce if the swap object belongs to tmpfs vnode.
  
  Approved by:	re (glebius)

Modified:
  stable/10/sys/vm/vm_object.c
Directory Properties:
  stable/10/sys/   (props changed)

Modified: stable/10/sys/vm/vm_object.c
==============================================================================
--- stable/10/sys/vm/vm_object.c	Tue Nov 12 06:14:12 2013	(r258036)
+++ stable/10/sys/vm/vm_object.c	Tue Nov 12 08:01:58 2013	(r258037)
@@ -2099,8 +2099,9 @@ vm_object_coalesce(vm_object_t prev_obje
 	if (prev_object == NULL)
 		return (TRUE);
 	VM_OBJECT_WLOCK(prev_object);
-	if (prev_object->type != OBJT_DEFAULT &&
-	    prev_object->type != OBJT_SWAP) {
+	if ((prev_object->type != OBJT_DEFAULT &&
+	    prev_object->type != OBJT_SWAP) ||
+	    (prev_object->flags & OBJ_TMPFS) != 0) {
 		VM_OBJECT_WUNLOCK(prev_object);
 		return (FALSE);
 	}

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 08:47:59 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 102C9E6E;
 Tue, 12 Nov 2013 08:47:59 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id F3CB92A29;
 Tue, 12 Nov 2013 08:47:58 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAC8lwvc053237;
 Tue, 12 Nov 2013 08:47:58 GMT (envelope-from kib@svn.freebsd.org)
Received: (from kib@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAC8lwi8053235;
 Tue, 12 Nov 2013 08:47:58 GMT (envelope-from kib@svn.freebsd.org)
Message-Id: <201311120847.rAC8lwi8053235@svn.freebsd.org>
From: Konstantin Belousov <kib@FreeBSD.org>
Date: Tue, 12 Nov 2013 08:47:58 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258039 - in head/sys: kern vm
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 08:47:59 -0000

Author: kib
Date: Tue Nov 12 08:47:58 2013
New Revision: 258039
URL: http://svnweb.freebsd.org/changeset/base/258039

Log:
  Avoid overflow for the page counts.
  
  Reported and tested by:	pho
  Sponsored by:	The FreeBSD Foundation
  MFC after:	1 week

Modified:
  head/sys/kern/vfs_vnops.c
  head/sys/vm/vm_fault.c

Modified: head/sys/kern/vfs_vnops.c
==============================================================================
--- head/sys/kern/vfs_vnops.c	Tue Nov 12 08:32:10 2013	(r258038)
+++ head/sys/kern/vfs_vnops.c	Tue Nov 12 08:47:58 2013	(r258039)
@@ -933,8 +933,9 @@ vn_io_fault(struct file *fp, struct uio 
 	void *rl_cookie;
 	struct mount *mp;
 	vm_page_t *prev_td_ma;
-	int cnt, error, save, saveheld, prev_td_ma_cnt;
+	int error, save, saveheld, prev_td_ma_cnt;
 	vm_offset_t addr, end;
+	vm_size_t cnt;
 	vm_prot_t prot;
 	size_t len, resid;
 	ssize_t adv;

Modified: head/sys/vm/vm_fault.c
==============================================================================
--- head/sys/vm/vm_fault.c	Tue Nov 12 08:32:10 2013	(r258038)
+++ head/sys/vm/vm_fault.c	Tue Nov 12 08:47:58 2013	(r258039)
@@ -1074,7 +1074,7 @@ vm_fault_quick_hold_pages(vm_map_t map, 
 {
 	vm_offset_t end, va;
 	vm_page_t *mp;
-	int count;
+	vm_size_t count;
 	boolean_t pmap_failed;
 
 	if (len == 0)

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 09:02:37 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 9ECC13B6;
 Tue, 12 Nov 2013 09:02:37 +0000 (UTC)
Received: from mail109.syd.optusnet.com.au (mail109.syd.optusnet.com.au
 [211.29.132.80])
 by mx1.freebsd.org (Postfix) with ESMTP id 511692B18;
 Tue, 12 Nov 2013 09:02:36 +0000 (UTC)
Received: from c122-106-156-23.carlnfd1.nsw.optusnet.com.au
 (c122-106-156-23.carlnfd1.nsw.optusnet.com.au [122.106.156.23])
 by mail109.syd.optusnet.com.au (Postfix) with ESMTPS id DCF55D62B83;
 Tue, 12 Nov 2013 20:02:26 +1100 (EST)
Date: Tue, 12 Nov 2013 20:02:25 +1100 (EST)
From: Bruce Evans <brde@optusnet.com.au>
X-X-Sender: bde@besplex.bde.org
To: Dimitry Andric <dim@FreeBSD.org>
Subject: Re: svn commit: r258016 - head/sys/i386/conf
In-Reply-To: <201311112116.rABLGulr021023@svn.freebsd.org>
Message-ID: <20131112190919.D1059@besplex.bde.org>
References: <201311112116.rABLGulr021023@svn.freebsd.org>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
X-Optus-CM-Score: 0
X-Optus-CM-Analysis: v=2.1 cv=bpB1Wiqi c=1 sm=1 tr=0
 a=ebeQFi2P/qHVC0Yw9JDJ4g==:117 a=PO7r1zJSAAAA:8 a=2GcSZCsbw90A:10
 a=kj9zAlcOel0A:10 a=JzwRw_2MAAAA:8 a=p0uFSuVCeJIA:10
 a=utdg7qceU81CC6U69F8A:9 a=CjuIK1q_8ugA:10
Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org,
 src-committers@FreeBSD.org
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 09:02:37 -0000

On Mon, 11 Nov 2013, Dimitry Andric wrote:

> Log:
>  Disable building the ctl module for the i386 XEN kernel configuration
>  for now, since it causes gcc warnings about casting 64 bit bus_addr_t's
>  to 32 bit pointers, and vice versa.

Why not disable clang, since it is incompatible? :-)/2

The warning is needed because detecting invalid conversions between pointers
and integers is difficult without it.  You have to cast to prevent errors,
but it is too easy to use a cast that doesn't work.

Similarly for -Wcast-qual, except an error for it is less needed.  This
is broken in clang too:

 	void *p;
 	const void *q;

 	/* Constraint error (C90 6.3.16.1): */
 	p = q;
 	/*
 	 * This is correctly handled by TenDRA (4.2*).  It is an error, and
 	 * TenDRA tells you the C90 section.
 	 *
 	 * This is incorrectly handled by gcc.  It is only a warning (even
 	 * with -pedantic).  gcc doesn't tell you the standard section.
 	 *
 	 * This is incorrectly handled by clang.  It is only a warning (even
 	 * with -pedantic).  clang doesn't tell you the standard section.
 	 * It prints more verbose and less useful message telling you that
 	 * this is controlled by
 	 * -Wincompatible-pointer-types-discards-qualifiers.  Turning this
 	 * off gives a non-C compiler that doesn't even warn for the error.
 	 */

 	/* Cast to prevent the error: */
 	p = (void *)q;
 	/*
 	 * This quietens TenDRA, gcc and clang.
 	 *
 	 * This can be be too quiet, so gcc has a -Wcast-qual feature to
 	 * turn the warning back on.  FreeBSD uses this excessively, and
 	 * this has resulted in some correct const poisoning and some
 	 * abominations like __DECONST() and its use.
 	 *
 	 * But -Wcast-qual is just broken in clang.  It has no effect for
 	 * the above, even with -pedantic.  I don't know of any
 	 * -Wno-broken-cast-qual flag to fix this.
 	 */

 	/* The error can also be prevented by casting through an integer: */
 	p = (void *)(void *)(uintptr_t)(const volatile void *)q;
 	/*
 	 * First we cast to (const volatile void *) to get a pointer on which
 	 * uintptr_t is useful (in case q is not already a qualified void *).
 	 * Then we cast to uintptr_t.  This exploits the bug that -Wcast-qual
 	 * is broken for conversions to integers even for gcc.  There should
 	 * be a way to avoid -Wcast-qual, but not this normal cast.  The
 	 * __DE*() abominations use this.  Then we cast to (void *) to get
 	 * the same result as casting the original pointer to (void *) without
 	 * the -Wcast-qual warning.  The __DE*() abominations are ugly, but
 	 * not ugly enough to do this correctly.  They assume that all pointers
 	 * have the same representation.  Finally, we cast to the lvalue's
 	 * type, in case this is not (void *).  __DE*() has a parameter for
 	 * this.  Actually, this step is not needed, except in C++ or when
 	 * the final type is an integer (this integer type must be either
 	 * intptr_t or uintptr_t to work and to avoid warnings from gcc).
 	 */

Bruce

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 10:44:42 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 3A55E889;
 Tue, 12 Nov 2013 10:44:42 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 2A156218A;
 Tue, 12 Nov 2013 10:44:42 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rACAig5X093974;
 Tue, 12 Nov 2013 10:44:42 GMT (envelope-from trasz@svn.freebsd.org)
Received: (from trasz@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rACAigGi093973;
 Tue, 12 Nov 2013 10:44:42 GMT (envelope-from trasz@svn.freebsd.org)
Message-Id: <201311121044.rACAigGi093973@svn.freebsd.org>
From: Edward Tomasz Napierala <trasz@FreeBSD.org>
Date: Tue, 12 Nov 2013 10:44:42 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258041 - head/lib/libc/posix1e
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 10:44:42 -0000

Author: trasz
Date: Tue Nov 12 10:44:41 2013
New Revision: 258041
URL: http://svnweb.freebsd.org/changeset/base/258041

Log:
  Mention acl_get_brand_np(3).
  
  MFC after:	2 weeks
  Sponsored by:	The FreeBSD Foundation

Modified:
  head/lib/libc/posix1e/acl.3

Modified: head/lib/libc/posix1e/acl.3
==============================================================================
--- head/lib/libc/posix1e/acl.3	Tue Nov 12 10:40:50 2013	(r258040)
+++ head/lib/libc/posix1e/acl.3	Tue Nov 12 10:44:41 2013	(r258041)
@@ -27,7 +27,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd June 25, 2009
+.Dd November 12, 2013
 .Dt ACL 3
 .Os
 .Sh NAME
@@ -131,6 +131,10 @@ This function is described in
 .Xr acl_from_text 3 ,
 and may be used to convert a text-form ACL into working ACL state, if
 the ACL has POSIX.1e or NFSv4 semantics.
+.It Fn acl_get_brand_np
+This function is described in
+.Xr acl_get_brand_np 3
+and may be used to determine whether the ACL has POSIX.1e or NFSv4 semantics.
 .It Fn acl_get_entry
 This function is described in
 .Xr acl_get_entry 3 ,
@@ -248,6 +252,7 @@ library.
 .Xr acl_free 3 ,
 .Xr acl_from_text 3 ,
 .Xr acl_get 3 ,
+.Xr acl_get_brand_np 3 ,
 .Xr acl_get_entry_type_np 3 ,
 .Xr acl_get_flagset_np 3 ,
 .Xr acl_get_permset 3 ,

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 11:13:59 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id EC910565;
 Tue, 12 Nov 2013 11:13:59 +0000 (UTC)
Received: from mail107.syd.optusnet.com.au (mail107.syd.optusnet.com.au
 [211.29.132.53])
 by mx1.freebsd.org (Postfix) with ESMTP id 6B3E52389;
 Tue, 12 Nov 2013 11:13:59 +0000 (UTC)
Received: from c122-106-156-23.carlnfd1.nsw.optusnet.com.au
 (c122-106-156-23.carlnfd1.nsw.optusnet.com.au [122.106.156.23])
 by mail107.syd.optusnet.com.au (Postfix) with ESMTPS id 7714DD43887;
 Tue, 12 Nov 2013 22:13:48 +1100 (EST)
Date: Tue, 12 Nov 2013 22:13:46 +1100 (EST)
From: Bruce Evans <brde@optusnet.com.au>
X-X-Sender: bde@besplex.bde.org
To: Konstantin Belousov <kib@freebsd.org>
Subject: Re: svn commit: r258039 - in head/sys: kern vm
In-Reply-To: <201311120847.rAC8lwi8053235@svn.freebsd.org>
Message-ID: <20131112215200.Y1480@besplex.bde.org>
References: <201311120847.rAC8lwi8053235@svn.freebsd.org>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
X-Optus-CM-Score: 0
X-Optus-CM-Analysis: v=2.1 cv=DstvpgP+ c=1 sm=1 tr=0
 a=ebeQFi2P/qHVC0Yw9JDJ4g==:117 a=PO7r1zJSAAAA:8 a=rSyRge8hxN4A:10
 a=kj9zAlcOel0A:10 a=JzwRw_2MAAAA:8 a=Nkx1_21gIi4A:10
 a=vJLSphRGJJGTM60Ikw8A:9 a=l6HgkuSRgOQPMSJ2:21 a=rQehvd6613DB2eQT:21
 a=CjuIK1q_8ugA:10
Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org,
 src-committers@freebsd.org
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 11:14:00 -0000

On Tue, 12 Nov 2013, Konstantin Belousov wrote:

> Log:
>  Avoid overflow for the page counts.
>
>  Reported and tested by:	pho
>  Sponsored by:	The FreeBSD Foundation
>  MFC after:	1 week

> Modified: head/sys/kern/vfs_vnops.c
> ==============================================================================
> --- head/sys/kern/vfs_vnops.c	Tue Nov 12 08:32:10 2013	(r258038)
> +++ head/sys/kern/vfs_vnops.c	Tue Nov 12 08:47:58 2013	(r258039)
> @@ -933,8 +933,9 @@ vn_io_fault(struct file *fp, struct uio
> 	void *rl_cookie;
> 	struct mount *mp;
> 	vm_page_t *prev_td_ma;
> -	int cnt, error, save, saveheld, prev_td_ma_cnt;
> +	int error, save, saveheld, prev_td_ma_cnt;
> 	vm_offset_t addr, end;
> +	vm_size_t cnt;

int was correct for a count.  You can't possibly have the 8TB
of physical memory needed to overflow a 32-bit int page count.
It is reasonably to assume 32-bit ints.

vm mostly uses u_int for page count (starting with cnt.v_page_count
for the total number of pages in the system).  This will need to be fixed
when you have 16TB of physical memory.  This is worse than int because
it asks for sign extension bugs and for not trapping on overflow.

vm_size_t is a very bogus type for a page count.  It is the type for
(virtual only?) sizes in bytes.  Since sizes are in bytes, 32-bit
int isn't quite large enough even on 32-bit systems.

The signeness change in this asks for sign extension bugs.  In this
function, cnt is still compared with -1 after first assigning the
int result returned by vm_fault_quick_hold_pages.  vm_size_t is an
unsuitable type for holding this result, but the comparison still
works because -1 gets converted to vm_size_t and there are no sign
extension bugs in this case.

If there is an overflow error, then it is for inadequate conversion
of types in expressions like (cnt * PAGE_SIZE).  Here the only
problem seems to be in the error checking:

% 		addr = (vm_offset_t)uio_clone->uio_iov->iov_base;
% 		end = round_page(addr + len);
% 		cnt = howmany(end - trunc_page(addr), PAGE_SIZE);
% 		/*
% 		 * A perfectly misaligned address and length could cause
% 		 * both the start and the end of the chunk to use partial
% 		 * page.  +2 accounts for such a situation.
% 		 */
% 		if (cnt > io_hold_cnt + 2) {

If the parameters are untrusted, then howmany() can be almost anything,
including negative.  Assigning it to "int cnt" overflows it before it
can be checked.  I would also worry about round_page(addr + len)
overflowing.  This can overflow for even the valid range:

  	addr = base of highest page in address space
  	len = 1
  	end of page = end of address space
  	end = 0 (overflow)

io_hold_count is the constant 12, so cnt is limited to 14 if it doesn't
overflow before checking it.

There was no check for negative values.  Now there is a bogus one.  The
int could hold negative values and the range check was only from above,
so if a negative value occurred then it caused worse problems later.
Now, if howmany() is negative then the negative value is corrupted to
a large unsigned one.  This exceeds 14, so it is reduced to 12 and doesn't
cause further problems, at least from its size.  Checking for negative
values in the old version and converting them to 12 would have worked
much the same.

> 	vm_prot_t prot;
> 	size_t len, resid;
> 	ssize_t adv;
>
> Modified: head/sys/vm/vm_fault.c
> ==============================================================================
> --- head/sys/vm/vm_fault.c	Tue Nov 12 08:32:10 2013	(r258038)
> +++ head/sys/vm/vm_fault.c	Tue Nov 12 08:47:58 2013	(r258039)
> @@ -1074,7 +1074,7 @@ vm_fault_quick_hold_pages(vm_map_t map,
> {
> 	vm_offset_t end, va;
> 	vm_page_t *mp;
> -	int count;
> +	vm_size_t count;
> 	boolean_t pmap_failed;
>
> 	if (len == 0)
>

This has similar code, but more robust checking and I think it can almost
rule out bad args:

% 	if (len == 0)
% 		return (0);
% 	end = round_page(addr + len);
% 	addr = trunc_page(addr);
% 
% 	/*
% 	 * Check for illegal addresses.
% 	 */
% 	if (addr < vm_map_min(map) || addr > end || end > vm_map_max(map))
% 		return (-1);
% 
% 	count = howmany(end - addr, PAGE_SIZE);
% 	if (count > max_count)
% 		panic("vm_fault_quick_hold_pages: count > max_count");

It checks for illegal addresses after allowing round_page() to overflow.
I think trunc_page() can't overflow.  The check detects overflow in
round_page(addr + len).  So howmany() can't be negative, and the
end > vm_map_max(map) check should prevent it overflowing to 0.  It
can only be very large if we will panic anyway.  But it is technically
incorrect to assign it to "int count" before checking that it fits in
an int.  There are no problems with breaking the type of 'count', since
the above range-checks it to fit in an int, and later uses of it just
return or use it as an int.

This is easy to fix by doing some up-front check that len is not too
large (not more than max_count * PAGE_SIZE after adjusting it to cover
full pages).  We should be careful that max_count * PAGE size doesn't
overflow, and it seems better to not do that multiplication.  The
adjusted length is (end - addr).  This is a difference of vm_offset_t's
and can be represented in a size_t (like len), but can be left in the
expression's result type which is usually vm_offset_t.  Since the result
it is a multiple of PAGE_SIZE, howmany() is not needed and we can just
divide it by PAGE_SIZE.
    (vm rarely uses howmany(), and this use is just a style bug.  vm uses
    macros like btoc() and atop() to convert byte counts to page counts.
    There are a lot of style bugs and logic errors in these too.  btoc()
    converts to "clicks" and code that uses it assumes that clicks are
    pages.  The better named btop() is never used in MI vm code.  atop()
    converts addresses from bytes to pages, but is more often abused to
    convert sizes from bytes to pages.  Some code is so uncouth as to not
    even use any of these macros, but hard-codes them using PAGE_SHIFT or
    PAGE_SIZE.)
So the correct spelling of the conversion to bytes seems to be btop(),
and using this spelling we get a fairly short check with repeated code:

  	if (btop(end - addr) > max_count)
  		panic("vm_fault_quick_hold_pages: count > max_count");
  	count = btop(end - addr);

This depends on btop() being a simple macro and/or the compiler only
evaluating it once for efficiency.  It avoids overflow in the sanity
test and having to find a type for the possibly-overflowing value by
not assigning the value before it is checked.

The code could be rearranged a bit to make this clearer.  vm_mmap()
and obreak() need to be even more careful since they have to check
untrusted application args, but they are too complicated to provide
good examples.

vm_size_t is already abused for page counts in at least.  I have
previously objected using u_long for page counts.  Grepping for
long shows many more errors now.  redzone.c uses caddr_t as well
as u_long, and doesn't use any vm types.

C's type system is too weak to prevent these errors, but some could
be detected by temporarily changing the type of vm_size_t, etc., to
somthing exotic so that it cannot be used without going through the
correct conversion macro.

Bruce

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 12:22:52 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id AD43D915;
 Tue, 12 Nov 2013 12:22:52 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 9D26F27BF;
 Tue, 12 Nov 2013 12:22:52 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rACCMqSo027905;
 Tue, 12 Nov 2013 12:22:52 GMT (envelope-from trasz@svn.freebsd.org)
Received: (from trasz@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rACCMqQW027904;
 Tue, 12 Nov 2013 12:22:52 GMT (envelope-from trasz@svn.freebsd.org)
Message-Id: <201311121222.rACCMqQW027904@svn.freebsd.org>
From: Edward Tomasz Napierala <trasz@FreeBSD.org>
Date: Tue, 12 Nov 2013 12:22:52 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258042 - head/lib/libc/posix1e
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 12:22:52 -0000

Author: trasz
Date: Tue Nov 12 12:22:52 2013
New Revision: 258042
URL: http://svnweb.freebsd.org/changeset/base/258042

Log:
  Fix description to actually make sense.
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  head/lib/libc/posix1e/acl_is_trivial_np.3

Modified: head/lib/libc/posix1e/acl_is_trivial_np.3
==============================================================================
--- head/lib/libc/posix1e/acl_is_trivial_np.3	Tue Nov 12 10:44:41 2013	(r258041)
+++ head/lib/libc/posix1e/acl_is_trivial_np.3	Tue Nov 12 12:22:52 2013	(r258042)
@@ -27,7 +27,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd December 13, 2010
+.Dd November 12, 2013
 .Dt ACL_STRIP_NP 3
 .Os
 .Sh NAME
@@ -56,9 +56,8 @@ ACL is trivial if it can be fully expres
 any access rules.
 For POSIX.1e ACLs, ACL is trivial if it has the three required entries,
 one for owner, one for owning group, and one for other.
-For NFSv4 ACLs, ACL is trivial if is identical to the ACL generated by
-.Fn acl_strip_np 3
-from the file mode.
+For NFSv4 ACLs, ACL is trivial if it is identical to the ACL generated by
+.Fn acl_strip_np 3 .
 Files that have non-trivial ACL have a plus sign appended after mode bits
 in "ls -l" output.
 .Sh RETURN VALUES

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 12:23:54 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id D4D98A6E;
 Tue, 12 Nov 2013 12:23:54 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id C554827D5;
 Tue, 12 Nov 2013 12:23:54 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rACCNsBw028049;
 Tue, 12 Nov 2013 12:23:54 GMT (envelope-from trasz@svn.freebsd.org)
Received: (from trasz@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rACCNs3M028048;
 Tue, 12 Nov 2013 12:23:54 GMT (envelope-from trasz@svn.freebsd.org)
Message-Id: <201311121223.rACCNs3M028048@svn.freebsd.org>
From: Edward Tomasz Napierala <trasz@FreeBSD.org>
Date: Tue, 12 Nov 2013 12:23:54 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258043 - head/lib/libc/posix1e
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 12:23:54 -0000

Author: trasz
Date: Tue Nov 12 12:23:54 2013
New Revision: 258043
URL: http://svnweb.freebsd.org/changeset/base/258043

Log:
  Fix typo.
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  head/lib/libc/posix1e/acl.3

Modified: head/lib/libc/posix1e/acl.3
==============================================================================
--- head/lib/libc/posix1e/acl.3	Tue Nov 12 12:22:52 2013	(r258042)
+++ head/lib/libc/posix1e/acl.3	Tue Nov 12 12:23:54 2013	(r258043)
@@ -206,7 +206,7 @@ This function is described in
 .Xr acl_set_tag_type 3 ,
 and may be used to set the tag type of an ACL.
 .It Fn acl_strip_np
-This function is describe din
+This function is described in
 .Xr acl-strip_np 3 ,
 and may be used to remove extended entries from an ACL.
 .It Xo

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 12:45:00 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 784B4EC2;
 Tue, 12 Nov 2013 12:45:00 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 597BF2921;
 Tue, 12 Nov 2013 12:45:00 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rACCj0fG034616;
 Tue, 12 Nov 2013 12:45:00 GMT (envelope-from loos@svn.freebsd.org)
Received: (from loos@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rACCixh5034595;
 Tue, 12 Nov 2013 12:44:59 GMT (envelope-from loos@svn.freebsd.org)
Message-Id: <201311121244.rACCixh5034595@svn.freebsd.org>
From: Luiz Otavio O Souza <loos@FreeBSD.org>
Date: Tue, 12 Nov 2013 12:44:59 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258044 - in head: share/man/man4 usr.sbin/gpioctl
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 12:45:00 -0000

Author: loos
Date: Tue Nov 12 12:44:59 2013
New Revision: 258044
URL: http://svnweb.freebsd.org/changeset/base/258044

Log:
  Adds gpioiic.4 and gpioled.4 man pages.  Moves some of the information that
  was previously available on gpio.4 to their respectives pages.  Add the
  cross references on gpioctl.8.
  
  Approved by:	adrian (mentor)

Added:
  head/share/man/man4/gpioiic.4   (contents, props changed)
  head/share/man/man4/gpioled.4   (contents, props changed)
Modified:
  head/share/man/man4/gpio.4
  head/usr.sbin/gpioctl/gpioctl.8

Modified: head/share/man/man4/gpio.4
==============================================================================
--- head/share/man/man4/gpio.4	Tue Nov 12 12:23:54 2013	(r258043)
+++ head/share/man/man4/gpio.4	Tue Nov 12 12:44:59 2013	(r258044)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd September 13, 2013
+.Dd November 5, 2013
 .Dt GPIO 4
 .Os
 .Sh NAME
@@ -34,10 +34,9 @@
 To compile these devices into your kernel and use the device hints, place the
 following lines in your kernel configuration file:
 .Bd -ragged -offset indent
-.Cd "device gpiobus"
-.Cd "device gpioiic"
 .Cd "device gpio"
 .Cd "device gpioc"
+.Cd "device gpioiic"
 .Cd "device gpioled"
 .Ed
 .Pp
@@ -76,8 +75,9 @@ architecure include:
 .Sh DESCRIPTION
 The
 .Em gpiobus
-system provides a simple interface to the bit banging style GPIO bus
-found on embedded architectures.
+system provides a simple interface to the GPIO pins that are usually
+available on embedded architectures and can provide bit banging style
+devices to the system.
 .Pp
 The acronym
 .Li GPIO
@@ -88,36 +88,20 @@ The BUS physically consists of multiple 
 for input/output, IRQ delivery, SDA/SCL
 .Em iicbus
 use, etc.
-On most embedded architechtures (mips/arm), discovery of the bus and
+.Pp
+On some embedded architechtures (like MIPS), discovery of the bus and
 configuration of the pins is done via
 .Xr device.hints 5
 in the platform's kernel
 .Xr config 5
 file.
 .Pp
-Assignment of
-.Xr gpioiic 4
-bus variables is done via:
-.Bl -tag -width ".Va hint.gpioiic.%d.atXXX"
-.It Va hint.gpioiic.%d.at
-Normally just gpiobus0.
-.It Va hint.gpioiic.%d.pins
-This is a bitmask of the pins on the gpio board that are to be used for
-SCLOCK and SDATA from the IIC bus.
-To configure pin 0 and 7, use the bitmask of
-10000001 and convert it to a hexadecimal value of 0x0081.
-Should only ever have two bits set in mask.
-.It Va hint.gpioiic.%d.scl
-Indicates which bit in the
-.Va hint.gpioiic.%d.pins
-should be used as the SCLOCK
-source.
-.It Va hint.gpioiic.%d.sda
-Indicates which bit in the
-.Va hint.gpioiic.%d.pins
-should be used as the SDATA
-source.
-.El
+On some others (like ARM), where
+.Xr FDT 4
+is used to describe the device tree, the bus discovery is done via the DTS
+passed to the kernel, being either statically compiled in, or by a variety
+of ways where the boot loader (or Open Firmware enabled system) passes the
+DTS blob to kernel at boot.
 .Pp
 The following are only provided by the
 .Cd ar71xx_gpio
@@ -141,28 +125,11 @@ This is mainly used to set/clear functio
 not setup by uBoot.
 .El
 .Pp
-These values are configureable from the
-.Xr gpioled 4
-interface and help create
-.Xr led 4
-compatible devices in
-.Pa /dev/led/<name> .
-.Bl -tag -width ".Va hint.gpioiic.%d.atXXX"
-.It Va hint.gpioled.%d.at
-Normally assigned to gpiobus0.
-.It Va hint.gpioled.%d.name
-Arbitrary name of device in
-.Pa /dev/led/
-to create for
-.Xr led 4
-interfaces.
-.It Va hint.gpioled.%d.pins
-Which pin on the GPIO interface to map to this instance.
-.El
-.Pp
 Simply put, each pin of the GPIO interface is connected to an input/output
 of some device in a system.
 .Sh SEE ALSO
+.Xr gpioiic 4 ,
+.Xr gpioled 4 ,
 .Xr iicbus 4 ,
 .Xr gpioctl 8
 .Sh HISTORY

Added: head/share/man/man4/gpioiic.4
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/share/man/man4/gpioiic.4	Tue Nov 12 12:44:59 2013	(r258044)
@@ -0,0 +1,96 @@
+.\" Copyright (c) 2013, Luiz Otavio O Souza <loos@FreeBSD.org>
+.\" 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.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd November 5, 2013
+.Dt GPIOIIC 4
+.Os
+.Sh NAME
+.Nm gpioiic
+.Nd GPIO I2C bit-banging device driver
+.Sh SYNOPSIS
+.Cd "device gpio"
+.Cd "device gpioiic"
+.Cd "device iic"
+.Cd "device iicbb"
+.Cd "device iicbus"
+.Sh DESCRIPTION
+The
+.Em gpioiic
+driver provides an IIC bit-banging interface using two GPIO pins for the
+SCL and SDA on the
+.Em gpiobus .
+.Nm
+implements an open colector kind of output, as recommended by the standard,
+when driving the pins on the
+.Em gpiobus ,
+i.e, they are never switched to the logical value of '1',
+or they are '0' or simply open (Hi-Z/tri-state).
+So the pullup resistors are required so
+.Nm
+can work.
+.Pp
+On a hint based system, like
+.Li MIPS , these values are configureable for the
+.Nm gpioiic :
+.Bl -tag -width ".Va hint.gpioiic.%d.atXXX"
+.It Va hint.gpioiic.%d.at
+The gpiobus you are attaching to.
+Normally just gpiobus0.
+.It Va hint.gpioiic.%d.pins
+This is a bitmask of the pins on the
+.Em gpiobus
+that are to be used for SCLOCK and SDATA from the GPIO IIC
+bit-banging bus.
+To configure pin 0 and 7, use the bitmask of
+10000001 and convert it to a hexadecimal value of 0x0081.
+Please note that this mask should only ever have two bits set
+(any others bits - i.e., pins - will be ignored).
+.It Va hint.gpioiic.%d.scl
+Indicates which bit in the
+.Va hint.gpioiic.%d.pins
+should be used as the SCLOCK
+source.
+.It Va hint.gpioiic.%d.sda
+Indicates which bit in the
+.Va hint.gpioiic.%d.pins
+should be used as the SDATA
+source.
+.El
+.Sh SEE ALSO
+.Xr gpio 4 ,
+.Xr gpioled 4 ,
+.Xr iic 4 ,
+.Xr iicbb 4 ,
+.Xr iicbus 4
+.Sh HISTORY
+The
+.Nm
+manual page first appeared in
+.Fx 11.0 .
+.Sh AUTHORS
+This
+manual page was written by
+.An Luiz Otavio O Souza .

Added: head/share/man/man4/gpioled.4
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/share/man/man4/gpioled.4	Tue Nov 12 12:44:59 2013	(r258044)
@@ -0,0 +1,83 @@
+.\" Copyright (c) 2013, Luiz Otavio O Souza <loos@FreeBSD.org>
+.\" 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.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd November 5, 2013
+.Dt GPIOLED 4
+.Os
+.Sh NAME
+.Nm gpioled
+.Nd GPIO led generic device driver
+.Sh SYNOPSIS
+.Cd "device gpio"
+.Cd "device gpioled"
+.Pp
+This driver attaches a
+.Xr led 4
+device to a GPIO pin.
+.Sh DESCRIPTION
+The
+.Em gpioled
+driver provides a glue to attach a
+.Xr led 4
+compatible device to a GPIO pin.
+Each led on the system has a
+.Pa name
+which is used to export a device in
+.Pa /dev/led/<name> .
+The GPIO pin can then be controlled by writing to this device as described
+on
+.Xr led 4 .
+.Pp
+On a hint based system, like
+.Li MIPS , these values are configureable for
+.Nm :
+.Bl -tag -width ".Va hint.gpioiic.%d.atXXX"
+.It Va hint.gpioled.%d.at
+The gpiobus you are attaching to.
+Normally assigned to gpiobus0.
+.It Va hint.gpioled.%d.name
+Arbitrary name of device in
+.Pa /dev/led/
+to create for
+.Xr led 4 .
+.It Va hint.gpioled.%d.pins
+Which pin on the GPIO interface to map to this instance.
+Please note that this mask should only ever have one bit set
+(any others bits - i.e., pins - will be ignored).
+.El
+.Sh SEE ALSO
+.Xr gpio 4 ,
+.Xr led 4 ,
+.Xr gpioiic 4
+.Sh HISTORY
+The
+.Nm
+manual page first appeared in
+.Fx 11.0 .
+.Sh AUTHORS
+This
+manual page was written by
+.An Luiz Otavio O Souza .

Modified: head/usr.sbin/gpioctl/gpioctl.8
==============================================================================
--- head/usr.sbin/gpioctl/gpioctl.8	Tue Nov 12 12:23:54 2013	(r258043)
+++ head/usr.sbin/gpioctl/gpioctl.8	Tue Nov 12 12:44:59 2013	(r258044)
@@ -27,7 +27,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd August 13, 2013
+.Dd November 7, 2013
 .Dt GPIOCTL 1
 .Os
 .Sh NAME
@@ -109,6 +109,8 @@ gpioctl -f /dev/gpioc0 -c 12 IN
 .El
 .Sh SEE ALSO
 .Xr gpio 4
+.Xr gpioiic 4
+.Xr gpioled 4
 .Sh HISTORY
 The
 .Nm

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 13:34:08 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id AC892194;
 Tue, 12 Nov 2013 13:34:08 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 8E1C32C6A;
 Tue, 12 Nov 2013 13:34:08 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rACDY8Q9051586;
 Tue, 12 Nov 2013 13:34:08 GMT (envelope-from loos@svn.freebsd.org)
Received: (from loos@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rACDY89p051584;
 Tue, 12 Nov 2013 13:34:08 GMT (envelope-from loos@svn.freebsd.org)
Message-Id: <201311121334.rACDY89p051584@svn.freebsd.org>
From: Luiz Otavio O Souza <loos@FreeBSD.org>
Date: Tue, 12 Nov 2013 13:34:08 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258045 - head/sys/arm/broadcom/bcm2835
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 13:34:08 -0000

Author: loos
Date: Tue Nov 12 13:34:07 2013
New Revision: 258045
URL: http://svnweb.freebsd.org/changeset/base/258045

Log:
  As all the IIC controllers on system uses the same 'iichb' prefix we cannot
  rely only on checking the device unit to indentify the BSC unit we are
  attaching to.  Make use of the device base address to identify our BSC unit.
  
  Approved by:	adrian (mentor)

Modified:
  head/sys/arm/broadcom/bcm2835/bcm2835_bsc.c
  head/sys/arm/broadcom/bcm2835/bcm2835_bscvar.h

Modified: head/sys/arm/broadcom/bcm2835/bcm2835_bsc.c
==============================================================================
--- head/sys/arm/broadcom/bcm2835/bcm2835_bsc.c	Tue Nov 12 12:44:59 2013	(r258044)
+++ head/sys/arm/broadcom/bcm2835/bcm2835_bsc.c	Tue Nov 12 13:34:07 2013	(r258045)
@@ -234,31 +234,13 @@ static int
 bcm_bsc_attach(device_t dev)
 {
 	struct bcm_bsc_softc *sc;
+	unsigned long start;
 	device_t gpio;
-	int rid;
-
-	if (device_get_unit(dev) > 1) {
-		device_printf(dev, "only bsc0 and bsc1 are supported\n");
-		return (ENXIO);
-	}
+	int i, rid;
 
 	sc = device_get_softc(dev);
 	sc->sc_dev = dev;
 
-	/*
-	 * Configure the GPIO pins to ALT0 function to enable BSC control
-	 * over the pins.
-	 */
-	gpio = devclass_get_device(devclass_find("gpio"), 0);
-	if (!gpio) {
-		device_printf(dev, "cannot find gpio0\n");
-		return (ENXIO);
-	}
-	bcm_gpio_set_alternate(gpio, bcm_bsc_pins[device_get_unit(dev)].sda,
-	    BCM_GPIO_ALT0);
-	bcm_gpio_set_alternate(gpio, bcm_bsc_pins[device_get_unit(dev)].scl,
-	    BCM_GPIO_ALT0);
-
 	rid = 0;
 	sc->sc_mem_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid,
 	    RF_ACTIVE);
@@ -270,6 +252,29 @@ bcm_bsc_attach(device_t dev)
 	sc->sc_bst = rman_get_bustag(sc->sc_mem_res);
 	sc->sc_bsh = rman_get_bushandle(sc->sc_mem_res);
 
+	/* Check the unit we are attaching by its base address. */
+	start = rman_get_start(sc->sc_mem_res);
+	for (i = 0; i < nitems(bcm_bsc_pins); i++) {
+		if (bcm_bsc_pins[i].start == start)
+			break;
+	}
+	if (i == nitems(bcm_bsc_pins)) {
+		device_printf(dev, "only bsc0 and bsc1 are supported\n");
+		return (ENXIO);
+	}
+
+	/*
+	 * Configure the GPIO pins to ALT0 function to enable BSC control
+	 * over the pins.
+	 */
+	gpio = devclass_get_device(devclass_find("gpio"), 0);
+	if (!gpio) {
+		device_printf(dev, "cannot find gpio0\n");
+		return (ENXIO);
+	}
+	bcm_gpio_set_alternate(gpio, bcm_bsc_pins[i].sda, BCM_GPIO_ALT0);
+	bcm_gpio_set_alternate(gpio, bcm_bsc_pins[i].scl, BCM_GPIO_ALT0);
+
 	rid = 0;
 	sc->sc_irq_res = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid,
 	    RF_ACTIVE | RF_SHAREABLE);

Modified: head/sys/arm/broadcom/bcm2835/bcm2835_bscvar.h
==============================================================================
--- head/sys/arm/broadcom/bcm2835/bcm2835_bscvar.h	Tue Nov 12 12:44:59 2013	(r258044)
+++ head/sys/arm/broadcom/bcm2835/bcm2835_bscvar.h	Tue Nov 12 13:34:07 2013	(r258045)
@@ -33,9 +33,10 @@
 struct {
 	uint32_t	sda;
 	uint32_t	scl;
+	unsigned long	start;
 } bcm_bsc_pins[] = {
-	{ 0, 1 },	/* BSC0 GPIO pins. */
-	{ 2, 3 }	/* BSC1 GPIO pins. */
+	{ 0, 1, 0x20205000 },	/* BSC0 GPIO pins and base address. */
+	{ 2, 3, 0x20804000 }	/* BSC1 GPIO pins and base address. */
 };
 
 struct bcm_bsc_softc {

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 13:44:51 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 55822480;
 Tue, 12 Nov 2013 13:44:51 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 45CE82D06;
 Tue, 12 Nov 2013 13:44:51 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rACDipCJ054850;
 Tue, 12 Nov 2013 13:44:51 GMT (envelope-from loos@svn.freebsd.org)
Received: (from loos@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rACDipBR054849;
 Tue, 12 Nov 2013 13:44:51 GMT (envelope-from loos@svn.freebsd.org)
Message-Id: <201311121344.rACDipBR054849@svn.freebsd.org>
From: Luiz Otavio O Souza <loos@FreeBSD.org>
Date: Tue, 12 Nov 2013 13:44:51 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258046 - head/sys/dev/ofw
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 13:44:51 -0000

Author: loos
Date: Tue Nov 12 13:44:50 2013
New Revision: 258046
URL: http://svnweb.freebsd.org/changeset/base/258046

Log:
  Fix a typo on a comment in ofw_bus_if.m, the default method will return -1
  when a node doesn't exist.
  
  Reviewed by:	nwhitehorn
  Approved by:	adrian (mentor)

Modified:
  head/sys/dev/ofw/ofw_bus_if.m

Modified: head/sys/dev/ofw/ofw_bus_if.m
==============================================================================
--- head/sys/dev/ofw/ofw_bus_if.m	Tue Nov 12 13:34:07 2013	(r258045)
+++ head/sys/dev/ofw/ofw_bus_if.m	Tue Nov 12 13:44:50 2013	(r258046)
@@ -158,7 +158,7 @@ METHOD const char * get_name {
 } DEFAULT ofw_bus_default_get_name;
 
 # Get the firmware node for the device dev on the bus. The default method will
-# return 0, which signals that there is no such node.
+# return -1, which signals that there is no such node.
 METHOD phandle_t get_node {
 	device_t bus;
 	device_t dev;

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 13:55:19 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id A950197D;
 Tue, 12 Nov 2013 13:55:19 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 99B412DF9;
 Tue, 12 Nov 2013 13:55:19 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rACDtJLn058156;
 Tue, 12 Nov 2013 13:55:19 GMT (envelope-from loos@svn.freebsd.org)
Received: (from loos@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rACDtJZl058155;
 Tue, 12 Nov 2013 13:55:19 GMT (envelope-from loos@svn.freebsd.org)
Message-Id: <201311121355.rACDtJZl058155@svn.freebsd.org>
From: Luiz Otavio O Souza <loos@FreeBSD.org>
Date: Tue, 12 Nov 2013 13:55:19 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258047 - head/sys/dev/gpio
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 13:55:19 -0000

Author: loos
Date: Tue Nov 12 13:55:19 2013
New Revision: 258047
URL: http://svnweb.freebsd.org/changeset/base/258047

Log:
  Move the KASSERT() check to the point before the increase of number of pins.
  
  Approved by:	adrian (mentor)

Modified:
  head/sys/dev/gpio/gpiobus.c

Modified: head/sys/dev/gpio/gpiobus.c
==============================================================================
--- head/sys/dev/gpio/gpiobus.c	Tue Nov 12 13:44:50 2013	(r258046)
+++ head/sys/dev/gpio/gpiobus.c	Tue Nov 12 13:55:19 2013	(r258047)
@@ -190,13 +190,13 @@ gpiobus_attach(device_t dev)
 	if (res)
 		return (ENXIO);
 
+	KASSERT(sc->sc_npins != 0, ("GPIO device with no pins"));
+
 	/*
 	 * Increase to get number of pins
 	 */
 	sc->sc_npins++;
 
-	KASSERT(sc->sc_npins != 0, ("GPIO device with no pins"));
-
 	sc->sc_pins_mapped = malloc(sizeof(int) * sc->sc_npins, M_DEVBUF, 
 	    M_NOWAIT | M_ZERO);
 

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 15:09:29 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 73DBF79;
 Tue, 12 Nov 2013 15:09:29 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 544AA2378;
 Tue, 12 Nov 2013 15:09:29 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rACF9TRp083170;
 Tue, 12 Nov 2013 15:09:29 GMT (envelope-from glebius@svn.freebsd.org)
Received: (from glebius@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rACF9Sw9083168;
 Tue, 12 Nov 2013 15:09:28 GMT (envelope-from glebius@svn.freebsd.org)
Message-Id: <201311121509.rACF9Sw9083168@svn.freebsd.org>
From: Gleb Smirnoff <glebius@FreeBSD.org>
Date: Tue, 12 Nov 2013 15:09:28 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258049 - in head: contrib/smbfs/lib/smb lib/libsmb
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 15:09:29 -0000

Author: glebius
Date: Tue Nov 12 15:09:28 2013
New Revision: 258049
URL: http://svnweb.freebsd.org/changeset/base/258049

Log:
  Just disable recoding support in libsmb if built WITHOUT_ICONV.

Modified:
  head/contrib/smbfs/lib/smb/nls.c
  head/lib/libsmb/Makefile

Modified: head/contrib/smbfs/lib/smb/nls.c
==============================================================================
--- head/contrib/smbfs/lib/smb/nls.c	Tue Nov 12 15:04:11 2013	(r258048)
+++ head/contrib/smbfs/lib/smb/nls.c	Tue Nov 12 15:09:28 2013	(r258049)
@@ -36,7 +36,6 @@
 __FBSDID("$FreeBSD$");
 
 #include <sys/types.h>
-#include <iconv.h>
 #include <sys/sysctl.h>
 #include <ctype.h>
 #include <errno.h>
@@ -47,10 +46,16 @@ __FBSDID("$FreeBSD$");
 #include <err.h>
 #include <netsmb/smb_lib.h>
 
+#ifdef HAVE_ICONV
+#include <iconv.h>
+#endif
+
 u_char nls_lower[256];
 u_char nls_upper[256];
 
+#ifdef HAVE_ICONV
 static iconv_t nls_toext, nls_toloc;
+#endif
 
 int
 nls_setlocale(const char *name)
@@ -71,9 +76,7 @@ nls_setlocale(const char *name)
 int
 nls_setrecode(const char *local, const char *external)
 {
-#ifdef APPLE
-	return ENOENT;
-#else
+#ifdef HAVE_ICONV
 	iconv_t icd;
 
 	if (nls_toext)
@@ -93,12 +96,15 @@ nls_setrecode(const char *local, const c
 	}
 	nls_toloc = icd;
 	return 0;
+#else
+	return ENOENT;
 #endif
 }
 
 char *
 nls_str_toloc(char *dst, const char *src)
 {
+#ifdef HAVE_ICONV
 	char *p = dst;
 	size_t inlen, outlen;
 
@@ -113,11 +119,15 @@ nls_str_toloc(char *dst, const char *src
 	}
 	*p = 0;
 	return dst;
+#else
+	return strcpy(dst, src);
+#endif
 }
 
 char *
 nls_str_toext(char *dst, const char *src)
 {
+#ifdef HAVE_ICONV
 	char *p = dst;
 	size_t inlen, outlen;
 
@@ -132,11 +142,15 @@ nls_str_toext(char *dst, const char *src
 	}
 	*p = 0;
 	return dst;
+#else
+	return strcpy(dst, src);
+#endif
 }
 
 void *
 nls_mem_toloc(void *dst, const void *src, int size)
 {
+#ifdef HAVE_ICONV
 	char *p = dst;
 	const char *s = src;
 	size_t inlen, outlen;
@@ -154,11 +168,15 @@ nls_mem_toloc(void *dst, const void *src
 		outlen--;
 	}
 	return dst;
+#else
+	return memcpy(dst, src, size);
+#endif
 }
 
 void *
 nls_mem_toext(void *dst, const void *src, int size)
 {
+#ifdef HAVE_ICONV
 	char *p = dst;
 	const char *s = src;
 	size_t inlen, outlen;
@@ -177,6 +195,9 @@ nls_mem_toext(void *dst, const void *src
 		outlen--;
 	}
 	return dst;
+#else
+	return memcpy(dst, src, size);
+#endif
 }
 
 char *

Modified: head/lib/libsmb/Makefile
==============================================================================
--- head/lib/libsmb/Makefile	Tue Nov 12 15:04:11 2013	(r258048)
+++ head/lib/libsmb/Makefile	Tue Nov 12 15:09:28 2013	(r258049)
@@ -1,5 +1,7 @@
 # $FreeBSD$
 
+.include <bsd.own.mk>
+
 CONTRIBDIR=	${.CURDIR}/../../contrib/smbfs
 .PATH: ${CONTRIBDIR}/lib/smb
 
@@ -16,4 +18,8 @@ SRCS=	rcfile.c ctx.c cfopt.c subr.c nls.
 WARNS?=	1
 CFLAGS+= -DSMB_CFG_FILE=\"/etc/nsmb.conf\" -I${CONTRIBDIR}/include
 
+.if ${MK_ICONV} != "no"
+CFLAGS+= -DHAVE_ICONV=1
+.endif
+
 .include <bsd.lib.mk>

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 16:08:24 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 3C5148FC;
 Tue, 12 Nov 2013 16:08:24 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 2C3B527DD;
 Tue, 12 Nov 2013 16:08:24 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rACG8OV7004231;
 Tue, 12 Nov 2013 16:08:24 GMT (envelope-from loos@svn.freebsd.org)
Received: (from loos@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rACG8O3C004230;
 Tue, 12 Nov 2013 16:08:24 GMT (envelope-from loos@svn.freebsd.org)
Message-Id: <201311121608.rACG8O3C004230@svn.freebsd.org>
From: Luiz Otavio O Souza <loos@FreeBSD.org>
Date: Tue, 12 Nov 2013 16:08:24 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258050 - head/sys/dev/gpio
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 16:08:24 -0000

Author: loos
Date: Tue Nov 12 16:08:23 2013
New Revision: 258050
URL: http://svnweb.freebsd.org/changeset/base/258050

Log:
  Fix gpiobus to return BUS_PROBE_GENERIC insted of BUS_PROBE_SPECIFIC (0) so
  it can be overriden by its OFW/FDT version.
  
  Give a chance for GPIO devices that implement the device_identify method to
  attach.
  
  Approved by:	adrian (mentor)

Modified:
  head/sys/dev/gpio/gpiobus.c

Modified: head/sys/dev/gpio/gpiobus.c
==============================================================================
--- head/sys/dev/gpio/gpiobus.c	Tue Nov 12 15:09:28 2013	(r258049)
+++ head/sys/dev/gpio/gpiobus.c	Tue Nov 12 16:08:23 2013	(r258050)
@@ -175,7 +175,8 @@ static int
 gpiobus_probe(device_t dev)
 {
 	device_set_desc(dev, "GPIO bus");
-	return (0);
+
+	return (BUS_PROBE_GENERIC);
 }
 
 static int
@@ -209,7 +210,9 @@ gpiobus_attach(device_t dev)
 	/*
 	 * Get parent's pins and mark them as unmapped
 	 */
+	bus_generic_probe(dev);
 	bus_enumerate_hinted_children(dev);
+
 	return (bus_generic_attach(dev));
 }
 

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 16:14:45 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id BC8E4DDC;
 Tue, 12 Nov 2013 16:14:45 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id ABCD8287F;
 Tue, 12 Nov 2013 16:14:45 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rACGEjIe007379;
 Tue, 12 Nov 2013 16:14:45 GMT
 (envelope-from nwhitehorn@svn.freebsd.org)
Received: (from nwhitehorn@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rACGEje1007378;
 Tue, 12 Nov 2013 16:14:45 GMT
 (envelope-from nwhitehorn@svn.freebsd.org)
Message-Id: <201311121614.rACGEje1007378@svn.freebsd.org>
From: Nathan Whitehorn <nwhitehorn@FreeBSD.org>
Date: Tue, 12 Nov 2013 16:14:45 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258051 - head/sys/powerpc/pseries
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 16:14:45 -0000

Author: nwhitehorn
Date: Tue Nov 12 16:14:45 2013
New Revision: 258051
URL: http://svnweb.freebsd.org/changeset/base/258051

Log:
  Actually add IOMMU domain to the list of known mappings. This fixes a bug
  where multiple devices in the same IOMMU domain would be allocated
  conflicting mappings unless they also shared a DMA tag.
  
  MFC after:	3 days

Modified:
  head/sys/powerpc/pseries/plpar_iommu.c

Modified: head/sys/powerpc/pseries/plpar_iommu.c
==============================================================================
--- head/sys/powerpc/pseries/plpar_iommu.c	Tue Nov 12 16:08:23 2013	(r258050)
+++ head/sys/powerpc/pseries/plpar_iommu.c	Tue Nov 12 16:14:45 2013	(r258051)
@@ -115,6 +115,8 @@ phyp_iommu_set_dma_tag(device_t bus, dev
 		    (((uint64_t)(dmawindow[dma_acells + 1]) << 32) |
 		    dmawindow[dma_acells + 2]);
 
+	if (bootverbose)
+		device_printf(dev, "Mapping IOMMU domain %#x\n", dmawindow[0]);
 	window->map = NULL;
 	SLIST_FOREACH(i, &iommu_map_head, entries) {
 		if (i->iobn == dmawindow[0]) {
@@ -134,6 +136,7 @@ phyp_iommu_set_dma_tag(device_t bus, dev
 		window->map->vmem = vmem_create("IOMMU mappings", PAGE_SIZE,
 		    trunc_page(VMEM_ADDR_MAX) - PAGE_SIZE, PAGE_SIZE, 0,
 		    M_BESTFIT | M_NOWAIT);
+		SLIST_INSERT_HEAD(&iommu_map_head, window->map, entries);
 	}
 
 	/*

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 16:15:10 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id D00F2F23;
 Tue, 12 Nov 2013 16:15:10 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id BEBD72889;
 Tue, 12 Nov 2013 16:15:10 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rACGFAxv007531;
 Tue, 12 Nov 2013 16:15:10 GMT
 (envelope-from nwhitehorn@svn.freebsd.org)
Received: (from nwhitehorn@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rACGF9BD007524;
 Tue, 12 Nov 2013 16:15:09 GMT
 (envelope-from nwhitehorn@svn.freebsd.org)
Message-Id: <201311121615.rACGF9BD007524@svn.freebsd.org>
From: Nathan Whitehorn <nwhitehorn@FreeBSD.org>
Date: Tue, 12 Nov 2013 16:15:09 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258052 - in head/sys: conf powerpc/ofw powerpc/pseries
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 16:15:10 -0000

Author: nwhitehorn
Date: Tue Nov 12 16:15:09 2013
New Revision: 258052
URL: http://svnweb.freebsd.org/changeset/base/258052

Log:
  Following the approach with ACPI DMAR on x86, split IOMMU handling into
  a variant PCI bus instead of trying to shoehorn it into the PCI host bridge
  adapter. Besides matching better the architecture on other platforms, this
  also allows systems with multiple partitionable endpoints per PCI host
  bridge to work correctly.

Added:
  head/sys/powerpc/ofw/ofw_pcibus.h
     - copied, changed from r257990, head/sys/powerpc/ofw/ofw_pci.h
  head/sys/powerpc/pseries/plpar_pcibus.c   (contents, props changed)
Modified:
  head/sys/conf/files.powerpc
  head/sys/powerpc/ofw/ofw_pcibus.c
  head/sys/powerpc/pseries/rtas_pci.c

Modified: head/sys/conf/files.powerpc
==============================================================================
--- head/sys/conf/files.powerpc	Tue Nov 12 16:14:45 2013	(r258051)
+++ head/sys/conf/files.powerpc	Tue Nov 12 16:15:09 2013	(r258052)
@@ -227,6 +227,7 @@ powerpc/pseries/phyp_llan.c	optional	lla
 powerpc/pseries/phyp_vscsi.c	optional	pseries powerpc64 scbus
 powerpc/pseries/platform_chrp.c	optional	pseries
 powerpc/pseries/plpar_iommu.c	optional	pseries powerpc64
+powerpc/pseries/plpar_pcibus.c	optional	pseries powerpc64 pci
 powerpc/pseries/rtas_dev.c	optional	pseries
 powerpc/pseries/rtas_pci.c	optional	pseries pci
 powerpc/pseries/vdevice.c	optional	pseries powerpc64

Modified: head/sys/powerpc/ofw/ofw_pcibus.c
==============================================================================
--- head/sys/powerpc/ofw/ofw_pcibus.c	Tue Nov 12 16:14:45 2013	(r258051)
+++ head/sys/powerpc/ofw/ofw_pcibus.c	Tue Nov 12 16:15:09 2013	(r258052)
@@ -50,6 +50,7 @@ __FBSDID("$FreeBSD$");
 #include <dev/pci/pcivar.h>
 #include <dev/pci/pci_private.h>
 
+#include "ofw_pcibus.h"
 #include "pcib_if.h"
 #include "pci_if.h"
 
@@ -85,12 +86,7 @@ static device_method_t ofw_pcibus_method
 	DEVMETHOD(ofw_bus_get_node,	ofw_bus_gen_get_node),
 	DEVMETHOD(ofw_bus_get_type,	ofw_bus_gen_get_type),
 
-	{ 0, 0 }
-};
-
-struct ofw_pcibus_devinfo {
-	struct pci_devinfo	opd_dinfo;
-	struct ofw_bus_devinfo	opd_obdinfo;
+	DEVMETHOD_END
 };
 
 static devclass_t pci_devclass;
@@ -195,6 +191,7 @@ ofw_pcibus_enum_devtree(device_t dev, u_
 			pci_freecfg((struct pci_devinfo *)dinfo);
 			continue;
 		}
+		dinfo->opd_dma_tag = NULL;
 		pci_add_child(dev, (struct pci_devinfo *)dinfo);
 
 		/*
@@ -272,6 +269,7 @@ ofw_pcibus_enum_bus(device_t dev, u_int 
 			if (dinfo == NULL)
 				continue;
 
+			dinfo->opd_dma_tag = NULL;
 			dinfo->opd_obdinfo.obd_node = -1;
 
 			dinfo->opd_obdinfo.obd_name = NULL;

Copied and modified: head/sys/powerpc/ofw/ofw_pcibus.h (from r257990, head/sys/powerpc/ofw/ofw_pci.h)
==============================================================================
--- head/sys/powerpc/ofw/ofw_pci.h	Mon Nov 11 14:08:25 2013	(r257990, copy source)
+++ head/sys/powerpc/ofw/ofw_pcibus.h	Tue Nov 12 16:15:09 2013	(r258052)
@@ -26,51 +26,26 @@
  * $FreeBSD$
  */
 
-#ifndef POWERPC_OFW_OFW_PCI_H
-#define POWERPC_OFW_OFW_PCI_H
+#ifndef POWERPC_OFW_OFW_PCIBUS_H
+#define POWERPC_OFW_OFW_PCIBUS_H
 
-/*
- * Export class definition for inheritance purposes
- */
-DECLARE_CLASS(ofw_pci_driver);
+#include <sys/bus.h>
+#include <sys/pciio.h>
 
-struct ofw_pci_range {
-	uint32_t	pci_hi;
-	uint64_t	pci;
-	uint64_t	host;
-	uint64_t	size;
-};
+#include <dev/ofw/ofw_bus.h>
+#include <dev/ofw/ofw_pci.h>
+#include <dev/pci/pcivar.h>
 
 /*
- * Quirks for some adapters
+ * Export class definition for inheritance purposes
  */
-enum {
-	OFW_PCI_QUIRK_RANGES_ON_CHILDREN = 1,
-};
+DECLARE_CLASS(ofw_pcibus_driver);	/* PCI Bus Enumerators */
 
-struct ofw_pci_softc {
-	device_t		sc_dev;
-	phandle_t		sc_node;
-	int			sc_bus;
-	int			sc_initialized;
-
-	int			sc_quirks;
-
-	struct ofw_pci_register	sc_pcir;
-
-	struct ofw_pci_range	*sc_range;
-	int			sc_nrange;
-
-	struct rman		sc_io_rman;
-	struct rman		sc_mem_rman;
-	bus_space_tag_t		sc_memt;
-	bus_dma_tag_t		sc_dmat;
-
-	struct ofw_bus_iinfo    sc_pci_iinfo;
+struct ofw_pcibus_devinfo {
+        struct pci_devinfo      opd_dinfo;
+        struct ofw_bus_devinfo  opd_obdinfo;
+	bus_dma_tag_t		opd_dma_tag;
 };
 
-int ofw_pci_init(device_t dev);
-int ofw_pci_attach(device_t dev);
-
-#endif // POWERPC_OFW_OFW_PCI_H
+#endif // POWERPC_OFW_OFW_PCIBUS_H
 

Added: head/sys/powerpc/pseries/plpar_pcibus.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sys/powerpc/pseries/plpar_pcibus.c	Tue Nov 12 16:15:09 2013	(r258052)
@@ -0,0 +1,113 @@
+/*-
+ * Copyright (c) 2011 Nathan Whitehorn
+ * 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.
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include <sys/param.h>
+#include <sys/bus.h>
+#include <sys/kernel.h>
+#include <sys/libkern.h>
+#include <sys/module.h>
+#include <sys/pciio.h>
+
+#include <dev/ofw/openfirm.h>
+
+#include <dev/pci/pcivar.h>
+#include <dev/pci/pcireg.h>
+#include <dev/pci/pci_private.h>
+
+#include <machine/bus.h>
+#include <machine/rtas.h>
+
+#include <powerpc/ofw/ofw_pcibus.h>
+#include <powerpc/pseries/plpar_iommu.h>
+
+#include "pci_if.h"
+#include "iommu_if.h"
+
+static int		plpar_pcibus_probe(device_t);
+static bus_dma_tag_t	plpar_pcibus_get_dma_tag(device_t dev, device_t child);
+
+/*
+ * Driver methods.
+ */
+static device_method_t	plpar_pcibus_methods[] = {
+	/* Device interface */
+	DEVMETHOD(device_probe,		plpar_pcibus_probe),
+
+	/* IOMMU functions */
+	DEVMETHOD(bus_get_dma_tag,	plpar_pcibus_get_dma_tag),
+	DEVMETHOD(iommu_map,		phyp_iommu_map),
+	DEVMETHOD(iommu_unmap,		phyp_iommu_unmap),
+
+	DEVMETHOD_END
+};
+
+static devclass_t pci_devclass;
+DEFINE_CLASS_1(pci, plpar_pcibus_driver, plpar_pcibus_methods,
+    sizeof(struct pci_softc), ofw_pcibus_driver);
+DRIVER_MODULE(plpar_pcibus, pcib, plpar_pcibus_driver, pci_devclass, 0, 0);
+
+static int
+plpar_pcibus_probe(device_t dev)
+{
+	phandle_t rtas;
+ 
+	if (ofw_bus_get_node(dev) == -1 || !rtas_exists())
+		return (ENXIO);
+
+	rtas = OF_finddevice("/rtas");
+	if (!OF_hasprop(rtas, "ibm,hypertas-functions"))
+		return (ENXIO);
+
+	device_set_desc(dev, "POWER Hypervisor PCI bus");
+
+	return (BUS_PROBE_SPECIFIC);
+}
+
+static bus_dma_tag_t
+plpar_pcibus_get_dma_tag(device_t dev, device_t child)
+{
+	struct ofw_pcibus_devinfo *dinfo;
+
+	while (device_get_parent(child) != dev)
+		child = device_get_parent(child);
+
+	dinfo = device_get_ivars(child);
+
+	if (dinfo->opd_dma_tag != NULL)
+		return (dinfo->opd_dma_tag);
+
+	bus_dma_tag_create(bus_get_dma_tag(dev),
+	    1, 0, BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR,
+	    NULL, NULL, BUS_SPACE_MAXSIZE, BUS_SPACE_UNRESTRICTED,
+	    BUS_SPACE_MAXSIZE, 0, NULL, NULL, &dinfo->opd_dma_tag);
+	phyp_iommu_set_dma_tag(dev, child, dinfo->opd_dma_tag);
+
+	return (dinfo->opd_dma_tag);
+}
+

Modified: head/sys/powerpc/pseries/rtas_pci.c
==============================================================================
--- head/sys/powerpc/pseries/rtas_pci.c	Tue Nov 12 16:14:45 2013	(r258051)
+++ head/sys/powerpc/pseries/rtas_pci.c	Tue Nov 12 16:15:09 2013	(r258052)
@@ -74,11 +74,6 @@ static void		rtaspci_write_config(device
 			    u_int, u_int32_t, int);
 
 /*
- * IOMMU LPAR interface
- */
-static bus_dma_tag_t	rtaspci_get_dma_tag(device_t dev, device_t child);
-
-/*
  * Driver methods.
  */
 static device_method_t	rtaspci_methods[] = {
@@ -90,19 +85,11 @@ static device_method_t	rtaspci_methods[]
 	DEVMETHOD(pcib_read_config,	rtaspci_read_config),
 	DEVMETHOD(pcib_write_config,	rtaspci_write_config),
 
-	/* IOMMU functions */
-	DEVMETHOD(bus_get_dma_tag,	rtaspci_get_dma_tag),
-#ifdef __powerpc64__
-	DEVMETHOD(iommu_map,		phyp_iommu_map),
-	DEVMETHOD(iommu_unmap,		phyp_iommu_unmap),
-#endif
-
 	DEVMETHOD_END
 };
 
 struct rtaspci_softc {
 	struct ofw_pci_softc	pci_sc;
-	bus_dma_tag_t		dma_tag;
 
 	cell_t			read_pci_config, write_pci_config;
 	cell_t			ex_read_pci_config, ex_write_pci_config;
@@ -149,15 +136,6 @@ rtaspci_attach(device_t dev)
 	OF_getprop(ofw_bus_get_node(dev), "ibm,pci-config-space-type",
 	    &sc->sc_extended_config, sizeof(sc->sc_extended_config));
 
-	bus_dma_tag_create(bus_get_dma_tag(dev),
-	    1, 0, BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR,
-	    NULL, NULL, BUS_SPACE_MAXSIZE, BUS_SPACE_UNRESTRICTED,
-	    BUS_SPACE_MAXSIZE, 0, NULL, NULL, &sc->dma_tag);
-#ifdef __powerpc64__
-	if (!(mfmsr() & PSL_HV))
-		phyp_iommu_set_dma_tag(dev, dev, sc->dma_tag);
-#endif
-
 	return (ofw_pci_attach(dev));
 }
 
@@ -225,12 +203,3 @@ rtaspci_write_config(device_t dev, u_int
 		    width, val, &pcierror);
 }
 
-static bus_dma_tag_t
-rtaspci_get_dma_tag(device_t dev, device_t child)
-{
-	struct rtaspci_softc *sc;
-
-	sc = device_get_softc(dev);
-	return (sc->dma_tag);
-}
-

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 17:10:56 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id D81057F3;
 Tue, 12 Nov 2013 17:10:56 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id C7BAD2D97;
 Tue, 12 Nov 2013 17:10:56 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rACHAuOh027409;
 Tue, 12 Nov 2013 17:10:56 GMT (envelope-from sbruno@svn.freebsd.org)
Received: (from sbruno@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rACHAuCI027408;
 Tue, 12 Nov 2013 17:10:56 GMT (envelope-from sbruno@svn.freebsd.org)
Message-Id: <201311121710.rACHAuCI027408@svn.freebsd.org>
From: Sean Bruno <sbruno@FreeBSD.org>
Date: Tue, 12 Nov 2013 17:10:56 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258053 - head/usr.sbin/mfiutil
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 17:10:56 -0000

Author: sbruno
Date: Tue Nov 12 17:10:56 2013
New Revision: 258053
URL: http://svnweb.freebsd.org/changeset/base/258053

Log:
  Noted that the stripe_size argument was not being displayed in the usage
  message
  
  MFC after:	2 weeks

Modified:
  head/usr.sbin/mfiutil/mfiutil.c

Modified: head/usr.sbin/mfiutil/mfiutil.c
==============================================================================
--- head/usr.sbin/mfiutil/mfiutil.c	Tue Nov 12 16:15:09 2013	(r258052)
+++ head/usr.sbin/mfiutil/mfiutil.c	Tue Nov 12 17:10:56 2013	(r258053)
@@ -78,7 +78,7 @@ usage(void)
 	fprintf(stderr, "    name <volume> <name>\n");
 	fprintf(stderr, "    volume progress <volume>  - display status of active operations\n");
 	fprintf(stderr, "    clear                     - clear volume configuration\n");
-	fprintf(stderr, "    create <type> [-v] <drive>[,<drive>[,...]] [<drive>[,<drive>[,...]]\n");
+	fprintf(stderr, "    create <type> [-v] [-s stripe_size] <drive>[,<drive>[,...]] [<drive>[,<drive>[,...]]\n");
 	fprintf(stderr, "    delete <volume>\n");
 	fprintf(stderr, "    add <drive> [volume]      - add a hot spare\n");
 	fprintf(stderr, "    remove <drive>            - remove a hot spare\n");

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 17:25:40 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 6C756D4D;
 Tue, 12 Nov 2013 17:25:40 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 577F72E74;
 Tue, 12 Nov 2013 17:25:40 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rACHPeKY031495;
 Tue, 12 Nov 2013 17:25:40 GMT (envelope-from emaste@svn.freebsd.org)
Received: (from emaste@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rACHPYcW031457;
 Tue, 12 Nov 2013 17:25:34 GMT (envelope-from emaste@svn.freebsd.org)
Message-Id: <201311121725.rACHPYcW031457@svn.freebsd.org>
From: Ed Maste <emaste@FreeBSD.org>
Date: Tue, 12 Nov 2013 17:25:34 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258054 - in head: contrib/llvm/tools/lldb/include/lldb
 contrib/llvm/tools/lldb/include/lldb/API
 contrib/llvm/tools/lldb/include/lldb/Breakpoint
 contrib/llvm/tools/lldb/include/lldb/Cor...
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 17:25:40 -0000

Author: emaste
Date: Tue Nov 12 17:25:33 2013
New Revision: 258054
URL: http://svnweb.freebsd.org/changeset/base/258054

Log:
  Update LLDB to upstream r194122 snapshot
  
  ludes minor changes relative to upstream, for compatibility with
  FreeBSD's in-tree LLVM 3.3:
  
  - Reverted LLDB r191806, restoring use of previous API.
  - Reverted part of LLDB r189317, restoring previous enum names.
  - Work around missing LLVM r192504, using previous registerEHFrames API
    (limited functionality).
  - Removed PlatformWindows header include and init/terminate calls.
  
  Sponsored by:	DARPA, AFRL

Added:
  head/contrib/llvm/tools/lldb/include/lldb/Core/StreamGDBRemote.h
     - copied unchanged from r257752, vendor/lldb/dist/include/lldb/Core/StreamGDBRemote.h
  head/contrib/llvm/tools/lldb/include/lldb/DataFormatters/ValueObjectPrinter.h
     - copied unchanged from r257752, vendor/lldb/dist/include/lldb/DataFormatters/ValueObjectPrinter.h
  head/contrib/llvm/tools/lldb/include/lldb/Host/OptionParser.h
     - copied unchanged from r257752, vendor/lldb/dist/include/lldb/Host/OptionParser.h
  head/contrib/llvm/tools/lldb/include/lldb/Target/SystemRuntime.h
     - copied unchanged from r257752, vendor/lldb/dist/include/lldb/Target/SystemRuntime.h
  head/contrib/llvm/tools/lldb/source/Core/StreamGDBRemote.cpp
     - copied unchanged from r257752, vendor/lldb/dist/source/Core/StreamGDBRemote.cpp
  head/contrib/llvm/tools/lldb/source/DataFormatters/LibCxxUnorderedMap.cpp
     - copied unchanged from r257752, vendor/lldb/dist/source/DataFormatters/LibCxxUnorderedMap.cpp
  head/contrib/llvm/tools/lldb/source/DataFormatters/ValueObjectPrinter.cpp
     - copied unchanged from r257752, vendor/lldb/dist/source/DataFormatters/ValueObjectPrinter.cpp
  head/contrib/llvm/tools/lldb/source/Host/common/OptionParser.cpp
     - copied unchanged from r257752, vendor/lldb/dist/source/Host/common/OptionParser.cpp
  head/contrib/llvm/tools/lldb/source/Host/common/ProcessRunLock.cpp
     - copied unchanged from r257752, vendor/lldb/dist/source/Host/common/ProcessRunLock.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/Platform/POSIX/
     - copied from r257752, vendor/lldb/dist/source/Plugins/Platform/POSIX/
  head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextFreeBSD_i386.cpp
     - copied unchanged from r257752, vendor/lldb/dist/source/Plugins/Process/POSIX/RegisterContextFreeBSD_i386.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextFreeBSD_i386.h
     - copied unchanged from r257752, vendor/lldb/dist/source/Plugins/Process/POSIX/RegisterContextFreeBSD_i386.h
  head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextFreeBSD_mips64.cpp
     - copied unchanged from r257752, vendor/lldb/dist/source/Plugins/Process/POSIX/RegisterContextFreeBSD_mips64.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextFreeBSD_mips64.h
     - copied unchanged from r257752, vendor/lldb/dist/source/Plugins/Process/POSIX/RegisterContextFreeBSD_mips64.h
  head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextLinux_i386.cpp
     - copied unchanged from r257752, vendor/lldb/dist/source/Plugins/Process/POSIX/RegisterContextLinux_i386.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextLinux_i386.h
     - copied unchanged from r257752, vendor/lldb/dist/source/Plugins/Process/POSIX/RegisterContextLinux_i386.h
  head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_mips64.cpp
     - copied unchanged from r257752, vendor/lldb/dist/source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_mips64.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_mips64.h
     - copied unchanged from r257752, vendor/lldb/dist/source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_mips64.h
  head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_x86.cpp
     - copied unchanged from r257752, vendor/lldb/dist/source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_x86.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_x86.h
     - copied unchanged from r257752, vendor/lldb/dist/source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_x86.h
  head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIX_mips64.cpp
     - copied unchanged from r257752, vendor/lldb/dist/source/Plugins/Process/POSIX/RegisterContextPOSIX_mips64.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIX_mips64.h
     - copied unchanged from r257752, vendor/lldb/dist/source/Plugins/Process/POSIX/RegisterContextPOSIX_mips64.h
  head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIX_x86.cpp
     - copied unchanged from r257752, vendor/lldb/dist/source/Plugins/Process/POSIX/RegisterContextPOSIX_x86.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIX_x86.h
     - copied unchanged from r257752, vendor/lldb/dist/source/Plugins/Process/POSIX/RegisterContextPOSIX_x86.h
  head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContext_mips64.h
     - copied unchanged from r257752, vendor/lldb/dist/source/Plugins/Process/POSIX/RegisterContext_mips64.h
  head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterInfos_i386.h
     - copied unchanged from r257752, vendor/lldb/dist/source/Plugins/Process/POSIX/RegisterInfos_i386.h
  head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterInfos_mips64.h
     - copied unchanged from r257752, vendor/lldb/dist/source/Plugins/Process/POSIX/RegisterInfos_mips64.h
  head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterInfos_x86_64.h
     - copied unchanged from r257752, vendor/lldb/dist/source/Plugins/Process/POSIX/RegisterInfos_x86_64.h
  head/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_mips64.cpp
     - copied unchanged from r257752, vendor/lldb/dist/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_mips64.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_mips64.h
     - copied unchanged from r257752, vendor/lldb/dist/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_mips64.h
  head/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86_64.cpp
     - copied unchanged from r257752, vendor/lldb/dist/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86_64.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86_64.h
     - copied unchanged from r257752, vendor/lldb/dist/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86_64.h
  head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDataExtractor.cpp
     - copied unchanged from r257752, vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/DWARFDataExtractor.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDataExtractor.h
     - copied unchanged from r257752, vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/DWARFDataExtractor.h
  head/contrib/llvm/tools/lldb/source/Target/SystemRuntime.cpp
     - copied unchanged from r257752, vendor/lldb/dist/source/Target/SystemRuntime.cpp
  head/contrib/llvm/tools/lldb/tools/driver/ELWrapper.cpp
     - copied unchanged from r257752, vendor/lldb/dist/tools/driver/ELWrapper.cpp
  head/contrib/llvm/tools/lldb/tools/driver/ELWrapper.h
     - copied unchanged from r257752, vendor/lldb/dist/tools/driver/ELWrapper.h
  head/contrib/llvm/tools/lldb/tools/driver/GetOptWrapper.cpp
     - copied unchanged from r257752, vendor/lldb/dist/tools/driver/GetOptWrapper.cpp
  head/contrib/llvm/tools/lldb/tools/driver/GetOptWrapper.h
     - copied unchanged from r257752, vendor/lldb/dist/tools/driver/GetOptWrapper.h
  head/contrib/llvm/tools/lldb/tools/driver/Platform.cpp
     - copied unchanged from r257752, vendor/lldb/dist/tools/driver/Platform.cpp
  head/contrib/llvm/tools/lldb/tools/driver/Platform.h
     - copied unchanged from r257752, vendor/lldb/dist/tools/driver/Platform.h
  head/contrib/llvm/tools/lldb/tools/lldb-platform/
     - copied from r257752, vendor/lldb/dist/tools/lldb-platform/
Deleted:
  head/contrib/llvm/tools/lldb/include/lldb/Utility/RefCounter.h
  head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContext_i386.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContext_i386.h
  head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContext_x86_64.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContext_x86_64.h
  head/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextCoreFreeBSD_x86_64.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextCoreFreeBSD_x86_64.h
  head/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextCoreLinux_x86_64.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextCoreLinux_x86_64.h
  head/contrib/llvm/tools/lldb/source/Utility/RefCounter.cpp
Modified:
  head/contrib/llvm/tools/lldb/include/lldb/API/SBHostOS.h
  head/contrib/llvm/tools/lldb/include/lldb/API/SBProcess.h
  head/contrib/llvm/tools/lldb/include/lldb/API/SBTarget.h
  head/contrib/llvm/tools/lldb/include/lldb/API/SBThread.h
  head/contrib/llvm/tools/lldb/include/lldb/Breakpoint/Breakpoint.h
  head/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointList.h
  head/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointLocation.h
  head/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointResolver.h
  head/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointSiteList.h
  head/contrib/llvm/tools/lldb/include/lldb/Breakpoint/StoppointLocation.h
  head/contrib/llvm/tools/lldb/include/lldb/Core/Address.h
  head/contrib/llvm/tools/lldb/include/lldb/Core/ArchSpec.h
  head/contrib/llvm/tools/lldb/include/lldb/Core/ConnectionFileDescriptor.h
  head/contrib/llvm/tools/lldb/include/lldb/Core/ConnectionMachPort.h
  head/contrib/llvm/tools/lldb/include/lldb/Core/ConstString.h
  head/contrib/llvm/tools/lldb/include/lldb/Core/DataExtractor.h
  head/contrib/llvm/tools/lldb/include/lldb/Core/Debugger.h
  head/contrib/llvm/tools/lldb/include/lldb/Core/Disassembler.h
  head/contrib/llvm/tools/lldb/include/lldb/Core/EmulateInstruction.h
  head/contrib/llvm/tools/lldb/include/lldb/Core/Error.h
  head/contrib/llvm/tools/lldb/include/lldb/Core/Flags.h
  head/contrib/llvm/tools/lldb/include/lldb/Core/Log.h
  head/contrib/llvm/tools/lldb/include/lldb/Core/Module.h
  head/contrib/llvm/tools/lldb/include/lldb/Core/ModuleList.h
  head/contrib/llvm/tools/lldb/include/lldb/Core/ModuleSpec.h
  head/contrib/llvm/tools/lldb/include/lldb/Core/Opcode.h
  head/contrib/llvm/tools/lldb/include/lldb/Core/PluginManager.h
  head/contrib/llvm/tools/lldb/include/lldb/Core/RangeMap.h
  head/contrib/llvm/tools/lldb/include/lldb/Core/RegularExpression.h
  head/contrib/llvm/tools/lldb/include/lldb/Core/UUID.h
  head/contrib/llvm/tools/lldb/include/lldb/Core/Value.h
  head/contrib/llvm/tools/lldb/include/lldb/Core/ValueObject.h
  head/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectDynamicValue.h
  head/contrib/llvm/tools/lldb/include/lldb/Core/dwarf.h
  head/contrib/llvm/tools/lldb/include/lldb/DataFormatters/CXXFormatterFunctions.h
  head/contrib/llvm/tools/lldb/include/lldb/DataFormatters/DataVisualization.h
  head/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatCache.h
  head/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatClasses.h
  head/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatManager.h
  head/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatNavigator.h
  head/contrib/llvm/tools/lldb/include/lldb/DataFormatters/TypeCategory.h
  head/contrib/llvm/tools/lldb/include/lldb/DataFormatters/TypeCategoryMap.h
  head/contrib/llvm/tools/lldb/include/lldb/DataFormatters/TypeSummary.h
  head/contrib/llvm/tools/lldb/include/lldb/DataFormatters/TypeSynthetic.h
  head/contrib/llvm/tools/lldb/include/lldb/Expression/ClangExpressionDeclMap.h
  head/contrib/llvm/tools/lldb/include/lldb/Expression/ClangFunction.h
  head/contrib/llvm/tools/lldb/include/lldb/Expression/ClangUserExpression.h
  head/contrib/llvm/tools/lldb/include/lldb/Expression/DWARFExpression.h
  head/contrib/llvm/tools/lldb/include/lldb/Expression/IRExecutionUnit.h
  head/contrib/llvm/tools/lldb/include/lldb/Expression/IRForTarget.h
  head/contrib/llvm/tools/lldb/include/lldb/Host/Condition.h
  head/contrib/llvm/tools/lldb/include/lldb/Host/Config.h
  head/contrib/llvm/tools/lldb/include/lldb/Host/File.h
  head/contrib/llvm/tools/lldb/include/lldb/Host/FileSpec.h
  head/contrib/llvm/tools/lldb/include/lldb/Host/Host.h
  head/contrib/llvm/tools/lldb/include/lldb/Host/Mutex.h
  head/contrib/llvm/tools/lldb/include/lldb/Host/ProcessRunLock.h
  head/contrib/llvm/tools/lldb/include/lldb/Host/SocketAddress.h
  head/contrib/llvm/tools/lldb/include/lldb/Host/Symbols.h
  head/contrib/llvm/tools/lldb/include/lldb/Host/Terminal.h
  head/contrib/llvm/tools/lldb/include/lldb/Host/TimeValue.h
  head/contrib/llvm/tools/lldb/include/lldb/Interpreter/Args.h
  head/contrib/llvm/tools/lldb/include/lldb/Interpreter/CommandObject.h
  head/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionGroupValueObjectDisplay.h
  head/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueBoolean.h
  head/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueEnumeration.h
  head/contrib/llvm/tools/lldb/include/lldb/Interpreter/Options.h
  head/contrib/llvm/tools/lldb/include/lldb/Interpreter/PythonDataObjects.h
  head/contrib/llvm/tools/lldb/include/lldb/Interpreter/ScriptInterpreter.h
  head/contrib/llvm/tools/lldb/include/lldb/Interpreter/ScriptInterpreterPython.h
  head/contrib/llvm/tools/lldb/include/lldb/Symbol/Block.h
  head/contrib/llvm/tools/lldb/include/lldb/Symbol/ClangASTImporter.h
  head/contrib/llvm/tools/lldb/include/lldb/Symbol/ClangASTType.h
  head/contrib/llvm/tools/lldb/include/lldb/Symbol/ClangNamespaceDecl.h
  head/contrib/llvm/tools/lldb/include/lldb/Symbol/ObjectFile.h
  head/contrib/llvm/tools/lldb/include/lldb/Symbol/Symbol.h
  head/contrib/llvm/tools/lldb/include/lldb/Symbol/SymbolContext.h
  head/contrib/llvm/tools/lldb/include/lldb/Symbol/Symtab.h
  head/contrib/llvm/tools/lldb/include/lldb/Symbol/Type.h
  head/contrib/llvm/tools/lldb/include/lldb/Symbol/TypeList.h
  head/contrib/llvm/tools/lldb/include/lldb/Target/DynamicLoader.h
  head/contrib/llvm/tools/lldb/include/lldb/Target/ExecutionContext.h
  head/contrib/llvm/tools/lldb/include/lldb/Target/Platform.h
  head/contrib/llvm/tools/lldb/include/lldb/Target/Process.h
  head/contrib/llvm/tools/lldb/include/lldb/Target/RegisterContext.h
  head/contrib/llvm/tools/lldb/include/lldb/Target/StackFrame.h
  head/contrib/llvm/tools/lldb/include/lldb/Target/StackFrameList.h
  head/contrib/llvm/tools/lldb/include/lldb/Target/StackID.h
  head/contrib/llvm/tools/lldb/include/lldb/Target/Target.h
  head/contrib/llvm/tools/lldb/include/lldb/Target/Thread.h
  head/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanCallFunction.h
  head/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanStepOverRange.h
  head/contrib/llvm/tools/lldb/include/lldb/Utility/SharingPtr.h
  head/contrib/llvm/tools/lldb/include/lldb/lldb-defines.h
  head/contrib/llvm/tools/lldb/include/lldb/lldb-enumerations.h
  head/contrib/llvm/tools/lldb/include/lldb/lldb-forward.h
  head/contrib/llvm/tools/lldb/include/lldb/lldb-private-enumerations.h
  head/contrib/llvm/tools/lldb/include/lldb/lldb-private-interfaces.h
  head/contrib/llvm/tools/lldb/include/lldb/lldb-private-log.h
  head/contrib/llvm/tools/lldb/include/lldb/lldb-private.h
  head/contrib/llvm/tools/lldb/include/lldb/lldb-types.h
  head/contrib/llvm/tools/lldb/include/lldb/lldb-versioning.h
  head/contrib/llvm/tools/lldb/source/API/SBCommandInterpreter.cpp
  head/contrib/llvm/tools/lldb/source/API/SBData.cpp
  head/contrib/llvm/tools/lldb/source/API/SBDebugger.cpp
  head/contrib/llvm/tools/lldb/source/API/SBFileSpec.cpp
  head/contrib/llvm/tools/lldb/source/API/SBFunction.cpp
  head/contrib/llvm/tools/lldb/source/API/SBHostOS.cpp
  head/contrib/llvm/tools/lldb/source/API/SBModuleSpec.cpp
  head/contrib/llvm/tools/lldb/source/API/SBProcess.cpp
  head/contrib/llvm/tools/lldb/source/API/SBSymbol.cpp
  head/contrib/llvm/tools/lldb/source/API/SBTarget.cpp
  head/contrib/llvm/tools/lldb/source/API/SBThread.cpp
  head/contrib/llvm/tools/lldb/source/API/SBType.cpp
  head/contrib/llvm/tools/lldb/source/API/SBTypeCategory.cpp
  head/contrib/llvm/tools/lldb/source/API/SBTypeNameSpecifier.cpp
  head/contrib/llvm/tools/lldb/source/API/SBValue.cpp
  head/contrib/llvm/tools/lldb/source/Breakpoint/Breakpoint.cpp
  head/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointList.cpp
  head/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointLocation.cpp
  head/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointLocationList.cpp
  head/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointResolver.cpp
  head/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointResolverFileLine.cpp
  head/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointResolverFileRegex.cpp
  head/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointResolverName.cpp
  head/contrib/llvm/tools/lldb/source/Breakpoint/StoppointLocation.cpp
  head/contrib/llvm/tools/lldb/source/Commands/CommandCompletions.cpp
  head/contrib/llvm/tools/lldb/source/Commands/CommandObjectArgs.cpp
  head/contrib/llvm/tools/lldb/source/Commands/CommandObjectBreakpoint.cpp
  head/contrib/llvm/tools/lldb/source/Commands/CommandObjectBreakpointCommand.cpp
  head/contrib/llvm/tools/lldb/source/Commands/CommandObjectCommands.cpp
  head/contrib/llvm/tools/lldb/source/Commands/CommandObjectDisassemble.cpp
  head/contrib/llvm/tools/lldb/source/Commands/CommandObjectExpression.cpp
  head/contrib/llvm/tools/lldb/source/Commands/CommandObjectExpression.h
  head/contrib/llvm/tools/lldb/source/Commands/CommandObjectFrame.cpp
  head/contrib/llvm/tools/lldb/source/Commands/CommandObjectHelp.cpp
  head/contrib/llvm/tools/lldb/source/Commands/CommandObjectLog.cpp
  head/contrib/llvm/tools/lldb/source/Commands/CommandObjectMemory.cpp
  head/contrib/llvm/tools/lldb/source/Commands/CommandObjectPlatform.cpp
  head/contrib/llvm/tools/lldb/source/Commands/CommandObjectProcess.cpp
  head/contrib/llvm/tools/lldb/source/Commands/CommandObjectRegister.cpp
  head/contrib/llvm/tools/lldb/source/Commands/CommandObjectSettings.cpp
  head/contrib/llvm/tools/lldb/source/Commands/CommandObjectSource.cpp
  head/contrib/llvm/tools/lldb/source/Commands/CommandObjectTarget.cpp
  head/contrib/llvm/tools/lldb/source/Commands/CommandObjectThread.cpp
  head/contrib/llvm/tools/lldb/source/Commands/CommandObjectType.cpp
  head/contrib/llvm/tools/lldb/source/Commands/CommandObjectWatchpoint.cpp
  head/contrib/llvm/tools/lldb/source/Commands/CommandObjectWatchpointCommand.cpp
  head/contrib/llvm/tools/lldb/source/Core/Address.cpp
  head/contrib/llvm/tools/lldb/source/Core/ArchSpec.cpp
  head/contrib/llvm/tools/lldb/source/Core/Communication.cpp
  head/contrib/llvm/tools/lldb/source/Core/ConnectionFileDescriptor.cpp
  head/contrib/llvm/tools/lldb/source/Core/ConnectionMachPort.cpp
  head/contrib/llvm/tools/lldb/source/Core/ConnectionSharedMemory.cpp
  head/contrib/llvm/tools/lldb/source/Core/ConstString.cpp
  head/contrib/llvm/tools/lldb/source/Core/DataBufferMemoryMap.cpp
  head/contrib/llvm/tools/lldb/source/Core/DataExtractor.cpp
  head/contrib/llvm/tools/lldb/source/Core/Debugger.cpp
  head/contrib/llvm/tools/lldb/source/Core/Disassembler.cpp
  head/contrib/llvm/tools/lldb/source/Core/Error.cpp
  head/contrib/llvm/tools/lldb/source/Core/FileLineResolver.cpp
  head/contrib/llvm/tools/lldb/source/Core/Log.cpp
  head/contrib/llvm/tools/lldb/source/Core/Mangled.cpp
  head/contrib/llvm/tools/lldb/source/Core/Module.cpp
  head/contrib/llvm/tools/lldb/source/Core/ModuleList.cpp
  head/contrib/llvm/tools/lldb/source/Core/Opcode.cpp
  head/contrib/llvm/tools/lldb/source/Core/PluginManager.cpp
  head/contrib/llvm/tools/lldb/source/Core/SearchFilter.cpp
  head/contrib/llvm/tools/lldb/source/Core/SourceManager.cpp
  head/contrib/llvm/tools/lldb/source/Core/Timer.cpp
  head/contrib/llvm/tools/lldb/source/Core/Value.cpp
  head/contrib/llvm/tools/lldb/source/Core/ValueObject.cpp
  head/contrib/llvm/tools/lldb/source/Core/ValueObjectDynamicValue.cpp
  head/contrib/llvm/tools/lldb/source/Core/ValueObjectSyntheticFilter.cpp
  head/contrib/llvm/tools/lldb/source/Core/ValueObjectVariable.cpp
  head/contrib/llvm/tools/lldb/source/DataFormatters/CXXFormatterFunctions.cpp
  head/contrib/llvm/tools/lldb/source/DataFormatters/DataVisualization.cpp
  head/contrib/llvm/tools/lldb/source/DataFormatters/FormatCache.cpp
  head/contrib/llvm/tools/lldb/source/DataFormatters/FormatManager.cpp
  head/contrib/llvm/tools/lldb/source/DataFormatters/TypeCategory.cpp
  head/contrib/llvm/tools/lldb/source/DataFormatters/TypeCategoryMap.cpp
  head/contrib/llvm/tools/lldb/source/DataFormatters/TypeFormat.cpp
  head/contrib/llvm/tools/lldb/source/DataFormatters/TypeSummary.cpp
  head/contrib/llvm/tools/lldb/source/Expression/ClangASTSource.cpp
  head/contrib/llvm/tools/lldb/source/Expression/ClangExpressionDeclMap.cpp
  head/contrib/llvm/tools/lldb/source/Expression/ClangExpressionParser.cpp
  head/contrib/llvm/tools/lldb/source/Expression/ClangFunction.cpp
  head/contrib/llvm/tools/lldb/source/Expression/ClangUserExpression.cpp
  head/contrib/llvm/tools/lldb/source/Expression/DWARFExpression.cpp
  head/contrib/llvm/tools/lldb/source/Expression/IRForTarget.cpp
  head/contrib/llvm/tools/lldb/source/Expression/IRInterpreter.cpp
  head/contrib/llvm/tools/lldb/source/Expression/IRMemoryMap.cpp
  head/contrib/llvm/tools/lldb/source/Expression/Materializer.cpp
  head/contrib/llvm/tools/lldb/source/Host/common/Condition.cpp
  head/contrib/llvm/tools/lldb/source/Host/common/File.cpp
  head/contrib/llvm/tools/lldb/source/Host/common/FileSpec.cpp
  head/contrib/llvm/tools/lldb/source/Host/common/Host.cpp
  head/contrib/llvm/tools/lldb/source/Host/common/Mutex.cpp
  head/contrib/llvm/tools/lldb/source/Host/common/SocketAddress.cpp
  head/contrib/llvm/tools/lldb/source/Host/common/Terminal.cpp
  head/contrib/llvm/tools/lldb/source/Host/common/TimeValue.cpp
  head/contrib/llvm/tools/lldb/source/Host/freebsd/Host.cpp
  head/contrib/llvm/tools/lldb/source/Interpreter/Args.cpp
  head/contrib/llvm/tools/lldb/source/Interpreter/CommandInterpreter.cpp
  head/contrib/llvm/tools/lldb/source/Interpreter/CommandObject.cpp
  head/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupArchitecture.cpp
  head/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupBoolean.cpp
  head/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupFile.cpp
  head/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupFormat.cpp
  head/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupOutputFile.cpp
  head/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupPlatform.cpp
  head/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupString.cpp
  head/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupUInt64.cpp
  head/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupUUID.cpp
  head/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupValueObjectDisplay.cpp
  head/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupVariable.cpp
  head/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupWatchpoint.cpp
  head/contrib/llvm/tools/lldb/source/Interpreter/OptionValueFileSpec.cpp
  head/contrib/llvm/tools/lldb/source/Interpreter/OptionValueProperties.cpp
  head/contrib/llvm/tools/lldb/source/Interpreter/Options.cpp
  head/contrib/llvm/tools/lldb/source/Interpreter/PythonDataObjects.cpp
  head/contrib/llvm/tools/lldb/source/Interpreter/ScriptInterpreter.cpp
  head/contrib/llvm/tools/lldb/source/Interpreter/ScriptInterpreterPython.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.h
  head/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.h
  head/contrib/llvm/tools/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/AuxVector.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.h
  head/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.h
  head/contrib/llvm/tools/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
  head/contrib/llvm/tools/lldb/source/Plugins/Instruction/ARM/EmulationStateARM.h
  head/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h
  head/contrib/llvm/tools/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.h
  head/contrib/llvm/tools/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h
  head/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.h
  head/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.h
  head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/POSIXThread.h
  head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/ProcessMessage.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/ProcessMessage.h
  head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/ProcessPOSIX.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/ProcessPOSIX.h
  head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextFreeBSD_x86_64.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextFreeBSD_x86_64.h
  head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextLinux_x86_64.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextLinux_x86_64.h
  head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIX.h
  head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContext_x86.h
  head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.h
  head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/InferiorCallPOSIX.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLLDB.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextMacOSXFrameBackchain.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/UnwindLLDB.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/ThreadElfCore.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/ThreadElfCore.h
  head/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
  head/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.h
  head/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.h
  head/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
  head/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.h
  head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFAbbreviationDeclaration.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFAbbreviationDeclaration.h
  head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFAttribute.h
  head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.h
  head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAbbrev.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAbbrev.h
  head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugArangeSet.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugArangeSet.h
  head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAranges.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAranges.h
  head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h
  head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugLine.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugLine.h
  head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacinfo.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacinfo.h
  head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacinfoEntry.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacinfoEntry.h
  head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugPubnames.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugPubnames.h
  head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugPubnamesSet.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugPubnamesSet.h
  head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.h
  head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDeclContext.h
  head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDefines.h
  head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.h
  head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFLocationDescription.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFLocationDescription.h
  head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFLocationList.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFLocationList.h
  head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/HashedNameToDIE.h
  head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/NameToDIE.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
  head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
  head/contrib/llvm/tools/lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.cpp
  head/contrib/llvm/tools/lldb/source/Symbol/ClangASTImporter.cpp
  head/contrib/llvm/tools/lldb/source/Symbol/ClangASTType.cpp
  head/contrib/llvm/tools/lldb/source/Symbol/CompileUnit.cpp
  head/contrib/llvm/tools/lldb/source/Symbol/DWARFCallFrameInfo.cpp
  head/contrib/llvm/tools/lldb/source/Symbol/FuncUnwinders.cpp
  head/contrib/llvm/tools/lldb/source/Symbol/LineEntry.cpp
  head/contrib/llvm/tools/lldb/source/Symbol/ObjectFile.cpp
  head/contrib/llvm/tools/lldb/source/Symbol/Symbol.cpp
  head/contrib/llvm/tools/lldb/source/Symbol/SymbolContext.cpp
  head/contrib/llvm/tools/lldb/source/Symbol/Symtab.cpp
  head/contrib/llvm/tools/lldb/source/Symbol/Type.cpp
  head/contrib/llvm/tools/lldb/source/Symbol/UnwindTable.cpp
  head/contrib/llvm/tools/lldb/source/Symbol/Variable.cpp
  head/contrib/llvm/tools/lldb/source/Target/ExecutionContext.cpp
  head/contrib/llvm/tools/lldb/source/Target/LanguageRuntime.cpp
  head/contrib/llvm/tools/lldb/source/Target/Platform.cpp
  head/contrib/llvm/tools/lldb/source/Target/Process.cpp
  head/contrib/llvm/tools/lldb/source/Target/RegisterContext.cpp
  head/contrib/llvm/tools/lldb/source/Target/StackFrame.cpp
  head/contrib/llvm/tools/lldb/source/Target/StackFrameList.cpp
  head/contrib/llvm/tools/lldb/source/Target/StopInfo.cpp
  head/contrib/llvm/tools/lldb/source/Target/Target.cpp
  head/contrib/llvm/tools/lldb/source/Target/TargetList.cpp
  head/contrib/llvm/tools/lldb/source/Target/Thread.cpp
  head/contrib/llvm/tools/lldb/source/Target/ThreadPlanRunToAddress.cpp
  head/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepOut.cpp
  head/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepOverRange.cpp
  head/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepRange.cpp
  head/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepThrough.cpp
  head/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepUntil.cpp
  head/contrib/llvm/tools/lldb/source/Target/UnixSignals.cpp
  head/contrib/llvm/tools/lldb/source/Utility/PseudoTerminal.cpp
  head/contrib/llvm/tools/lldb/source/Utility/SharingPtr.cpp
  head/contrib/llvm/tools/lldb/source/Utility/StringExtractor.cpp
  head/contrib/llvm/tools/lldb/source/Utility/StringExtractor.h
  head/contrib/llvm/tools/lldb/source/Utility/StringExtractorGDBRemote.cpp
  head/contrib/llvm/tools/lldb/source/Utility/StringExtractorGDBRemote.h
  head/contrib/llvm/tools/lldb/source/lldb-log.cpp
  head/contrib/llvm/tools/lldb/source/lldb.cpp
  head/contrib/llvm/tools/lldb/tools/driver/Driver.cpp
  head/contrib/llvm/tools/lldb/tools/driver/Driver.h
  head/contrib/llvm/tools/lldb/tools/driver/IOChannel.cpp
  head/contrib/llvm/tools/lldb/tools/driver/IOChannel.h
  head/lib/clang/liblldbCore/Makefile
  head/lib/clang/liblldbDataFormatters/Makefile
  head/lib/clang/liblldbHostCommon/Makefile
  head/lib/clang/liblldbPluginProcessElfCore/Makefile
  head/lib/clang/liblldbPluginProcessPOSIX/Makefile
  head/lib/clang/liblldbPluginSymbolFileDWARF/Makefile
  head/lib/clang/liblldbTarget/Makefile
  head/lib/clang/liblldbUtility/Makefile
Directory Properties:
  head/contrib/llvm/tools/lldb/   (props changed)

Modified: head/contrib/llvm/tools/lldb/include/lldb/API/SBHostOS.h
==============================================================================
--- head/contrib/llvm/tools/lldb/include/lldb/API/SBHostOS.h	Tue Nov 12 17:10:56 2013	(r258053)
+++ head/contrib/llvm/tools/lldb/include/lldb/API/SBHostOS.h	Tue Nov 12 17:25:33 2013	(r258054)
@@ -30,7 +30,7 @@ public:
 
     static lldb::thread_t
     ThreadCreate (const char *name,
-                  void *(*thread_function)(void *),
+                  thread_func_t thread_function,
                   void *thread_arg,
                   lldb::SBError *err);
 
@@ -43,7 +43,7 @@ public:
                   lldb::SBError *err);
     static bool
     ThreadJoin (lldb::thread_t thread,
-                void **result,
+                thread_result_t *result,
                 lldb::SBError *err);
 
 

Modified: head/contrib/llvm/tools/lldb/include/lldb/API/SBProcess.h
==============================================================================
--- head/contrib/llvm/tools/lldb/include/lldb/API/SBProcess.h	Tue Nov 12 17:10:56 2013	(r258053)
+++ head/contrib/llvm/tools/lldb/include/lldb/API/SBProcess.h	Tue Nov 12 17:25:33 2013	(r258054)
@@ -269,6 +269,38 @@ public:
     lldb::SBError
     UnloadImage (uint32_t image_token);
     
+    //------------------------------------------------------------------
+    /// Return the number of different thread-origin extended backtraces
+    /// this process can support.
+    ///
+    /// When the process is stopped and you have an SBThread, lldb may be
+    /// able to show a backtrace of when that thread was originally created,
+    /// or the work item was enqueued to it (in the case of a libdispatch 
+    /// queue).
+    ///
+    /// @return
+    ///   The number of thread-origin extended backtrace types that may be
+    ///   available.
+    //------------------------------------------------------------------
+    uint32_t
+    GetNumExtendedBacktraceTypes ();
+
+    //------------------------------------------------------------------
+    /// Return the name of one of the thread-origin extended backtrace 
+    /// methods.
+    ///
+    /// @param [in] idx
+    ///   The index of the name to return.  They will be returned in
+    ///   the order that the user will most likely want to see them.
+    ///   e.g. if the type at index 0 is not available for a thread, 
+    ///   see if the type at index 1 provides an extended backtrace.
+    ///
+    /// @return
+    ///   The name at that index.
+    //------------------------------------------------------------------
+    const char *
+    GetExtendedBacktraceTypeAtIndex (uint32_t idx);
+
 protected:
     friend class SBAddress;
     friend class SBBreakpoint;

Modified: head/contrib/llvm/tools/lldb/include/lldb/API/SBTarget.h
==============================================================================
--- head/contrib/llvm/tools/lldb/include/lldb/API/SBTarget.h	Tue Nov 12 17:10:56 2013	(r258053)
+++ head/contrib/llvm/tools/lldb/include/lldb/API/SBTarget.h	Tue Nov 12 17:25:33 2013	(r258054)
@@ -747,6 +747,9 @@ public:
     lldb::SBType
     GetBasicType(lldb::BasicType type);
     
+    lldb::SBValue
+    CreateValueFromAddress (const char *name, lldb::SBAddress addr, lldb::SBType type);
+    
     SBSourceManager
     GetSourceManager();
     

Modified: head/contrib/llvm/tools/lldb/include/lldb/API/SBThread.h
==============================================================================
--- head/contrib/llvm/tools/lldb/include/lldb/API/SBThread.h	Tue Nov 12 17:10:56 2013	(r258053)
+++ head/contrib/llvm/tools/lldb/include/lldb/API/SBThread.h	Tue Nov 12 17:25:33 2013	(r258054)
@@ -94,6 +94,9 @@ public:
     const char *
     GetQueueName() const;
 
+    lldb::queue_id_t
+    GetQueueID() const;
+
     void
     StepOver (lldb::RunMode stop_other_threads = lldb::eOnlyDuringStepping);
 
@@ -117,6 +120,9 @@ public:
                    lldb::SBFileSpec &file_spec, 
                    uint32_t line);
 
+    SBError
+    JumpToLine (lldb::SBFileSpec &file_spec, uint32_t line);
+
     void
     RunToAddress (lldb::addr_t addr);
     
@@ -195,6 +201,9 @@ public:
     bool
     GetStatus (lldb::SBStream &status) const;
 
+    SBThread
+    GetExtendedBacktrace (const char *type);
+
 protected:
     friend class SBBreakpoint;
     friend class SBBreakpointLocation;

Modified: head/contrib/llvm/tools/lldb/include/lldb/Breakpoint/Breakpoint.h
==============================================================================
--- head/contrib/llvm/tools/lldb/include/lldb/Breakpoint/Breakpoint.h	Tue Nov 12 17:10:56 2013	(r258053)
+++ head/contrib/llvm/tools/lldb/include/lldb/Breakpoint/Breakpoint.h	Tue Nov 12 17:25:33 2013	(r258054)
@@ -576,6 +576,12 @@ public:
     InvokeCallback (StoppointCallbackContext *context,
                     lldb::break_id_t bp_loc_id);
 
+    bool
+    IsHardware() const
+    {
+        return m_hardware;
+    }
+
 protected:
     friend class Target;
     //------------------------------------------------------------------
@@ -590,7 +596,10 @@ protected:
     /// variants that make breakpoints for some common cases.
     //------------------------------------------------------------------
     // This is the generic constructor
-    Breakpoint(Target &target, lldb::SearchFilterSP &filter_sp, lldb::BreakpointResolverSP &resolver_sp);
+    Breakpoint(Target &target,
+               lldb::SearchFilterSP &filter_sp,
+               lldb::BreakpointResolverSP &resolver_sp,
+               bool hardware);
     
     friend class BreakpointLocation;  // To call the following two when determining whether to stop.
 
@@ -609,12 +618,13 @@ private:
     // For Breakpoint only
     //------------------------------------------------------------------
     bool m_being_created;
+    bool m_hardware;                          // If this breakpoint is required to use a hardware breakpoint
     Target &m_target;                         // The target that holds this breakpoint.
     lldb::SearchFilterSP m_filter_sp;         // The filter that constrains the breakpoint's domain.
     lldb::BreakpointResolverSP m_resolver_sp; // The resolver that defines this breakpoint.
     BreakpointOptions m_options;              // Settable breakpoint options
     BreakpointLocationList m_locations;       // The list of locations currently found for this breakpoint.
-    std::string            m_kind_description;
+    std::string m_kind_description;
     
     void
     SendBreakpointChangedEvent (lldb::BreakpointEventType eventKind);

Modified: head/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointList.h
==============================================================================
--- head/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointList.h	Tue Nov 12 17:10:56 2013	(r258053)
+++ head/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointList.h	Tue Nov 12 17:25:33 2013	(r258054)
@@ -149,11 +149,17 @@ public:
     /// @param[in] module_list
     ///   The module list that has changed.
     ///
-    /// @param[in] added
+    /// @param[in] load
     ///   \b true if the modules are loaded, \b false if unloaded.
+    ///
+    /// @param[in] delete_locations
+    ///   If \a load is \b false, then delete breakpoint locations when
+    ///   when updating breakpoints.
     //------------------------------------------------------------------
     void
-    UpdateBreakpoints (ModuleList &module_list, bool added);
+    UpdateBreakpoints (ModuleList &module_list,
+                       bool load,
+                       bool delete_locations);
     
     void
     UpdateBreakpointsWhenModuleIsReplaced (lldb::ModuleSP old_module_sp, lldb::ModuleSP new_module_sp);

Modified: head/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointLocation.h
==============================================================================
--- head/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointLocation.h	Tue Nov 12 17:10:56 2013	(r258053)
+++ head/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointLocation.h	Tue Nov 12 17:25:33 2013	(r258054)
@@ -324,7 +324,6 @@ public:
 
 protected:
     friend class BreakpointLocationList;
-    friend class CommandObjectBreakpointCommandAdd;
     friend class Process;
 
     //------------------------------------------------------------------
@@ -375,8 +374,8 @@ private:
     BreakpointLocation (lldb::break_id_t bid,
                         Breakpoint &owner,
                         const Address &addr,
-                        lldb::tid_t tid = LLDB_INVALID_THREAD_ID,
-                        bool hardware = false);
+                        lldb::tid_t tid,
+                        bool hardware);
 
     //------------------------------------------------------------------
     // Data members:

Modified: head/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointResolver.h
==============================================================================
--- head/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointResolver.h	Tue Nov 12 17:10:56 2013	(r258053)
+++ head/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointResolver.h	Tue Nov 12 17:25:33 2013	(r258054)
@@ -134,6 +134,13 @@ public:
     }
 
 protected:
+    //------------------------------------------------------------------
+    /// SetSCMatchesByLine - Takes a symbol context list of matches which supposedly represent the same file and
+    /// line number in a CU, and find the nearest actual line number that matches, and then filter down the
+    /// matching addresses to unique entries, and skip the prologue if asked to do so, and then set
+    /// breakpoint locations in this breakpoint for all the resultant addresses.
+    void SetSCMatchesByLine (SearchFilter &filter, SymbolContextList &sc_list, bool skip_prologue, const char *log_ident);
+    
     Breakpoint *m_breakpoint;  // This is the breakpoint we add locations to.
 
 private:

Modified: head/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointSiteList.h
==============================================================================
--- head/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointSiteList.h	Tue Nov 12 17:10:56 2013	(r258053)
+++ head/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointSiteList.h	Tue Nov 12 17:25:33 2013	(r258054)
@@ -13,6 +13,7 @@
 // C Includes
 // C++ Includes
 #include <map>
+#include <functional>
 // Other libraries and framework includes
 // Project includes
 #include "lldb/Breakpoint/BreakpointSite.h"

Modified: head/contrib/llvm/tools/lldb/include/lldb/Breakpoint/StoppointLocation.h
==============================================================================
--- head/contrib/llvm/tools/lldb/include/lldb/Breakpoint/StoppointLocation.h	Tue Nov 12 17:10:56 2013	(r258053)
+++ head/contrib/llvm/tools/lldb/include/lldb/Breakpoint/StoppointLocation.h	Tue Nov 12 17:25:33 2013	(r258054)
@@ -72,20 +72,20 @@ public:
     uint32_t
     GetHardwareIndex () const
     {
-        return m_hw_index;
+        return m_hardware_index;
     }
 
 
     bool
-    HardwarePreferred () const
+    HardwareRequired () const
     {
-        return m_hw_preferred;
+        return m_hardware;
     }
 
     virtual bool
     IsHardware () const
     {
-        return m_hw_index != LLDB_INVALID_INDEX32;
+        return m_hardware_index != LLDB_INVALID_INDEX32;
     }
 
 
@@ -103,7 +103,7 @@ public:
     void
     SetHardwareIndex (uint32_t index)
     {
-        m_hw_index = index;
+        m_hardware_index = index;
     }
 
 
@@ -120,8 +120,8 @@ protected:
     lldb::break_id_t  m_loc_id;     // Stoppoint location ID
     lldb::addr_t      m_addr;       // The load address of this stop point. The base Stoppoint doesn't
                                     // store a full Address since that's not needed for the breakpoint sites.
-    bool        m_hw_preferred;     // 1 if this point has been requested to be set using hardware (which may fail due to lack of resources)
-    uint32_t    m_hw_index;         // The hardware resource index for this breakpoint/watchpoint
+    bool        m_hardware;         // True if this point has been is required to use hardware (which may fail due to lack of resources)
+    uint32_t    m_hardware_index;   // The hardware resource index for this breakpoint/watchpoint
     uint32_t    m_byte_size;        // The size in bytes of stop location.  e.g. the length of the trap opcode for
                                     // software breakpoints, or the optional length in bytes for
                                     // hardware breakpoints, or the length of the watchpoint.

Modified: head/contrib/llvm/tools/lldb/include/lldb/Core/Address.h
==============================================================================
--- head/contrib/llvm/tools/lldb/include/lldb/Core/Address.h	Tue Nov 12 17:10:56 2013	(r258053)
+++ head/contrib/llvm/tools/lldb/include/lldb/Core/Address.h	Tue Nov 12 17:25:33 2013	(r258054)
@@ -540,6 +540,18 @@ protected:
     //------------------------------------------------------------------
     lldb::SectionWP m_section_wp;   ///< The section for the address, can be NULL.
     std::atomic<lldb::addr_t> m_offset;      ///< Offset into section if \a m_section_wp is valid...
+    
+    //------------------------------------------------------------------
+    // Returns true if the m_section_wp once had a reference to a valid
+    // section shared pointer, but no longer does. This can happen if
+    // we have an address from a module that gets unloaded and deleted.
+    // This function should only be called if GetSection() returns an
+    // empty shared pointer and you want to know if this address used to
+    // have a valid section.
+    //------------------------------------------------------------------
+    bool
+    SectionWasDeleted() const;
+
 };
 
 

Modified: head/contrib/llvm/tools/lldb/include/lldb/Core/ArchSpec.h
==============================================================================
--- head/contrib/llvm/tools/lldb/include/lldb/Core/ArchSpec.h	Tue Nov 12 17:10:56 2013	(r258053)
+++ head/contrib/llvm/tools/lldb/include/lldb/Core/ArchSpec.h	Tue Nov 12 17:25:33 2013	(r258054)
@@ -41,6 +41,7 @@ public:
         eCore_arm_armv5e,
         eCore_arm_armv5t,
         eCore_arm_armv6,
+        eCore_arm_armv6m,
         eCore_arm_armv7,
         eCore_arm_armv7f,
         eCore_arm_armv7s,
@@ -53,6 +54,7 @@ public:
         eCore_thumbv5,
         eCore_thumbv5e,
         eCore_thumbv6,
+        eCore_thumbv6m,
         eCore_thumbv7,
         eCore_thumbv7f,
         eCore_thumbv7s,
@@ -60,6 +62,8 @@ public:
         eCore_thumbv7m,
         eCore_thumbv7em,
         
+        eCore_mips64,
+
         eCore_ppc_generic,
         eCore_ppc_ppc601,
         eCore_ppc_ppc602,

Modified: head/contrib/llvm/tools/lldb/include/lldb/Core/ConnectionFileDescriptor.h
==============================================================================
--- head/contrib/llvm/tools/lldb/include/lldb/Core/ConnectionFileDescriptor.h	Tue Nov 12 17:10:56 2013	(r258053)
+++ head/contrib/llvm/tools/lldb/include/lldb/Core/ConnectionFileDescriptor.h	Tue Nov 12 17:25:33 2013	(r258054)
@@ -11,20 +11,27 @@
 #define liblldb_ConnectionFileDescriptor_h_
 
 // C Includes
+#ifdef _WIN32
+typedef unsigned short in_port_t;
+#else
 #include <sys/socket.h>
 #include <sys/types.h>
 #include <netinet/in.h>
+#endif
 
 // C++ Includes
+#include <memory>
+
 // Other libraries and framework includes
 // Project includes
 #include "lldb/Core/Connection.h"
 #include "lldb/Host/Mutex.h"
 #include "lldb/Host/Predicate.h"
-#include "lldb/Host/SocketAddress.h"
 
 namespace lldb_private {
 
+class SocketAddress;
+
 class ConnectionFileDescriptor :
     public Connection
 {
@@ -70,6 +77,13 @@ public:
     GetWritePort () const;
 
 protected:
+
+    typedef enum
+    {
+        eFDTypeFile,        // Other FD requireing read/write
+        eFDTypeSocket,      // Socket requiring send/recv
+        eFDTypeSocketUDP    // Unconnected UDP socket requiring sendto/recvfrom
+    } FDType;
     
     void
     OpenCommandPipe ();
@@ -96,20 +110,13 @@ protected:
     NamedSocketConnect (const char *socket_name, Error *error_ptr);
     
     lldb::ConnectionStatus
-    Close (int& fd, Error *error);
-
-    typedef enum
-    {
-        eFDTypeFile,        // Other FD requireing read/write
-        eFDTypeSocket,      // Socket requiring send/recv
-        eFDTypeSocketUDP    // Unconnected UDP socket requiring sendto/recvfrom
-    } FDType;
+    Close (int& fd, FDType type, Error *error);
     
     int m_fd_send;
     int m_fd_recv;
     FDType m_fd_send_type;
     FDType m_fd_recv_type;
-    SocketAddress m_udp_send_sockaddr;
+    std::unique_ptr<SocketAddress> m_udp_send_sockaddr;
     bool m_should_close_fd;     // True if this class should close the file descriptor when it goes away.
     uint32_t m_socket_timeout_usec;
     int m_pipe_read;            // A pipe that we select on the reading end of along with

Modified: head/contrib/llvm/tools/lldb/include/lldb/Core/ConnectionMachPort.h
==============================================================================
--- head/contrib/llvm/tools/lldb/include/lldb/Core/ConnectionMachPort.h	Tue Nov 12 17:10:56 2013	(r258053)
+++ head/contrib/llvm/tools/lldb/include/lldb/Core/ConnectionMachPort.h	Tue Nov 12 17:25:33 2013	(r258054)
@@ -12,7 +12,8 @@
 #define liblldb_ConnectionMachPort_h_
 
 // C Includes
-#include <mach/mach.h>
+#include <mach/port.h>
+#include <mach/kern_return.h>
 
 // C++ Includes
 #include <string>

Modified: head/contrib/llvm/tools/lldb/include/lldb/Core/ConstString.h
==============================================================================
--- head/contrib/llvm/tools/lldb/include/lldb/Core/ConstString.h	Tue Nov 12 17:10:56 2013	(r258053)
+++ head/contrib/llvm/tools/lldb/include/lldb/Core/ConstString.h	Tue Nov 12 17:25:33 2013	(r258054)
@@ -86,7 +86,7 @@ public:
     /// @param[in] cstr
     ///     A pointer to the first character in the C string. The C 
     ///     string can be NULL terminated in a buffer that contains
-    ///     more characters than the length of the stirng, or the
+    ///     more characters than the length of the string, or the
     ///     string can be part of another string and a new substring
     ///     can be created.
     ///
@@ -148,11 +148,11 @@ public:
     ///     /b True this object contains a valid non-empty C string, \b 
     ///     false otherwise.
     //------------------------------------------------------------------
-    operator bool() const
+    explicit operator bool() const 
     {
         return m_string && m_string[0];
     }
-
+    
     //------------------------------------------------------------------
     /// Assignment operator
     ///

Modified: head/contrib/llvm/tools/lldb/include/lldb/Core/DataExtractor.h
==============================================================================
--- head/contrib/llvm/tools/lldb/include/lldb/Core/DataExtractor.h	Tue Nov 12 17:10:56 2013	(r258053)
+++ head/contrib/llvm/tools/lldb/include/lldb/Core/DataExtractor.h	Tue Nov 12 17:25:33 2013	(r258054)
@@ -468,6 +468,27 @@ public:
     }
     
     //------------------------------------------------------------------
+    /// Copy \a length bytes from \a *offset, without swapping bytes.
+    ///
+    /// @param[in] offset
+    ///     The offset into this data from which to start copying
+    ///
+    /// @param[in] length
+    ///     The length of the data to copy from this object
+    ///
+    /// @param[out] dst
+    ///     The buffer to place the output data.
+    ///
+    /// @return
+    ///     Returns the number of bytes that were copied, or zero if 
+    ///     anything goes wrong.
+    //------------------------------------------------------------------
+    lldb::offset_t
+    CopyData (lldb::offset_t offset,
+              lldb::offset_t length,
+              void *dst) const;
+
+    //------------------------------------------------------------------
     /// Copy \a dst_len bytes from \a *offset_ptr and ensure the copied
     /// data is treated as a value that can be swapped to match the
     /// specified byte order.

Modified: head/contrib/llvm/tools/lldb/include/lldb/Core/Debugger.h
==============================================================================
--- head/contrib/llvm/tools/lldb/include/lldb/Core/Debugger.h	Tue Nov 12 17:10:56 2013	(r258053)
+++ head/contrib/llvm/tools/lldb/include/lldb/Core/Debugger.h	Tue Nov 12 17:25:33 2013	(r258054)
@@ -13,7 +13,6 @@
 
 
 #include <stdint.h>
-#include <unistd.h>
 
 #include <stack>
 
@@ -323,6 +322,9 @@ public:
     GetDisassemblyLineCount () const;
     
     bool
+    GetAutoOneLineSummaries () const;
+    
+    bool
     GetNotifyVoid () const;
 
     

Modified: head/contrib/llvm/tools/lldb/include/lldb/Core/Disassembler.h
==============================================================================
--- head/contrib/llvm/tools/lldb/include/lldb/Core/Disassembler.h	Tue Nov 12 17:10:56 2013	(r258053)
+++ head/contrib/llvm/tools/lldb/include/lldb/Core/Disassembler.h	Tue Nov 12 17:25:33 2013	(r258054)
@@ -270,7 +270,8 @@ public:
                       const char *plugin_name,
                       const char *flavor,
                       const ExecutionContext &exe_ctx,
-                      const AddressRange &disasm_range);
+                      const AddressRange &disasm_range,
+                      bool prefer_file_cache);
     
     static lldb::DisassemblerSP 
     DisassembleBytes (const ArchSpec &arch,

Modified: head/contrib/llvm/tools/lldb/include/lldb/Core/EmulateInstruction.h
==============================================================================
--- head/contrib/llvm/tools/lldb/include/lldb/Core/EmulateInstruction.h	Tue Nov 12 17:10:56 2013	(r258053)
+++ head/contrib/llvm/tools/lldb/include/lldb/Core/EmulateInstruction.h	Tue Nov 12 17:25:33 2013	(r258054)
@@ -69,14 +69,14 @@
 /// debugging. The current debugging model is "process centric" where
 /// all threads must be stopped when any thread is stopped; when
 /// hitting software breakpoints we must disable the breakpoint by
-/// restoring the original breakpoint opcde, single stepping and 
+/// restoring the original breakpoint opcode, single stepping and
 /// restoring the breakpoint trap. If all threads were allowed to run
 /// then other threads could miss the breakpoint. 
 ///
 /// This class centralizes the code that usually is done in separate 
 /// code paths in a debugger (single step prediction, finding save
 /// restore locations of registers for unwinding stack frame variables)
-/// and emulating the intruction is just a bonus.
+/// and emulating the instruction is just a bonus.
 //----------------------------------------------------------------------
 
 namespace lldb_private {
@@ -394,7 +394,7 @@ public:
     // Mandatory overrides
     //----------------------------------------------------------------------    
     virtual bool
-    SupportsEmulatingIntructionsOfType (InstructionType inst_type) = 0;
+    SupportsEmulatingInstructionsOfType (InstructionType inst_type) = 0;
     
     virtual bool
     SetTargetTriple (const ArchSpec &arch) = 0;

Modified: head/contrib/llvm/tools/lldb/include/lldb/Core/Error.h
==============================================================================
--- head/contrib/llvm/tools/lldb/include/lldb/Core/Error.h	Tue Nov 12 17:10:56 2013	(r258053)
+++ head/contrib/llvm/tools/lldb/include/lldb/Core/Error.h	Tue Nov 12 17:25:33 2013	(r258054)
@@ -11,11 +11,10 @@
 #define __DCError_h__
 #if defined(__cplusplus)
 
-#if defined (__APPLE__)
-#include <mach/mach.h>
-#endif
-#include <stdint.h>
-#include <stdio.h>
+#include "llvm/Support/DataTypes.h"
+
+#include <cstdarg>
+#include <cstdio>
 #include <string>
 
 #include "lldb/lldb-private.h"
@@ -70,7 +69,7 @@ public:
     Error (ValueType err, lldb::ErrorType type = lldb::eErrorTypeGeneric);
 
     explicit
-    Error (const char* err_str);
+    Error (const char *format, ...) __attribute__ ((format (printf, 2, 3)));
     
     Error (const Error &rhs);
     //------------------------------------------------------------------

Modified: head/contrib/llvm/tools/lldb/include/lldb/Core/Flags.h
==============================================================================
--- head/contrib/llvm/tools/lldb/include/lldb/Core/Flags.h	Tue Nov 12 17:10:56 2013	(r258053)
+++ head/contrib/llvm/tools/lldb/include/lldb/Core/Flags.h	Tue Nov 12 17:25:33 2013	(r258054)
@@ -13,7 +13,6 @@
 
 
 #include <stdint.h>
-#include <unistd.h>
 
 namespace lldb_private {
 

Modified: head/contrib/llvm/tools/lldb/include/lldb/Core/Log.h
==============================================================================
--- head/contrib/llvm/tools/lldb/include/lldb/Core/Log.h	Tue Nov 12 17:10:56 2013	(r258053)
+++ head/contrib/llvm/tools/lldb/include/lldb/Core/Log.h	Tue Nov 12 17:25:33 2013	(r258054)
@@ -11,11 +11,10 @@
 #define liblldb_Log_h_
 
 // C Includes
-#include <stdbool.h>
+#include <stdarg.h>
 #include <stdint.h>
 #include <signal.h>
 #include <stdio.h>
-#include <unistd.h>
 
 // C++ Includes
 // Other libraries and framework includes

Modified: head/contrib/llvm/tools/lldb/include/lldb/Core/Module.h
==============================================================================
--- head/contrib/llvm/tools/lldb/include/lldb/Core/Module.h	Tue Nov 12 17:10:56 2013	(r258053)
+++ head/contrib/llvm/tools/lldb/include/lldb/Core/Module.h	Tue Nov 12 17:25:33 2013	(r258054)
@@ -347,6 +347,32 @@ public:
                    SymbolContextList& sc_list);
 
     //------------------------------------------------------------------
+    /// Find addresses by file/line
+    ///
+    /// @param[in] target_sp
+    ///     The target the addresses are desired for.
+    ///
+    /// @param[in] file
+    ///     Source file to locate.
+    ///
+    /// @param[in] line
+    ///     Source line to locate.
+    ///
+    /// @param[in] function
+    ///	    Optional filter function. Addresses within this function will be
+    ///     added to the 'local' list. All others will be added to the 'extern' list.
+    ///
+    /// @param[out] output_local
+    ///     All matching addresses within 'function'
+    ///
+    /// @param[out] output_extern
+    ///     All matching addresses not within 'function'
+    void FindAddressesForLine (const lldb::TargetSP target_sp,
+                               const FileSpec &file, uint32_t line,
+                               Function *function,
+                               std::vector<Address> &output_local, std::vector<Address> &output_extern);
+
+    //------------------------------------------------------------------
     /// Find global and static variables by name.
     ///
     /// @param[in] name
@@ -723,8 +749,49 @@ public:
     bool
     ResolveFileAddress (lldb::addr_t vm_addr, Address& so_addr);
 
+    //------------------------------------------------------------------
+    /// Resolve the symbol context for the given address.
+    ///
+    /// Tries to resolve the matching symbol context based on a lookup
+    /// from the current symbol vendor.  If the lazy lookup fails,
+    /// an attempt is made to parse the eh_frame section to handle 
+    /// stripped symbols.  If this fails, an attempt is made to resolve
+    /// the symbol to the previous address to handle the case of a 
+    /// function with a tail call.
+    ///
+    /// Use properties of the modified SymbolContext to inspect any
+    /// resolved target, module, compilation unit, symbol, function,
+    /// function block or line entry.  Use the return value to determine
+    /// which of these properties have been modified.
+    ///
+    /// @param[in] so_addr
+    ///     A load address to resolve.
+    ///
+    /// @param[in] resolve_scope
+    ///     The scope that should be resolved (see SymbolContext::Scope).
+    ///     A combination of flags from the enumeration SymbolContextItem
+    ///     requesting a resolution depth.  Note that the flags that are
+    ///     actually resolved may be a superset of the requested flags.
+    ///     For instance, eSymbolContextSymbol requires resolution of
+    ///     eSymbolContextModule, and eSymbolContextFunction requires
+    ///     eSymbolContextSymbol.
+    ///
+    /// @param[out] sc
+    ///     The SymbolContext that is modified based on symbol resolution.
+    ///
+    /// @param[in] resolve_tail_call_address
+    ///     Determines if so_addr should resolve to a symbol in the case
+    ///     of a function whose last instruction is a call.  In this case,
+    ///     the PC can be one past the address range of the function.
+    ///
+    /// @return
+    ///     The scope that has been resolved (see SymbolContext::Scope).
+    ///
+    /// @see SymbolContext::Scope
+    //------------------------------------------------------------------
     uint32_t
-    ResolveSymbolContextForAddress (const Address& so_addr, uint32_t resolve_scope, SymbolContext& sc);
+    ResolveSymbolContextForAddress (const Address& so_addr, uint32_t resolve_scope,
+                                    SymbolContext& sc, bool resolve_tail_call_address = false);
 
     //------------------------------------------------------------------
     /// Resolve items in the symbol context for a given file and line.

Modified: head/contrib/llvm/tools/lldb/include/lldb/Core/ModuleList.h
==============================================================================
--- head/contrib/llvm/tools/lldb/include/lldb/Core/ModuleList.h	Tue Nov 12 17:10:56 2013	(r258053)
+++ head/contrib/llvm/tools/lldb/include/lldb/Core/ModuleList.h	Tue Nov 12 17:25:33 2013	(r258054)
@@ -439,7 +439,35 @@ public:
     
     bool
     FindSourceFile (const FileSpec &orig_spec, FileSpec &new_spec) const;
-    
+
+
+    //------------------------------------------------------------------
+    /// Find addresses by file/line
+    ///
+    /// @param[in] target_sp
+    ///     The target the addresses are desired for.
+    ///
+    /// @param[in] file
+    ///     Source file to locate.
+    ///
+    /// @param[in] line
+    ///     Source line to locate.
+    ///
+    /// @param[in] function
+    ///     Optional filter function. Addresses within this function will be
+    ///     added to the 'local' list. All others will be added to the 'extern' list.
+    ///
+    /// @param[out] output_local
+    ///     All matching addresses within 'function'
+    ///
+    /// @param[out] output_extern
+    ///     All matching addresses not within 'function'
+    void FindAddressesForLine (const lldb::TargetSP target_sp,
+                               const FileSpec &file, uint32_t line,
+                               Function *function,
+                               std::vector<Address> &output_local, std::vector<Address> &output_extern);
+
+
     bool
     Remove (const lldb::ModuleSP &module_sp);
 

Modified: head/contrib/llvm/tools/lldb/include/lldb/Core/ModuleSpec.h
==============================================================================
--- head/contrib/llvm/tools/lldb/include/lldb/Core/ModuleSpec.h	Tue Nov 12 17:10:56 2013	(r258053)
+++ head/contrib/llvm/tools/lldb/include/lldb/Core/ModuleSpec.h	Tue Nov 12 17:25:33 2013	(r258054)
@@ -288,7 +288,7 @@ public:
     }
 
     
-    operator bool () const
+    explicit operator bool () const
     {
         if (m_file)
             return true;

Modified: head/contrib/llvm/tools/lldb/include/lldb/Core/Opcode.h
==============================================================================
--- head/contrib/llvm/tools/lldb/include/lldb/Core/Opcode.h	Tue Nov 12 17:10:56 2013	(r258053)
+++ head/contrib/llvm/tools/lldb/include/lldb/Core/Opcode.h	Tue Nov 12 17:25:33 2013	(r258054)
@@ -38,7 +38,7 @@ namespace lldb_private {
             eType64,
             eTypeBytes
         };
-        
+
         Opcode () : m_type (eTypeInvalid)
         {
         }
@@ -78,7 +78,7 @@ namespace lldb_private {
         {
             return m_type;
         }
-    
+
         uint8_t
         GetOpcode8 (uint8_t invalid_opcode = UINT8_MAX) const
         {
@@ -91,7 +91,6 @@ namespace lldb_private {
             case Opcode::eType32:       break;
             case Opcode::eType64:       break;
             case Opcode::eTypeBytes:    break;
-                break;
             }
             return invalid_opcode;
         }
@@ -157,7 +156,7 @@ namespace lldb_private {
             m_type = eType16;
             m_data.inst16 = inst;
         }
-        
+
         void
         SetOpcode16_2 (uint32_t inst)
         {
@@ -206,7 +205,7 @@ namespace lldb_private {
                 return m_data.inst.bytes;
             return NULL;
         }
-        
+
         uint32_t
         GetByteSize () const
         {
@@ -222,7 +221,7 @@ namespace lldb_private {
             }
             return 0;
         }
-        
+
         // Get the opcode exactly as it would be laid out in memory.
         uint32_t
         GetData (DataExtractor &data) const;
@@ -246,7 +245,7 @@ namespace lldb_private {
             }
             return NULL;
         }
-        
+
         lldb::ByteOrder
         GetDataByteOrder () const;
 
@@ -257,7 +256,7 @@ namespace lldb_private {
             uint16_t inst16;
             uint32_t inst32;
             uint64_t inst64;
-            struct 
+            struct
             {
                 uint8_t bytes[16]; // This must be big enough to handle any opcode for any supported target.
                 uint8_t length;

Modified: head/contrib/llvm/tools/lldb/include/lldb/Core/PluginManager.h
==============================================================================
--- head/contrib/llvm/tools/lldb/include/lldb/Core/PluginManager.h	Tue Nov 12 17:10:56 2013	(r258053)
+++ head/contrib/llvm/tools/lldb/include/lldb/Core/PluginManager.h	Tue Nov 12 17:25:33 2013	(r258054)
@@ -132,6 +132,24 @@ public:
 
 
     //------------------------------------------------------------------
+    // SystemRuntime
+    //------------------------------------------------------------------
+    static bool
+    RegisterPlugin (const ConstString &name,
+                    const char *description,
+                    SystemRuntimeCreateInstance create_callback);
+
+    static bool
+    UnregisterPlugin (SystemRuntimeCreateInstance create_callback);
+
+    static SystemRuntimeCreateInstance
+    GetSystemRuntimeCreateCallbackAtIndex (uint32_t idx);
+
+    static SystemRuntimeCreateInstance
+    GetSystemRuntimeCreateCallbackForPluginName (const ConstString &name);
+
+
+    //------------------------------------------------------------------
     // ObjectFile
     //------------------------------------------------------------------
     static bool

Modified: head/contrib/llvm/tools/lldb/include/lldb/Core/RangeMap.h
==============================================================================
--- head/contrib/llvm/tools/lldb/include/lldb/Core/RangeMap.h	Tue Nov 12 17:10:56 2013	(r258053)
+++ head/contrib/llvm/tools/lldb/include/lldb/Core/RangeMap.h	Tue Nov 12 17:25:33 2013	(r258054)
@@ -592,7 +592,7 @@ namespace lldb_private {
         void
         Reserve (typename Collection::size_type size)
         {
-            m_entries.resize (size);
+            m_entries.reserve (size);
         }
 
         bool
@@ -1229,16 +1229,11 @@ namespace lldb_private {
                 typename Collection::const_iterator end = m_entries.end();
                 typename Collection::const_iterator pos = std::lower_bound (begin, end, entry, BaseLessThan);
                 
+                while(pos != begin && pos[-1].Contains(addr))
+                    --pos;
+
                 if (pos != end && pos->Contains(addr))
-                {
                     return std::distance (begin, pos);
-                }
-                else if (pos != begin)
-                {
-                    --pos;
-                    if (pos->Contains(addr))
-                        return std::distance (begin, pos);
-                }
             }
             return UINT32_MAX;
         }
@@ -1257,19 +1252,12 @@ namespace lldb_private {
                 typename Collection::iterator begin = m_entries.begin();
                 typename Collection::iterator end = m_entries.end();
                 typename Collection::iterator pos = std::lower_bound (begin, end, entry, BaseLessThan);
+
+                while(pos != begin && pos[-1].Contains(addr))
+                    --pos;
                 
                 if (pos != end && pos->Contains(addr))
-                {
                     return &(*pos);
-                }
-                else if (pos != begin)
-                {
-                    --pos;
-                    if (pos->Contains(addr))
-                    {
-                        return &(*pos);
-                    }
-                }
             }
             return NULL;
         }
@@ -1288,18 +1276,11 @@ namespace lldb_private {
                 typename Collection::const_iterator end = m_entries.end();
                 typename Collection::const_iterator pos = std::lower_bound (begin, end, entry, BaseLessThan);
                 
-                if (pos != end && pos->Contains(addr))
-                {
-                    return &(*pos); 
-                }
-                else if (pos != begin)
-                {
+                while(pos != begin && pos[-1].Contains(addr))
                     --pos;
-                    if (pos->Contains(addr))
-                    {
-                        return &(*pos); 
-                    }
-                }
+
+                if (pos != end && pos->Contains(addr))
+                    return &(*pos);
             }
             return NULL;
         }
@@ -1316,18 +1297,11 @@ namespace lldb_private {
                 typename Collection::const_iterator end = m_entries.end();
                 typename Collection::const_iterator pos = std::lower_bound (begin, end, range, BaseLessThan);
                 
-                if (pos != end && pos->Contains(range))
-                {
-                    return &(*pos); 
-                }
-                else if (pos != begin)
-                {
+                while(pos != begin && pos[-1].Contains(range))
                     --pos;
-                    if (pos->Contains(range))
-                    {
-                        return &(*pos); 
-                    }
-                }
+
+                if (pos != end && pos->Contains(range))
+                    return &(*pos);
             }
             return NULL;
         }
@@ -1501,12 +1475,15 @@ namespace lldb_private {
                 typename Collection::iterator end = m_entries.end();
                 typename Collection::iterator pos = std::lower_bound (begin, end, entry, BaseLessThan);
                 
+                while(pos != begin && pos[-1].addr == addr)
+                    --pos;
+
                 if (pos != end)
                 {
                     if (pos->addr == addr || !exact_match_only)
                         return &(*pos);
                 }
-           }
+            }
             return NULL;
         }
         

Modified: head/contrib/llvm/tools/lldb/include/lldb/Core/RegularExpression.h
==============================================================================
--- head/contrib/llvm/tools/lldb/include/lldb/Core/RegularExpression.h	Tue Nov 12 17:10:56 2013	(r258053)
+++ head/contrib/llvm/tools/lldb/include/lldb/Core/RegularExpression.h	Tue Nov 12 17:25:33 2013	(r258054)
@@ -11,7 +11,36 @@
 #define liblldb_DBRegex_h_
 #if defined(__cplusplus)
 
+#ifdef _WIN32
+#include "../lib/Support/regex_impl.h"
+
+typedef llvm_regmatch_t regmatch_t;
+typedef llvm_regex_t regex_t;
+
+inline int regcomp(llvm_regex_t * a, const char *b, int c)
+{
+    return llvm_regcomp(a, b, c);
+}
+
+inline size_t regerror(int a, const llvm_regex_t *b, char *c, size_t d)
+{
+    return llvm_regerror(a, b, c, d);
+}
+
+inline int regexec(const llvm_regex_t * a, const char * b, size_t c,
+    llvm_regmatch_t d [], int e)
+{
+    return llvm_regexec(a, b, c, d, e);
+}
+
+inline void regfree(llvm_regex_t * a)
+{
+    llvm_regfree(a);
+}
+
+#else
 #include <regex.h>
+#endif
 #include <stdint.h>
 
 #include <string>

Copied: head/contrib/llvm/tools/lldb/include/lldb/Core/StreamGDBRemote.h (from r257752, vendor/lldb/dist/include/lldb/Core/StreamGDBRemote.h)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/contrib/llvm/tools/lldb/include/lldb/Core/StreamGDBRemote.h	Tue Nov 12 17:25:33 2013	(r258054, copy of r257752, vendor/lldb/dist/include/lldb/Core/StreamGDBRemote.h)
@@ -0,0 +1,54 @@
+//===-- StreamGDBRemote.h ----------------------------------------*- C++ -*-===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef liblldb_StreamGDBRemote_h_
+#define liblldb_StreamGDBRemote_h_
+
+// C Includes
+// C++ Includes
+
+// Other libraries and framework includes
+// Project includes
+
+#include "lldb/Core/StreamString.h"
+
+namespace lldb_private {
+    
+    class StreamGDBRemote : public StreamString
+    {
+        public:
+        StreamGDBRemote ();
+        
+        StreamGDBRemote (uint32_t flags,
+                         uint32_t addr_size,
+                         lldb::ByteOrder byte_order);
+        
+        virtual
+        ~StreamGDBRemote ();
+        
+        //------------------------------------------------------------------
+        /// Output a block of data to the stream performing GDB-remote escaping.
+        ///
+        /// @param[in] s
+        ///     A block of data.
+        ///
+        /// @param[in] src_len
+        ///     The amount of data to write.
+        ///
+        /// @return
+        ///     Number of bytes written.
+        //------------------------------------------------------------------
+        int

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

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 17:44:29 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id E85D67AF;
 Tue, 12 Nov 2013 17:44:29 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id D7ED62891;
 Tue, 12 Nov 2013 17:44:29 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rACHiTgN040076;
 Tue, 12 Nov 2013 17:44:29 GMT (envelope-from dteske@svn.freebsd.org)
Received: (from dteske@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rACHiTRa040075;
 Tue, 12 Nov 2013 17:44:29 GMT (envelope-from dteske@svn.freebsd.org)
Message-Id: <201311121744.rACHiTRa040075@svn.freebsd.org>
From: Devin Teske <dteske@FreeBSD.org>
Date: Tue, 12 Nov 2013 17:44:29 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258055 - head/sbin/sysctl
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 17:44:30 -0000

Author: dteske
Date: Tue Nov 12 17:44:29 2013
New Revision: 258055
URL: http://svnweb.freebsd.org/changeset/base/258055

Log:
  Fix a typo: s/wriable/writable/

Modified:
  head/sbin/sysctl/sysctl.8

Modified: head/sbin/sysctl/sysctl.8
==============================================================================
--- head/sbin/sysctl/sysctl.8	Tue Nov 12 17:25:33 2013	(r258054)
+++ head/sbin/sysctl/sysctl.8	Tue Nov 12 17:44:29 2013	(r258055)
@@ -130,7 +130,7 @@ to standard error.
 .It Fl T
 Display only variables that are setable via loader (CTLFLAG_TUN).
 .It Fl W
-Display only wriable variables that are not statistical.
+Display only writable variables that are not statistical.
 Useful for determining the set of runtime tunable sysctls.
 .It Fl X
 Equivalent to

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 17:46:11 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id C9E31921;
 Tue, 12 Nov 2013 17:46:11 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id B998128AB;
 Tue, 12 Nov 2013 17:46:11 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rACHkBog040343;
 Tue, 12 Nov 2013 17:46:11 GMT (envelope-from alc@svn.freebsd.org)
Received: (from alc@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rACHkBCZ040342;
 Tue, 12 Nov 2013 17:46:11 GMT (envelope-from alc@svn.freebsd.org)
Message-Id: <201311121746.rACHkBCZ040342@svn.freebsd.org>
From: Alan Cox <alc@FreeBSD.org>
Date: Tue, 12 Nov 2013 17:46:11 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258056 - head/sys/kern
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 17:46:11 -0000

Author: alc
Date: Tue Nov 12 17:46:11 2013
New Revision: 258056
URL: http://svnweb.freebsd.org/changeset/base/258056

Log:
  Eliminate the gratuitous use of mmap(2) flags from the implementation
  of kern_shmat().  Use a simpler approach to determine whether to pass
  VMFS_NO_SPACE or VMFS_OPTIMAL_SPACE to vm_map_find().

Modified:
  head/sys/kern/sysv_shm.c

Modified: head/sys/kern/sysv_shm.c
==============================================================================
--- head/sys/kern/sysv_shm.c	Tue Nov 12 17:44:29 2013	(r258055)
+++ head/sys/kern/sysv_shm.c	Tue Nov 12 17:46:11 2013	(r258056)
@@ -342,7 +342,7 @@ kern_shmat(td, shmid, shmaddr, shmflg)
 	int shmflg;
 {
 	struct proc *p = td->td_proc;
-	int i, flags;
+	int i;
 	struct shmid_kernel *shmseg;
 	struct shmmap_state *shmmap_s = NULL;
 	vm_offset_t attach_va;
@@ -389,9 +389,7 @@ kern_shmat(td, shmid, shmaddr, shmflg)
 	prot = VM_PROT_READ;
 	if ((shmflg & SHM_RDONLY) == 0)
 		prot |= VM_PROT_WRITE;
-	flags = MAP_ANON | MAP_SHARED;
 	if (shmaddr) {
-		flags |= MAP_FIXED;
 		if (shmflg & SHM_RND) {
 			attach_va = (vm_offset_t)shmaddr & ~(SHMLBA-1);
 		} else if (((vm_offset_t)shmaddr & (SHMLBA-1)) == 0) {
@@ -413,7 +411,7 @@ kern_shmat(td, shmid, shmaddr, shmflg)
 
 	vm_object_reference(shmseg->object);
 	rv = vm_map_find(&p->p_vmspace->vm_map, shmseg->object,
-	    0, &attach_va, size, 0, (flags & MAP_FIXED) ? VMFS_NO_SPACE :
+	    0, &attach_va, size, 0, shmaddr != NULL ? VMFS_NO_SPACE :
 	    VMFS_OPTIMAL_SPACE, prot, prot, MAP_INHERIT_SHARE);
 	if (rv != KERN_SUCCESS) {
 		vm_object_deallocate(shmseg->object);

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 18:02:58 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 896A6EEE;
 Tue, 12 Nov 2013 18:02:58 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 770CA29B3;
 Tue, 12 Nov 2013 18:02:58 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rACI2wGE046714;
 Tue, 12 Nov 2013 18:02:58 GMT (envelope-from br@svn.freebsd.org)
Received: (from br@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rACI2uwb046703;
 Tue, 12 Nov 2013 18:02:56 GMT (envelope-from br@svn.freebsd.org)
Message-Id: <201311121802.rACI2uwb046703@svn.freebsd.org>
From: Ruslan Bukin <br@FreeBSD.org>
Date: Tue, 12 Nov 2013 18:02:56 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258057 - in head/sys: arm/conf arm/freescale/vybrid
 boot/fdt/dts dev/uart
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 18:02:58 -0000

Author: br
Date: Tue Nov 12 18:02:56 2013
New Revision: 258057
URL: http://svnweb.freebsd.org/changeset/base/258057

Log:
  Add support for Freescale Vybrid Family VF600 heterogeneous
  ARM Cortex-A5/M4 SoC (M4 core is not used in this work).
  
  Support includes device drivers for:
  - NAND Flash Controller (NFC)
  - USB Enhanced Host Controller Interface (EHCI)
  - General-Purpose Input/Output (GPIO)
  - Universal Asynchronous Receiver/Transmitter (UART)
  
  Also supported:
  - Generic Interrupt Controller (GIC)
  - MPCore timer
  - ffec ethernet driver
  
  Reviewed by:	ray
  Approved by:	cognet (mentor)

Added:
  head/sys/arm/conf/COSMIC   (contents, props changed)
  head/sys/arm/freescale/vybrid/
  head/sys/arm/freescale/vybrid/files.vybrid   (contents, props changed)
  head/sys/arm/freescale/vybrid/std.vybrid   (contents, props changed)
  head/sys/arm/freescale/vybrid/vf_anadig.c   (contents, props changed)
  head/sys/arm/freescale/vybrid/vf_ccm.c   (contents, props changed)
  head/sys/arm/freescale/vybrid/vf_common.c   (contents, props changed)
  head/sys/arm/freescale/vybrid/vf_common.h   (contents, props changed)
  head/sys/arm/freescale/vybrid/vf_ehci.c   (contents, props changed)
  head/sys/arm/freescale/vybrid/vf_gpio.c   (contents, props changed)
  head/sys/arm/freescale/vybrid/vf_iomuxc.c   (contents, props changed)
  head/sys/arm/freescale/vybrid/vf_iomuxc.h   (contents, props changed)
  head/sys/arm/freescale/vybrid/vf_machdep.c   (contents, props changed)
  head/sys/arm/freescale/vybrid/vf_mscm.c   (contents, props changed)
  head/sys/arm/freescale/vybrid/vf_nfc.c   (contents, props changed)
  head/sys/arm/freescale/vybrid/vf_src.c   (contents, props changed)
  head/sys/arm/freescale/vybrid/vf_src.h   (contents, props changed)
  head/sys/arm/freescale/vybrid/vf_uart.c   (contents, props changed)
  head/sys/boot/fdt/dts/vybrid-cosmic.dts   (contents, props changed)
  head/sys/boot/fdt/dts/vybrid.dtsi   (contents, props changed)
Modified:
  head/sys/dev/uart/uart.h
  head/sys/dev/uart/uart_bus_fdt.c

Added: head/sys/arm/conf/COSMIC
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sys/arm/conf/COSMIC	Tue Nov 12 18:02:56 2013	(r258057)
@@ -0,0 +1,139 @@
+# Kernel configuration for Cosmic Board (Freescale Vybrid Family development board).
+#
+# For more information on this file, please read the config(5) manual page,
+# and/or the handbook section on Kernel Configuration Files:
+#
+#    http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
+#
+# The handbook is also available locally in /usr/share/doc/handbook
+# if you've installed the doc distribution, otherwise always see the
+# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the
+# latest information.
+#
+# An exhaustive list of options and more detailed explanations of the
+# device lines is also present in the ../../conf/NOTES and NOTES files.
+# If you are in doubt as to the purpose or necessity of a line, check first
+# in NOTES.
+#
+# $FreeBSD$
+
+ident		COSMIC
+
+include		"../freescale/vybrid/std.vybrid"
+
+makeoptions	MODULES_OVERRIDE=""
+makeoptions	WITHOUT_MODULES="ahc"
+
+makeoptions	DEBUG=-g		#Build kernel with gdb(1) debug symbols
+makeoptions	WERROR="-Werror"
+
+options		HZ=100 ##
+options		SCHED_4BSD		#4BSD scheduler
+options		INET			#InterNETworking
+options		INET6			#IPv6 communications protocols
+options		FFS			#Berkeley Fast Filesystem
+options		SOFTUPDATES
+options		UFS_ACL			#Support for access control lists
+options		UFS_DIRHASH		#Improve performance on big directories
+options		MSDOSFS			#MSDOS Filesystem
+options		CD9660			#ISO 9660 Filesystem
+options		PROCFS			#Process filesystem (requires PSEUDOFS)
+options		PSEUDOFS		#Pseudo-filesystem framework
+#options		NANDFS			#NAND Filesystem
+options		TMPFS
+options		COMPAT_43		#Compatible with BSD 4.3 [KEEP THIS!]
+options		SCSI_DELAY=5000		#Delay (in ms) before probing SCSI
+options		KTRACE
+options		SYSVSHM			#SYSV-style shared memory
+options		SYSVMSG			#SYSV-style message queues
+options		SYSVSEM			#SYSV-style semaphores
+options		_KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions
+options		KBD_INSTALL_CDEV
+options		PREEMPTION
+options		FREEBSD_BOOT_LOADER
+options 	VFP		# vfp/neon
+
+# Debugging
+makeoptions	DEBUG=-g		#Build kernel with gdb(1) debug symbols
+options		BREAK_TO_DEBUGGER
+#options	VERBOSE_SYSINIT		#Enable verbose sysinit messages
+options		KDB
+options		DDB			#Enable the kernel debugger
+options		INVARIANTS		#Enable calls of extra sanity checking
+options		INVARIANT_SUPPORT	#Extra sanity checks of internal structures, required by INVARIANTS
+#options	WITNESS			#Enable checks to detect deadlocks and cycles
+#options	WITNESS_SKIPSPIN	#Don't run witness on spinlocks for speed
+options		DIAGNOSTIC
+
+# NFS support
+options		NFSCL			#Network Filesystem Client
+options		NFSLOCKD		#Network Lock Manager
+options		NFS_ROOT		#NFS usable as /, requires NFSCLIENT
+
+# Uncomment this for NFS root
+#options	NFS_ROOT		#NFS usable as /, requires NFSCL
+#options	BOOTP_NFSROOT
+#options	BOOTP_COMPAT
+#options	BOOTP
+#options	BOOTP_NFSV3
+#options	BOOTP_WIRED_TO=ffec0
+
+device		mmc			# mmc/sd bus
+device		mmcsd			# mmc/sd flash cards
+device		sdhci			# generic sdhci
+
+#options		ROOTDEVNAME=\"nfs:10.5.0.1:/tftpboot/cosmic\"
+#options		ROOTDEVNAME=\"nandfs:/dev/gnand0s.root\"
+options		ROOTDEVNAME=\"ufs:/dev/da0\"
+
+#options	SMP
+
+# Pseudo devices
+
+device		loop
+device		random
+device		pty
+device		md
+device		gpio
+
+# USB support
+device		usb
+options		USB_DEBUG
+#options	USB_REQ_DEBUG
+#options	USB_VERBOSE
+#device		musb
+device		ehci
+#device		ohci
+
+device		umass
+device		scbus			# SCSI bus (required for SCSI)
+device		da			# Direct Access (disks)
+device		pass
+
+# SATA
+#device		ata
+#device		atadisk
+#device		mvs
+
+device		nand
+
+# Serial ports
+device		uart
+
+# I2C (TWSI)
+#device		iic
+#device		iicbus
+
+# Ethernet
+device		ether
+device		ffec
+
+# USB ethernet support, requires miibus
+device		miibus
+device		axe			# ASIX Electronics USB Ethernet
+device		bpf			# Berkeley packet filter
+
+#FDT
+options		FDT
+options		FDT_DTB_STATIC
+makeoptions	FDT_DTS_FILE=vybrid-cosmic.dts

Added: head/sys/arm/freescale/vybrid/files.vybrid
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sys/arm/freescale/vybrid/files.vybrid	Tue Nov 12 18:02:56 2013	(r258057)
@@ -0,0 +1,28 @@
+# $FreeBSD$
+
+kern/kern_clocksource.c				standard
+
+arm/arm/bus_space_generic.c			standard
+arm/arm/bus_space_asm_generic.S			standard
+arm/arm/cpufunc_asm_armv5.S			standard
+arm/arm/cpufunc_asm_arm10.S			standard
+arm/arm/cpufunc_asm_arm11.S			standard
+arm/arm/cpufunc_asm_armv7.S			standard
+arm/arm/irq_dispatch.S				standard
+
+arm/arm/bus_space-v6.c				standard
+arm/arm/gic.c					standard
+arm/arm/mpcore_timer.c				standard
+
+arm/freescale/vybrid/vf_machdep.c		standard
+arm/freescale/vybrid/vf_common.c		standard
+arm/freescale/vybrid/vf_ccm.c			standard
+arm/freescale/vybrid/vf_anadig.c		standard
+arm/freescale/vybrid/vf_iomuxc.c		standard
+arm/freescale/vybrid/vf_mscm.c			standard
+arm/freescale/vybrid/vf_src.c			standard
+arm/freescale/vybrid/vf_nfc.c			optional	nand
+arm/freescale/vybrid/vf_ehci.c			optional	ehci
+arm/freescale/vybrid/vf_gpio.c			optional	gpio
+arm/freescale/vybrid/vf_uart.c			optional	uart
+dev/ffec/if_ffec.c				optional	ffec

Added: head/sys/arm/freescale/vybrid/std.vybrid
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sys/arm/freescale/vybrid/std.vybrid	Tue Nov 12 18:02:56 2013	(r258057)
@@ -0,0 +1,20 @@
+# $FreeBSD$
+
+makeoption	ARM_LITTLE_ENDIAN
+
+cpu		CPU_CORTEXA
+machine		arm armv6
+
+options		PHYSADDR=0x80000000
+
+makeoptions	KERNPHYSADDR=0x80100000
+options		KERNPHYSADDR=0x80100000
+
+makeoptions	KERNVIRTADDR=0xc0100000
+options		KERNVIRTADDR=0xc0100000
+
+options		STARTUP_PAGETABLE_ADDR=0x81000000
+
+options		ARM_L2_PIPT
+
+files		"../freescale/vybrid/files.vybrid"

Added: head/sys/arm/freescale/vybrid/vf_anadig.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sys/arm/freescale/vybrid/vf_anadig.c	Tue Nov 12 18:02:56 2013	(r258057)
@@ -0,0 +1,214 @@
+/*-
+ * Copyright (c) 2013 Ruslan Bukin <br@bsdpad.com>
+ * 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.
+ */
+
+/*
+ * Vybrid Family Analog components control digital interface (ANADIG)
+ * Chapter 11, Vybrid Reference Manual, Rev. 5, 07/2013
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include <sys/param.h>
+#include <sys/systm.h>
+#include <sys/bus.h>
+#include <sys/kernel.h>
+#include <sys/module.h>
+#include <sys/malloc.h>
+#include <sys/rman.h>
+#include <sys/timeet.h>
+#include <sys/timetc.h>
+#include <sys/watchdog.h>
+
+#include <dev/fdt/fdt_common.h>
+#include <dev/ofw/openfirm.h>
+#include <dev/ofw/ofw_bus.h>
+#include <dev/ofw/ofw_bus_subr.h>
+
+#include <machine/bus.h>
+#include <machine/fdt.h>
+#include <machine/cpu.h>
+#include <machine/intr.h>
+
+#include <arm/freescale/vybrid/vf_common.h>
+
+#define	ANADIG_PLL3_CTRL	0x010	/* PLL3 Control */
+#define	ANADIG_PLL7_CTRL	0x020	/* PLL7 Control */
+#define	ANADIG_PLL2_CTRL	0x030	/* PLL2 Control */
+#define	ANADIG_PLL2_SS		0x040	/* PLL2 Spread Spectrum */
+#define	ANADIG_PLL2_NUM		0x050	/* PLL2 Numerator */
+#define	ANADIG_PLL2_DENOM	0x060	/* PLL2 Denominator */
+#define	ANADIG_PLL4_CTRL	0x070	/* PLL4 Control */
+#define	ANADIG_PLL4_NUM		0x080	/* PLL4 Numerator */
+#define	ANADIG_PLL4_DENOM	0x090	/* PLL4 Denominator */
+#define	ANADIG_PLL6_CTRL	0x0A0	/* PLL6 Control */
+#define	ANADIG_PLL6_NUM		0x0B0	/* PLL6 Numerator */
+#define	ANADIG_PLL6_DENOM	0x0C0	/* PLL6 Denominator */
+#define	ANADIG_PLL5_CTRL	0x0E0	/* PLL5 Control */
+#define	ANADIG_PLL3_PFD		0x0F0	/* PLL3 PFD */
+#define	ANADIG_PLL2_PFD		0x100	/* PLL2 PFD */
+#define	ANADIG_REG_1P1		0x110	/* Regulator 1P1 */
+#define	ANADIG_REG_3P0		0x120	/* Regulator 3P0 */
+#define	ANADIG_REG_2P5		0x130	/* Regulator 2P5 */
+#define	ANADIG_ANA_MISC0	0x150	/* Analog Miscellaneous */
+#define	ANADIG_ANA_MISC1	0x160	/* Analog Miscellaneous */
+#define	ANADIG_ANADIG_DIGPROG	0x260	/* Digital Program */
+#define	ANADIG_PLL1_CTRL	0x270	/* PLL1 Control */
+#define	ANADIG_PLL1_SS		0x280	/* PLL1 Spread Spectrum */
+#define	ANADIG_PLL1_NUM		0x290	/* PLL1 Numerator */
+#define	ANADIG_PLL1_DENOM	0x2A0	/* PLL1 Denominator */
+#define	ANADIG_PLL1_PFD		0x2B0	/* PLL1_PFD */
+#define	ANADIG_PLL_LOCK		0x2C0	/* PLL Lock */
+
+#define	USB_VBUS_DETECT(n)		(0x1A0 + 0x60 * n)
+#define	USB_CHRG_DETECT(n)		(0x1B0 + 0x60 * n)
+#define	USB_VBUS_DETECT_STATUS(n)	(0x1C0 + 0x60 * n)
+#define	USB_CHRG_DETECT_STATUS(n)	(0x1D0 + 0x60 * n)
+#define	USB_LOOPBACK(n)			(0x1E0 + 0x60 * n)
+#define	USB_MISC(n)			(0x1F0 + 0x60 * n)
+
+#define	ANADIG_PLL_LOCKED	(1 << 31)
+#define	ENABLE_LINREG		(1 << 0)
+#define	EN_CLK_TO_UTMI		(1 << 30)
+
+#define	CTRL_BYPASS		(1 << 16)
+#define	CTRL_PWR		(1 << 12)
+#define	CTRL_PLL_EN		(1 << 13)
+#define	EN_USB_CLKS		(1 << 6)
+
+struct anadig_softc {
+	struct resource		*res[1];
+	bus_space_tag_t		bst;
+	bus_space_handle_t	bsh;
+};
+
+static struct resource_spec anadig_spec[] = {
+	{ SYS_RES_MEMORY,       0,      RF_ACTIVE },
+	{ -1, 0 }
+};
+
+static int
+anadig_probe(device_t dev)
+{
+
+	if (!ofw_bus_is_compatible(dev, "fsl,mvf600-anadig"))
+		return (ENXIO);
+
+	device_set_desc(dev, "Vybrid Family ANADIG Unit");
+	return (BUS_PROBE_DEFAULT);
+}
+
+static int
+enable_pll(struct anadig_softc *sc, int pll_ctrl)
+{
+	int reg;
+
+	reg = READ4(sc, pll_ctrl);
+	reg &= ~(CTRL_BYPASS | CTRL_PWR);
+	if (pll_ctrl == ANADIG_PLL3_CTRL || pll_ctrl == ANADIG_PLL7_CTRL) {
+		/* It is USB PLL. Power bit logic is reversed */
+		reg |= (CTRL_PWR | EN_USB_CLKS);
+	}
+	WRITE4(sc, pll_ctrl, reg);
+
+	/* Wait for PLL lock */
+	while (!(READ4(sc, pll_ctrl) & ANADIG_PLL_LOCKED))
+		;
+
+	reg = READ4(sc, pll_ctrl);
+	reg |= (CTRL_PLL_EN);
+	WRITE4(sc, pll_ctrl, reg);
+
+	return (0);
+}
+
+static int
+anadig_attach(device_t dev)
+{
+	struct anadig_softc *sc;
+	int reg;
+
+	sc = device_get_softc(dev);
+
+	if (bus_alloc_resources(dev, anadig_spec, sc->res)) {
+		device_printf(dev, "could not allocate resources\n");
+		return (ENXIO);
+	}
+
+	/* Memory interface */
+	sc->bst = rman_get_bustag(sc->res[0]);
+	sc->bsh = rman_get_bushandle(sc->res[0]);
+
+	/* Enable USB PLLs */
+	enable_pll(sc, ANADIG_PLL3_CTRL);
+	enable_pll(sc, ANADIG_PLL7_CTRL);
+
+	/* Enable other */
+	enable_pll(sc, ANADIG_PLL1_CTRL);
+	enable_pll(sc, ANADIG_PLL2_CTRL);
+	enable_pll(sc, ANADIG_PLL4_CTRL);
+	enable_pll(sc, ANADIG_PLL5_CTRL);
+	enable_pll(sc, ANADIG_PLL6_CTRL);
+
+	/* Enable USB voltage regulator */
+	reg = READ4(sc, ANADIG_REG_3P0);
+	reg |= (ENABLE_LINREG);
+	WRITE4(sc, ANADIG_REG_3P0, reg);
+
+	/* Give clocks to USB */
+	reg = READ4(sc, USB_MISC(0));
+	reg |= (EN_CLK_TO_UTMI);
+	WRITE4(sc, USB_MISC(0), reg);
+
+	reg = READ4(sc, USB_MISC(1));
+	reg |= (EN_CLK_TO_UTMI);
+	WRITE4(sc, USB_MISC(1), reg);
+
+#if 0
+	printf("USB_ANALOG_USB_MISC(0) == 0x%08x\n",
+	    READ4(sc, USB_ANALOG_USB_MISC(0)));
+	printf("USB_ANALOG_USB_MISC(1) == 0x%08x\n",
+	    READ4(sc, USB_ANALOG_USB_MISC(1)));
+#endif
+
+	return (0);
+}
+
+static device_method_t anadig_methods[] = {
+	DEVMETHOD(device_probe,		anadig_probe),
+	DEVMETHOD(device_attach,	anadig_attach),
+	{ 0, 0 }
+};
+
+static driver_t anadig_driver = {
+	"anadig",
+	anadig_methods,
+	sizeof(struct anadig_softc),
+};
+
+static devclass_t anadig_devclass;
+
+DRIVER_MODULE(anadig, simplebus, anadig_driver, anadig_devclass, 0, 0);

Added: head/sys/arm/freescale/vybrid/vf_ccm.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sys/arm/freescale/vybrid/vf_ccm.c	Tue Nov 12 18:02:56 2013	(r258057)
@@ -0,0 +1,188 @@
+/*-
+ * Copyright (c) 2013 Ruslan Bukin <br@bsdpad.com>
+ * 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.
+ */
+
+/*
+ * Vybrid Family Clock Controller Module (CCM)
+ * Chapter 10, Vybrid Reference Manual, Rev. 5, 07/2013
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include <sys/param.h>
+#include <sys/systm.h>
+#include <sys/bus.h>
+#include <sys/kernel.h>
+#include <sys/module.h>
+#include <sys/malloc.h>
+#include <sys/rman.h>
+#include <sys/timeet.h>
+#include <sys/timetc.h>
+#include <sys/watchdog.h>
+
+#include <dev/fdt/fdt_common.h>
+#include <dev/ofw/openfirm.h>
+#include <dev/ofw/ofw_bus.h>
+#include <dev/ofw/ofw_bus_subr.h>
+
+#include <machine/bus.h>
+#include <machine/fdt.h>
+#include <machine/cpu.h>
+#include <machine/intr.h>
+
+#include <arm/freescale/vybrid/vf_common.h>
+
+#define	CCM_CCR		0x00	/* Control Register */
+#define	CCM_CSR		0x04	/* Status Register */
+#define	CCM_CCSR	0x08	/* Clock Switcher Register */
+#define	CCM_CACRR	0x0C	/* ARM Clock Root Register */
+#define	CCM_CSCMR1	0x10	/* Serial Clock Multiplexer Register 1 */
+#define	CCM_CSCDR1	0x14	/* Serial Clock Divider Register 1 */
+#define	CCM_CSCDR2	0x18	/* Serial Clock Divider Register 2 */
+#define	CCM_CSCDR3	0x1C	/* Serial Clock Divider Register 3 */
+#define	CCM_CSCMR2	0x20	/* Serial Clock Multiplexer Register 2 */
+#define	CCM_CTOR	0x28	/* Testing Observability Register */
+#define	CCM_CLPCR	0x2C	/* Low Power Control Register */
+#define	CCM_CISR	0x30	/* Interrupt Status Register */
+#define	CCM_CIMR	0x34	/* Interrupt Mask Register */
+#define	CCM_CCOSR	0x38	/* Clock Output Source Register */
+#define	CCM_CGPR	0x3C	/* General Purpose Register */
+
+#define	CCM_CCGRN	12
+#define	CCM_CCGR(n)	(0x40 + (n * 0x04))	/* Clock Gating Register */
+#define	CCM_CMEOR(n)	(0x70 + (n * 0x70))	/* Module Enable Override Reg */
+#define	CCM_CCPGR(n)	(0x90 + (n * 0x04))	/* Platform Clock Gating Reg */
+
+#define	CCM_CPPDSR	0x88	/* PLL PFD Disable Status Register */
+#define	CCM_CCOWR	0x8C	/* CORE Wakeup Register */
+
+#define	PLL3_PFD4_EN	(1 << 31)
+#define	PLL3_PFD3_EN	(1 << 30)
+#define	PLL3_PFD2_EN	(1 << 29)
+#define	PLL3_PFD1_EN	(1 << 28)
+#define	PLL2_PFD4_EN	(1 << 15)
+#define	PLL2_PFD3_EN	(1 << 14)
+#define	PLL2_PFD2_EN	(1 << 13)
+#define	PLL2_PFD1_EN	(1 << 12)
+#define	PLL1_PFD4_EN	(1 << 11)
+#define	PLL1_PFD3_EN	(1 << 10)
+#define	PLL1_PFD2_EN	(1 << 9)
+#define	PLL1_PFD1_EN	(1 << 8)
+
+/* CCM_CCR */
+#define	FIRC_EN		(1 << 16)
+#define	FXOSC_EN	(1 << 12)
+#define	FXOSC_RDY	(1 << 5)
+
+/* CCM_CSCDR1 */
+#define	ENET_TS_EN	(1 << 23)
+#define	RMII_CLK_EN	(1 << 24)
+
+struct ccm_softc {
+	struct resource		*res[1];
+	bus_space_tag_t		bst;
+	bus_space_handle_t	bsh;
+	device_t		dev;
+};
+
+static struct resource_spec ccm_spec[] = {
+	{ SYS_RES_MEMORY,       0,      RF_ACTIVE },
+	{ -1, 0 }
+};
+
+static int
+ccm_probe(device_t dev)
+{
+
+	if (!ofw_bus_is_compatible(dev, "fsl,mvf600-ccm"))
+		return (ENXIO);
+
+	device_set_desc(dev, "Vybrid Family CCM Unit");
+	return (BUS_PROBE_DEFAULT);
+}
+
+static int
+ccm_attach(device_t dev)
+{
+	struct ccm_softc *sc;
+	int reg;
+	int i;
+
+	sc = device_get_softc(dev);
+	sc->dev = dev;
+
+	if (bus_alloc_resources(dev, ccm_spec, sc->res)) {
+		device_printf(dev, "could not allocate resources\n");
+		return (ENXIO);
+	}
+
+	/* Memory interface */
+	sc->bst = rman_get_bustag(sc->res[0]);
+	sc->bsh = rman_get_bushandle(sc->res[0]);
+
+	/* Enable oscillator */
+	reg = READ4(sc, CCM_CCR);
+	reg |= (FIRC_EN | FXOSC_EN);
+	WRITE4(sc, CCM_CCR, reg);
+
+	/* Wait 10 times */
+	for (i = 0; i < 10; i++) {
+		if (READ4(sc, CCM_CSR) & FXOSC_RDY) {
+			device_printf(sc->dev, "On board oscillator is ready.\n");
+			break;
+		}
+
+		cpufunc_nullop();
+	}
+
+	/* Clock is on during all modes, except stop mode. */
+	for (i = 0; i < CCM_CCGRN; i++) {
+		WRITE4(sc, CCM_CCGR(i), 0xffffffff);
+	}
+
+	/* Enable ENET clocks */
+	reg = READ4(sc, CCM_CSCDR1);
+	reg |= (ENET_TS_EN | RMII_CLK_EN);
+	WRITE4(sc, CCM_CSCDR1, reg);
+
+	return (0);
+}
+
+static device_method_t ccm_methods[] = {
+	DEVMETHOD(device_probe,		ccm_probe),
+	DEVMETHOD(device_attach,	ccm_attach),
+	{ 0, 0 }
+};
+
+static driver_t ccm_driver = {
+	"ccm",
+	ccm_methods,
+	sizeof(struct ccm_softc),
+};
+
+static devclass_t ccm_devclass;
+
+DRIVER_MODULE(ccm, simplebus, ccm_driver, ccm_devclass, 0, 0);

Added: head/sys/arm/freescale/vybrid/vf_common.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sys/arm/freescale/vybrid/vf_common.c	Tue Nov 12 18:02:56 2013	(r258057)
@@ -0,0 +1,86 @@
+/*-
+ * Copyright (c) 2013 Ruslan Bukin <br@bsdpad.com>
+ * 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.
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include <sys/param.h>
+#include <sys/systm.h>
+#include <sys/bus.h>
+#include <sys/kernel.h>
+
+#include <dev/fdt/fdt_common.h>
+#include <dev/ofw/openfirm.h>
+
+#include <machine/bus.h>
+#include <machine/fdt.h>
+
+#include <arm/freescale/vybrid/vf_src.h>
+
+void
+cpu_reset(void)
+{
+	phandle_t src;
+	uint32_t addr, paddr;
+	bus_addr_t vaddr;
+
+	if (src_swreset() == 0)
+		goto end;
+
+	src = OF_finddevice("src");
+	if ((src != 0) && (OF_getprop(src, "reg", &paddr, sizeof(paddr))) > 0) {
+		addr = fdt32_to_cpu(paddr);
+		if (bus_space_map(fdtbus_bs_tag, addr, 0x10, 0, &vaddr) == 0) {
+			bus_space_write_4(fdtbus_bs_tag, vaddr, 0x00, SW_RST);
+		}
+	}
+
+end:
+	while (1);
+}
+
+struct fdt_fixup_entry fdt_fixup_table[] = {
+	{ NULL, NULL }
+};
+
+static int
+fdt_pic_decode_ic(phandle_t node, pcell_t *intr, int *interrupt, int *trig,
+    int *pol)
+{
+
+	if (!fdt_is_compatible(node, "arm,gic"))
+		return (ENXIO);
+
+	*interrupt = fdt32_to_cpu(intr[0]);
+	*trig = INTR_TRIGGER_CONFORM;
+	*pol = INTR_POLARITY_CONFORM;
+	return (0);
+}
+
+fdt_pic_decode_t fdt_pic_table[] = {
+	&fdt_pic_decode_ic,
+	NULL
+};

Added: head/sys/arm/freescale/vybrid/vf_common.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sys/arm/freescale/vybrid/vf_common.h	Tue Nov 12 18:02:56 2013	(r258057)
@@ -0,0 +1,40 @@
+/*-
+ * Copyright (c) 2013 Ruslan Bukin <br@bsdpad.com>
+ * 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.
+ *
+ * $FreeBSD$
+ */
+
+#define	READ4(_sc, _reg)	\
+	bus_space_read_4(_sc->bst, _sc->bsh, _reg)
+#define	WRITE4(_sc, _reg, _val)	\
+	bus_space_write_4(_sc->bst, _sc->bsh, _reg, _val)
+#define	READ2(_sc, _reg)	\
+	bus_space_read_2(_sc->bst, _sc->bsh, _reg)
+#define	WRITE2(_sc, _reg, _val)	\
+	bus_space_write_2(_sc->bst, _sc->bsh, _reg, _val)
+#define	READ1(_sc, _reg)	\
+	bus_space_read_1(_sc->bst, _sc->bsh, _reg)
+#define	WRITE1(_sc, _reg, _val)	\
+	bus_space_write_1(_sc->bst, _sc->bsh, _reg, _val)

Added: head/sys/arm/freescale/vybrid/vf_ehci.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sys/arm/freescale/vybrid/vf_ehci.c	Tue Nov 12 18:02:56 2013	(r258057)
@@ -0,0 +1,416 @@
+/*-
+ * Copyright (c) 2013 Ruslan Bukin <br@bsdpad.com>
+ * 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.
+ */
+
+/*
+ * Vybrid Family Universal Serial Bus (USB) Controller
+ * Chapter 44-45, Vybrid Reference Manual, Rev. 5, 07/2013
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include "opt_bus.h"
+
+#include <sys/param.h>
+#include <sys/systm.h>
+#include <sys/kernel.h>
+#include <sys/module.h>
+#include <sys/bus.h>
+#include <sys/condvar.h>
+#include <sys/rman.h>
+#include <sys/gpio.h>
+
+#include <dev/ofw/ofw_bus.h>
+#include <dev/ofw/ofw_bus_subr.h>
+
+#include <dev/usb/usb.h>
+#include <dev/usb/usbdi.h>
+#include <dev/usb/usb_busdma.h>
+#include <dev/usb/usb_process.h>
+#include <dev/usb/usb_controller.h>
+#include <dev/usb/usb_bus.h>
+#include <dev/usb/controller/ehci.h>
+#include <dev/usb/controller/ehcireg.h>
+
+#include <dev/fdt/fdt_common.h>
+
+#include <machine/bus.h>
+#include <machine/resource.h>
+
+#include "gpio_if.h"
+#include "opt_platform.h"
+
+#define	ENUTMILEVEL3	(1 << 15)
+#define	ENUTMILEVEL2	(1 << 14)
+
+#define	GPIO_USB_PWR	134
+
+#define	USB_ID		0x000	/* Identification register */
+#define	USB_HWGENERAL	0x004	/* Hardware General */
+#define	USB_HWHOST	0x008	/* Host Hardware Parameters */
+#define	USB_HWDEVICE	0x00C	/* Device Hardware Parameters */
+#define	USB_HWTXBUF	0x010	/* TX Buffer Hardware Parameters */
+#define	USB_HWRXBUF	0x014	/* RX Buffer Hardware Parameters */
+#define	USB_HCSPARAMS	0x104	/* Host Controller Structural Parameters */
+
+#define	USBPHY_PWD		0x00	/* PHY Power-Down Register */
+#define	USBPHY_PWD_SET		0x04	/* PHY Power-Down Register */
+#define	USBPHY_PWD_CLR		0x08	/* PHY Power-Down Register */
+#define	USBPHY_PWD_TOG		0x0C	/* PHY Power-Down Register */
+#define	USBPHY_TX		0x10	/* PHY Transmitter Control Register */
+#define	USBPHY_RX		0x20	/* PHY Receiver Control Register */
+#define	USBPHY_RX_SET		0x24	/* PHY Receiver Control Register */
+#define	USBPHY_RX_CLR		0x28	/* PHY Receiver Control Register */
+#define	USBPHY_RX_TOG		0x2C	/* PHY Receiver Control Register */
+#define	USBPHY_CTRL		0x30	/* PHY General Control Register */
+#define	USBPHY_CTRL_SET		0x34	/* PHY General Control Register */
+#define	USBPHY_CTRL_CLR		0x38	/* PHY General Control Register */
+#define	USBPHY_CTRL_TOG		0x3C	/* PHY General Control Register */
+#define	USBPHY_STATUS		0x40	/* PHY Status Register */
+#define	USBPHY_DEBUG		0x50	/* PHY Debug Register */
+#define	USBPHY_DEBUG_SET	0x54	/* PHY Debug Register */
+#define	USBPHY_DEBUG_CLR	0x58	/* PHY Debug Register */
+#define	USBPHY_DEBUG_TOG	0x5C	/* PHY Debug Register */
+#define	USBPHY_DEBUG0_STATUS	0x60	/* UTMI Debug Status Register 0 */
+#define	USBPHY_DEBUG1		0x70	/* UTMI Debug Status Register 1 */
+#define	USBPHY_DEBUG1_SET	0x74	/* UTMI Debug Status Register 1 */
+#define	USBPHY_DEBUG1_CLR	0x78	/* UTMI Debug Status Register 1 */
+#define	USBPHY_DEBUG1_TOG	0x7C	/* UTMI Debug Status Register 1 */
+#define	USBPHY_VERSION		0x80	/* UTMI RTL Version */
+#define	USBPHY_IP		0x90	/* PHY IP Block Register */
+#define	USBPHY_IP_SET		0x94	/* PHY IP Block Register */
+#define	USBPHY_IP_CLR		0x98	/* PHY IP Block Register */
+#define	USBPHY_IP_TOG		0x9C	/* PHY IP Block Register */
+
+#define	USBPHY_CTRL_SFTRST	(1 << 31)
+#define	USBPHY_CTRL_CLKGATE	(1 << 30)
+#define	USBPHY_DEBUG_CLKGATE	(1 << 30)
+
+#define	PHY_READ4(_sc, _reg)		\
+	bus_space_read_4(_sc->bst_phy, _sc->bsh_phy, _reg)
+#define	PHY_WRITE4(_sc, _reg, _val)	\
+	bus_space_write_4(_sc->bst_phy, _sc->bsh_phy, _reg, _val)
+
+#define	USBC_READ4(_sc, _reg)		\
+	bus_space_read_4(_sc->bst_usbc, _sc->bsh_usbc, _reg)
+#define	USBC_WRITE4(_sc, _reg, _val)	\
+	bus_space_write_4(_sc->bst_usbc, _sc->bsh_usbc, _reg, _val)
+
+/* Forward declarations */
+static int	vybrid_ehci_attach(device_t dev);
+static int	vybrid_ehci_detach(device_t dev);
+static int	vybrid_ehci_probe(device_t dev);
+
+struct vybrid_ehci_softc {
+	ehci_softc_t		base;
+	device_t		dev;
+	struct resource		*res[6];
+	bus_space_tag_t		bst_phy;
+	bus_space_handle_t      bsh_phy;
+	bus_space_tag_t		bst_usbc;
+	bus_space_handle_t      bsh_usbc;
+};
+
+static struct resource_spec vybrid_ehci_spec[] = {
+	{ SYS_RES_MEMORY,	0,	RF_ACTIVE },
+	{ SYS_RES_MEMORY,	1,	RF_ACTIVE },
+	{ SYS_RES_MEMORY,	2,	RF_ACTIVE },
+	{ SYS_RES_IRQ,		0,	RF_ACTIVE },
+	{ -1, 0 }
+};
+
+static device_method_t ehci_methods[] = {
+	/* Device interface */
+	DEVMETHOD(device_probe, vybrid_ehci_probe),
+	DEVMETHOD(device_attach, vybrid_ehci_attach),
+	DEVMETHOD(device_detach, vybrid_ehci_detach),
+	DEVMETHOD(device_suspend, bus_generic_suspend),
+	DEVMETHOD(device_resume, bus_generic_resume),
+	DEVMETHOD(device_shutdown, bus_generic_shutdown),
+
+	/* Bus interface */
+	DEVMETHOD(bus_print_child, bus_generic_print_child),
+
+	{ 0, 0 }
+};
+
+/* kobj_class definition */
+static driver_t ehci_driver = {
+	"ehci",
+	ehci_methods,
+	sizeof(ehci_softc_t)
+};
+
+static devclass_t ehci_devclass;
+
+DRIVER_MODULE(ehci, simplebus, ehci_driver, ehci_devclass, 0, 0);
+MODULE_DEPEND(ehci, usb, 1, 1, 1);
+
+/*
+ * Public methods
+ */
+static int
+vybrid_ehci_probe(device_t dev)
+{
+
+	if (ofw_bus_is_compatible(dev, "fsl,mvf600-usb-ehci") == 0)
+		return (ENXIO);
+
+	device_set_desc(dev, "Vybrid Family integrated USB controller");
+	return (BUS_PROBE_DEFAULT);
+}
+
+static int
+phy_init(struct vybrid_ehci_softc *esc)
+{
+	device_t sc_gpio_dev;
+	int reg;
+
+	/* Reset phy */
+	reg = PHY_READ4(esc, USBPHY_CTRL);
+	reg |= (USBPHY_CTRL_SFTRST);
+	PHY_WRITE4(esc, USBPHY_CTRL, reg);
+
+	/* Minimum reset time */
+	DELAY(10000);
+
+	reg &= ~(USBPHY_CTRL_SFTRST | USBPHY_CTRL_CLKGATE);
+	PHY_WRITE4(esc, USBPHY_CTRL, reg);
+
+	reg = (ENUTMILEVEL2 | ENUTMILEVEL3);
+	PHY_WRITE4(esc, USBPHY_CTRL_SET, reg);
+
+	/* Get the GPIO device, we need this to give power to USB */
+	sc_gpio_dev = devclass_get_device(devclass_find("gpio"), 0);
+	if (sc_gpio_dev == NULL) {
+		device_printf(esc->dev, "Error: failed to get the GPIO dev\n");
+		return (1);
+	}
+
+	/* Give power to USB */
+	GPIO_PIN_SETFLAGS(sc_gpio_dev, GPIO_USB_PWR, GPIO_PIN_OUTPUT);
+	GPIO_PIN_SET(sc_gpio_dev, GPIO_USB_PWR, GPIO_PIN_HIGH);
+
+	/* Power up PHY */
+	PHY_WRITE4(esc, USBPHY_PWD, 0x00);
+
+	/* Ungate clocks */
+	reg = PHY_READ4(esc, USBPHY_DEBUG);
+	reg &= ~(USBPHY_DEBUG_CLKGATE);
+	PHY_WRITE4(esc, USBPHY_DEBUG, reg);
+
+#if 0
+	printf("USBPHY_CTRL == 0x%08x\n",
+	    PHY_READ4(esc, USBPHY_CTRL));
+	printf("USBPHY_IP == 0x%08x\n",
+	    PHY_READ4(esc, USBPHY_IP));
+	printf("USBPHY_STATUS == 0x%08x\n",
+	    PHY_READ4(esc, USBPHY_STATUS));
+	printf("USBPHY_DEBUG == 0x%08x\n",
+	    PHY_READ4(esc, USBPHY_DEBUG));
+	printf("USBPHY_DEBUG0_STATUS == 0x%08x\n",
+	    PHY_READ4(esc, USBPHY_DEBUG0_STATUS));
+	printf("USBPHY_DEBUG1 == 0x%08x\n",
+	    PHY_READ4(esc, USBPHY_DEBUG1));
+#endif
+
+	return (0);
+}
+
+static int
+vybrid_ehci_attach(device_t dev)
+{
+	struct vybrid_ehci_softc *esc;
+	ehci_softc_t *sc;
+	bus_space_handle_t bsh;
+	int err;
+	int reg;
+
+	esc = device_get_softc(dev);
+	esc->dev = dev;
+
+	sc = &esc->base;
+	sc->sc_bus.parent = dev;
+	sc->sc_bus.devices = sc->sc_devices;
+	sc->sc_bus.devices_max = EHCI_MAX_DEVICES;
+
+	if (bus_alloc_resources(dev, vybrid_ehci_spec, esc->res)) {
+		device_printf(dev, "could not allocate resources\n");

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

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 18:19:15 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id DBB89536;
 Tue, 12 Nov 2013 18:19:15 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id CB3732AB9;
 Tue, 12 Nov 2013 18:19:15 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rACIJFCb051216;
 Tue, 12 Nov 2013 18:19:15 GMT (envelope-from cognet@svn.freebsd.org)
Received: (from cognet@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rACIJFxC051215;
 Tue, 12 Nov 2013 18:19:15 GMT (envelope-from cognet@svn.freebsd.org)
Message-Id: <201311121819.rACIJFxC051215@svn.freebsd.org>
From: Olivier Houchard <cognet@FreeBSD.org>
Date: Tue, 12 Nov 2013 18:19:15 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-svnadmin@freebsd.org
Subject: svn commit: r258058 - svnadmin/conf
X-SVN-Group: svnadmin
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 18:19:15 -0000

Author: cognet
Date: Tue Nov 12 18:19:15 2013
New Revision: 258058
URL: http://svnweb.freebsd.org/changeset/base/258058

Log:
  Release br from mentorship.

Modified:
  svnadmin/conf/mentors

Modified: svnadmin/conf/mentors
==============================================================================
--- svnadmin/conf/mentors	Tue Nov 12 18:02:56 2013	(r258057)
+++ svnadmin/conf/mentors	Tue Nov 12 18:19:15 2013	(r258058)
@@ -13,7 +13,6 @@
 achim		scottl		Co-mentor: emaste
 asomers		ken		Co-mentor: gibbs, will
 benl		philip		Co-mentor: simon
-br			cognet
 carl		jimharris
 cy		andre		Co-mentor: glebius
 edavis		davidch		

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 18:43:36 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 0BB87D00;
 Tue, 12 Nov 2013 18:43:36 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id EEA1E2C34;
 Tue, 12 Nov 2013 18:43:35 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rACIhZOh058486;
 Tue, 12 Nov 2013 18:43:35 GMT (envelope-from dim@svn.freebsd.org)
Received: (from dim@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rACIhZ2L058484;
 Tue, 12 Nov 2013 18:43:35 GMT (envelope-from dim@svn.freebsd.org)
Message-Id: <201311121843.rACIhZ2L058484@svn.freebsd.org>
From: Dimitry Andric <dim@FreeBSD.org>
Date: Tue, 12 Nov 2013 18:43:35 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject: svn commit: r258060 - stable/9/lib/libc++
X-SVN-Group: stable-9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 18:43:36 -0000

Author: dim
Date: Tue Nov 12 18:43:35 2013
New Revision: 258060
URL: http://svnweb.freebsd.org/changeset/base/258060

Log:
  MFC r253917:
  
  After r253839, which modifies ld's behaviour to not automatically pull
  in needed libraries, change libc++.so into a linker script, so it can
  automatically pull in libcxxrt.so.
  
  [Note to stable/9 users: the above statement about ld's behaviour is not
  (yet) applicable to the version of ld in 9.x, but this change will help
  when building C++ programs with libc++, in combination with the ports
  version of ld.]

Added:
  stable/9/lib/libc++/libc++.ldscript
     - copied unchanged from r253917, head/lib/libc++/libc++.ldscript
Modified:
  stable/9/lib/libc++/Makefile
Directory Properties:
  stable/9/lib/libc++/   (props changed)

Modified: stable/9/lib/libc++/Makefile
==============================================================================
--- stable/9/lib/libc++/Makefile	Tue Nov 12 18:37:07 2013	(r258059)
+++ stable/9/lib/libc++/Makefile	Tue Nov 12 18:43:35 2013	(r258060)
@@ -9,6 +9,7 @@ CXXINCLUDEDIR=	${INCLUDEDIR}/c++/v${SHLI
 
 LIB=		c++
 SHLIB_MAJOR=	1
+SHLIB_LDSCRIPT=	libc++.ldscript
 
 SRCS+=		algorithm.cpp\
 		bind.cpp\

Copied: stable/9/lib/libc++/libc++.ldscript (from r253917, head/lib/libc++/libc++.ldscript)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ stable/9/lib/libc++/libc++.ldscript	Tue Nov 12 18:43:35 2013	(r258060, copy of r253917, head/lib/libc++/libc++.ldscript)
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+GROUP ( @@SHLIB@@ @@LIBDIR@@/libcxxrt.so )

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 18:59:24 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 0A46819A;
 Tue, 12 Nov 2013 18:59:24 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id EE0272D06;
 Tue, 12 Nov 2013 18:59:23 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rACIxN2J062618;
 Tue, 12 Nov 2013 18:59:23 GMT (envelope-from jhb@svn.freebsd.org)
Received: (from jhb@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rACIxNOn062617;
 Tue, 12 Nov 2013 18:59:23 GMT (envelope-from jhb@svn.freebsd.org)
Message-Id: <201311121859.rACIxNOn062617@svn.freebsd.org>
From: John Baldwin <jhb@FreeBSD.org>
Date: Tue, 12 Nov 2013 18:59:23 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258061 - head/etc
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 18:59:24 -0000

Author: jhb
Date: Tue Nov 12 18:59:23 2013
New Revision: 258061
URL: http://svnweb.freebsd.org/changeset/base/258061

Log:
  Revert r257715.  This breaks the case where devd isn't running.  The
  real solution to this is still being discussed and probably won't look
  quite like this.

Modified:
  head/etc/network.subr

Modified: head/etc/network.subr
==============================================================================
--- head/etc/network.subr	Tue Nov 12 18:43:35 2013	(r258060)
+++ head/etc/network.subr	Tue Nov 12 18:59:23 2013	(r258061)
@@ -1429,6 +1429,9 @@ childif_create()
 			fi
 			${IFCONFIG_CMD} $i name $child && cfg=0
 		fi
+		if autoif $child; then
+			ifn_start $child
+		fi
 	done
 
 	# Create vlan interfaces
@@ -1452,6 +1455,9 @@ childif_create()
 				${IFCONFIG_CMD} $i name $child && cfg=0
 			fi
 		fi
+		if autoif $child; then
+			ifn_start $child
+		fi
 	done
 
 	return ${cfg}

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 19:10:29 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 381595FE;
 Tue, 12 Nov 2013 19:10:29 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 26A7A2DB1;
 Tue, 12 Nov 2013 19:10:29 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rACJATav066886;
 Tue, 12 Nov 2013 19:10:29 GMT
 (envelope-from dumbbell@svn.freebsd.org)
Received: (from dumbbell@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rACJASHU066884;
 Tue, 12 Nov 2013 19:10:28 GMT
 (envelope-from dumbbell@svn.freebsd.org)
Message-Id: <201311121910.rACJASHU066884@svn.freebsd.org>
From: Jean-Sebastien Pedron <dumbbell@FreeBSD.org>
Date: Tue, 12 Nov 2013 19:10:28 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject: svn commit: r258062 - in stable/10/sys/dev/drm2: . radeon
X-SVN-Group: stable-10
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 19:10:29 -0000

Author: dumbbell
Date: Tue Nov 12 19:10:28 2013
New Revision: 258062
URL: http://svnweb.freebsd.org/changeset/base/258062

Log:
  MFC r257869:
  
  drm: Initialize "handle" to 0 before calling drm_gem_handle_create()
  
  This is variable is being checked in drm_gem_name_create() before being
  set.
  
  Approved by:	re (delphij)

Modified:
  stable/10/sys/dev/drm2/drm_crtc.c
  stable/10/sys/dev/drm2/radeon/radeon_gem.c
Directory Properties:
  stable/10/sys/   (props changed)

Modified: stable/10/sys/dev/drm2/drm_crtc.c
==============================================================================
--- stable/10/sys/dev/drm2/drm_crtc.c	Tue Nov 12 18:59:23 2013	(r258061)
+++ stable/10/sys/dev/drm2/drm_crtc.c	Tue Nov 12 19:10:28 2013	(r258062)
@@ -2317,6 +2317,7 @@ int drm_mode_getfb(struct drm_device *de
 	r->depth = fb->depth;
 	r->bpp = fb->bits_per_pixel;
 	r->pitch = fb->pitches[0];
+	r->handle = 0;
 	fb->funcs->create_handle(fb, file_priv, &r->handle);
 
 out:

Modified: stable/10/sys/dev/drm2/radeon/radeon_gem.c
==============================================================================
--- stable/10/sys/dev/drm2/radeon/radeon_gem.c	Tue Nov 12 18:59:23 2013	(r258061)
+++ stable/10/sys/dev/drm2/radeon/radeon_gem.c	Tue Nov 12 19:10:28 2013	(r258062)
@@ -567,6 +567,7 @@ int radeon_mode_dumb_create(struct drm_f
 	if (r)
 		return -ENOMEM;
 
+	handle = 0;
 	r = drm_gem_handle_create(file_priv, gobj, &handle);
 	/* drop reference from allocate - handle holds it now */
 	drm_gem_object_unreference_unlocked(gobj);

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 19:15:08 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 2277796F;
 Tue, 12 Nov 2013 19:15:08 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 10B972E22;
 Tue, 12 Nov 2013 19:15:08 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rACJF7Yt069544;
 Tue, 12 Nov 2013 19:15:07 GMT (envelope-from jhb@svn.freebsd.org)
Received: (from jhb@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rACJF7DY069537;
 Tue, 12 Nov 2013 19:15:07 GMT (envelope-from jhb@svn.freebsd.org)
Message-Id: <201311121915.rACJF7DY069537@svn.freebsd.org>
From: John Baldwin <jhb@FreeBSD.org>
Date: Tue, 12 Nov 2013 19:15:07 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258063 - head/tools/regression/usr.sbin/etcupdate
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 19:15:08 -0000

Author: jhb
Date: Tue Nov 12 19:15:06 2013
New Revision: 258063
URL: http://svnweb.freebsd.org/changeset/base/258063

Log:
  Add an -s option that specifies a path to an alternate etcupdate.sh script
  to test.  This allows a non-installed version of the script to be tested
  more easily.

Modified:
  head/tools/regression/usr.sbin/etcupdate/always.sh
  head/tools/regression/usr.sbin/etcupdate/conflicts.sh
  head/tools/regression/usr.sbin/etcupdate/fbsdid.sh
  head/tools/regression/usr.sbin/etcupdate/ignore.sh
  head/tools/regression/usr.sbin/etcupdate/tests.sh

Modified: head/tools/regression/usr.sbin/etcupdate/always.sh
==============================================================================
--- head/tools/regression/usr.sbin/etcupdate/always.sh	Tue Nov 12 19:10:28 2013	(r258062)
+++ head/tools/regression/usr.sbin/etcupdate/always.sh	Tue Nov 12 19:15:06 2013	(r258063)
@@ -33,13 +33,17 @@ WORKDIR=work
 
 usage()
 {
-	echo "Usage: always.sh [-w workdir]"
+	echo "Usage: always.sh [-s script] [-w workdir]"
 	exit 1
 }
 
-# Allow the user to specify an alternate work directory.
-while getopts "w:" option; do
+# Allow the user to specify an alternate work directory or script.
+COMMAND=etcupdate
+while getopts "s:w:" option; do
 	case $option in
+		s)
+			COMMAND="sh $OPTARG"
+			;;
 		w)
 			WORKDIR=$OPTARG
 			;;
@@ -372,7 +376,7 @@ fi
 
 build_trees
 
-etcupdate -r -d $WORKDIR -D $TEST > $WORKDIR/test.out
+$COMMAND -r -d $WORKDIR -D $TEST > $WORKDIR/test.out
 
 cat > $WORKDIR/correct.out <<EOF
   D /dirchange/fromdir/extradir/file
@@ -492,7 +496,7 @@ fifo /dirchange/todir/difftype
 
 build_trees
 
-etcupdate -r -A '/first*' -A '/second* /*di*' -d $WORKDIR -D $TEST > \
+$COMMAND -r -A '/first*' -A '/second* /*di*' -d $WORKDIR -D $TEST > \
     $WORKDIR/test1.out
 
 cat > $WORKDIR/correct1.out <<EOF

Modified: head/tools/regression/usr.sbin/etcupdate/conflicts.sh
==============================================================================
--- head/tools/regression/usr.sbin/etcupdate/conflicts.sh	Tue Nov 12 19:10:28 2013	(r258062)
+++ head/tools/regression/usr.sbin/etcupdate/conflicts.sh	Tue Nov 12 19:15:06 2013	(r258063)
@@ -33,13 +33,17 @@ WORKDIR=work
 
 usage()
 {
-	echo "Usage: tests.sh [-w workdir]"
+	echo "Usage: conflicts.sh [-s script] [-w workdir]"
 	exit 1
 }
 
-# Allow the user to specify an alternate work directory.
-while getopts "w:" option; do
+# Allow the user to specify an alternate work directory or script.
+COMMAND=etcupdate
+while getopts "s:w:" option; do
 	case $option in
+		s)
+			COMMAND="sh $OPTARG"
+			;;
 		w)
 			WORKDIR=$OPTARG
 			;;
@@ -84,7 +88,7 @@ default:\\
         :welcome=/etc/motd:
 EOF
 
-	etcupdate -r -d $WORKDIR -D $TEST >/dev/null
+	$COMMAND -r -d $WORKDIR -D $TEST >/dev/null
 }
 
 # This is used to verify special handling for /etc/mail/aliases and
@@ -122,7 +126,7 @@ MAILER-DAEMON: postmaster
 postmaster: foo
 EOF
 
-	etcupdate -r -d $WORKDIR -D $TEST >/dev/null
+	$COMMAND -r -d $WORKDIR -D $TEST >/dev/null
 }
 
 # $1 - relative path to file that should be missing from TEST
@@ -201,7 +205,7 @@ build_login_conflict
 
 # Verify that 'p' doesn't do anything.
 echo "Checking 'p':"
-echo 'p' | etcupdate resolve -d $WORKDIR -D $TEST >/dev/null
+echo 'p' | $COMMAND resolve -d $WORKDIR -D $TEST >/dev/null
 
 file /etc/login.conf "" 95de92ea3f1bb1bf4f612a8b5908cddd
 missing /etc/login.conf.db
@@ -209,7 +213,7 @@ conflict /etc/login.conf
 
 # Verify that 'mf' removes the conflict, but does nothing else.
 echo "Checking 'mf':"
-echo 'mf' | etcupdate resolve -d $WORKDIR -D $TEST >/dev/null
+echo 'mf' | $COMMAND resolve -d $WORKDIR -D $TEST >/dev/null
 
 file /etc/login.conf "" 95de92ea3f1bb1bf4f612a8b5908cddd
 missing /etc/login.conf.db
@@ -219,7 +223,7 @@ build_login_conflict
 
 # Verify that 'tf' installs the new version of the file.
 echo "Checking 'tf':"
-echo 'tf' | etcupdate resolve -d $WORKDIR -D $TEST >/dev/null
+echo 'tf' | $COMMAND resolve -d $WORKDIR -D $TEST >/dev/null
 
 file /etc/login.conf "" 7774a0f9a3a372c7c109c32fd31c4b6b
 file /etc/login.conf.db
@@ -238,7 +242,7 @@ default:\\
         :welcome=/etc/motd:
 EOF
 
-echo 'r' | etcupdate resolve -d $WORKDIR -D $TEST >/dev/null
+echo 'r' | $COMMAND resolve -d $WORKDIR -D $TEST >/dev/null
 
 file /etc/login.conf "" 966e25984b9b63da8eaac8479dcb0d4d
 file /etc/login.conf.db
@@ -248,12 +252,12 @@ build_aliases_conflict
 
 # Verify that 'p' and 'mf' do not generate the newaliases warning.
 echo "Checking newalias warning for 'p'":
-echo 'p' | etcupdate resolve -d $WORKDIR -D $TEST | grep -q newalias
+echo 'p' | $COMMAND resolve -d $WORKDIR -D $TEST | grep -q newalias
 if [ $? -eq 0 ]; then
 	echo "+ Extra warning"
 fi
 echo "Checking newalias warning for 'mf'":
-echo 'mf' | etcupdate resolve -d $WORKDIR -D $TEST | grep -q newalias
+echo 'mf' | $COMMAND resolve -d $WORKDIR -D $TEST | grep -q newalias
 if [ $? -eq 0 ]; then
 	echo "+ Extra warning"
 fi
@@ -261,14 +265,14 @@ fi
 # Verify that 'tf' and 'r' do generate the newaliases warning.
 build_aliases_conflict
 echo "Checking newalias warning for 'tf'":
-echo 'tf' | etcupdate resolve -d $WORKDIR -D $TEST | grep -q newalias
+echo 'tf' | $COMMAND resolve -d $WORKDIR -D $TEST | grep -q newalias
 if [ $? -ne 0 ]; then
 	echo "- Missing warning"
 fi
 
 build_aliases_conflict
 cp $TEST/etc/mail/aliases $CONFLICTS/etc/mail/aliases
-echo 'r' | etcupdate resolve -d $WORKDIR -D $TEST | grep -q newalias
+echo 'r' | $COMMAND resolve -d $WORKDIR -D $TEST | grep -q newalias
 if [ $? -ne 0 ]; then
 	echo "- Missing warning"
 fi

Modified: head/tools/regression/usr.sbin/etcupdate/fbsdid.sh
==============================================================================
--- head/tools/regression/usr.sbin/etcupdate/fbsdid.sh	Tue Nov 12 19:10:28 2013	(r258062)
+++ head/tools/regression/usr.sbin/etcupdate/fbsdid.sh	Tue Nov 12 19:15:06 2013	(r258063)
@@ -33,13 +33,17 @@ WORKDIR=work
 
 usage()
 {
-	echo "Usage: fbsdid.sh [-w workdir]"
+	echo "Usage: fbsdid.sh [-s script] [-w workdir]"
 	exit 1
 }
 
-# Allow the user to specify an alternate work directory.
-while getopts "w:" option; do
+# Allow the user to specify an alternate work directory or script.
+COMMAND=etcupdate
+while getopts "s:w:" option; do
 	case $option in
+		s)
+			COMMAND="sh $OPTARG"
+			;;
 		w)
 			WORKDIR=$OPTARG
 			;;
@@ -267,7 +271,7 @@ fi
 
 build_trees
 
-etcupdate -r -d $WORKDIR -D $TEST > $WORKDIR/test.out
+$COMMAND -r -d $WORKDIR -D $TEST > $WORKDIR/test.out
 
 cat > $WORKDIR/correct.out <<EOF
   C /already
@@ -300,7 +304,7 @@ file /local-already "" 0298b958a603049f4
 
 build_trees
 
-etcupdate -rF -d $WORKDIR -D $TEST > $WORKDIR/testF.out
+$COMMAND -rF -d $WORKDIR -D $TEST > $WORKDIR/testF.out
 
 cat > $WORKDIR/correctF.out <<EOF
   D /remove

Modified: head/tools/regression/usr.sbin/etcupdate/ignore.sh
==============================================================================
--- head/tools/regression/usr.sbin/etcupdate/ignore.sh	Tue Nov 12 19:10:28 2013	(r258062)
+++ head/tools/regression/usr.sbin/etcupdate/ignore.sh	Tue Nov 12 19:15:06 2013	(r258063)
@@ -33,13 +33,17 @@ WORKDIR=work
 
 usage()
 {
-	echo "Usage: ignore.sh [-w workdir]"
+	echo "Usage: ignore.sh [-s script] [-w workdir]"
 	exit 1
 }
 
-# Allow the user to specify an alternate work directory.
-while getopts "w:" option; do
+# Allow the user to specify an alternate work directory or script.
+COMMAND=etcupdate
+while getopts "s:w:" option; do
 	case $option in
+		s)
+			COMMAND="sh $OPTARG"
+			;;
 		w)
 			WORKDIR=$OPTARG
 			;;
@@ -172,7 +176,7 @@ fi
 
 build_trees
 
-etcupdate -r -d $WORKDIR -D $TEST > $WORKDIR/test.out
+$COMMAND -r -d $WORKDIR -D $TEST > $WORKDIR/test.out
 
 cat > $WORKDIR/correct.out <<EOF
   D /rmdir/file
@@ -195,7 +199,7 @@ missing /rmdir
 
 build_trees
 
-etcupdate -r -I '/tree/*' -d $WORKDIR -D $TEST > $WORKDIR/test1.out
+$COMMAND -r -I '/tree/*' -d $WORKDIR -D $TEST > $WORKDIR/test1.out
 
 cat > $WORKDIR/correct1.out <<EOF
   D /rmdir/file
@@ -215,7 +219,7 @@ missing /rmdir
 
 build_trees
 
-etcupdate -r -I '/tree/*' -I '/rmdir*' -d $WORKDIR -D $TEST > \
+$COMMAND -r -I '/tree/*' -I '/rmdir*' -d $WORKDIR -D $TEST > \
     $WORKDIR/test2.out
 
 cat > $WORKDIR/correct2.out <<EOF
@@ -236,7 +240,7 @@ file /rmdir/file "foo"
 
 build_trees
 
-etcupdate -r -I '/tree/* /rmdir/*' -d $WORKDIR -D $TEST > \
+$COMMAND -r -I '/tree/* /rmdir/*' -d $WORKDIR -D $TEST > \
     $WORKDIR/test3.out
 
 cat > $WORKDIR/correct3.out <<EOF

Modified: head/tools/regression/usr.sbin/etcupdate/tests.sh
==============================================================================
--- head/tools/regression/usr.sbin/etcupdate/tests.sh	Tue Nov 12 19:10:28 2013	(r258062)
+++ head/tools/regression/usr.sbin/etcupdate/tests.sh	Tue Nov 12 19:15:06 2013	(r258063)
@@ -33,13 +33,17 @@ WORKDIR=work
 
 usage()
 {
-	echo "Usage: tests.sh [-w workdir]"
+	echo "Usage: tests.sh [-s script] [-w workdir]"
 	exit 1
 }
 
-# Allow the user to specify an alternate work directory.
-while getopts "w:" option; do
+# Allow the user to specify an alternate work directory or script.
+COMMAND=etcupdate
+while getopts "s:w:" option; do
 	case $option in
+		s)
+			COMMAND="sh $OPTARG"
+			;;
 		w)
 			WORKDIR=$OPTARG
 			;;
@@ -904,7 +908,7 @@ fi
 
 build_trees
 
-etcupdate -nr -d $WORKDIR -D $TEST > $WORKDIR/testn.out
+$COMMAND -nr -d $WORKDIR -D $TEST > $WORKDIR/testn.out
 
 cat > $WORKDIR/correct.out <<EOF
   D /dirchange/fromdir/extradir/file
@@ -971,7 +975,7 @@ EOF
 echo "Differences for -n:"
 diff -u -L "correct" $WORKDIR/correct.out -L "test" $WORKDIR/testn.out
 
-etcupdate -r -d $WORKDIR -D $TEST > $WORKDIR/test.out
+$COMMAND -r -d $WORKDIR -D $TEST > $WORKDIR/test.out
 
 echo "Differences for real:"
 diff -u -L "correct" $WORKDIR/correct.out -L "test" $WORKDIR/test.out

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 19:18:00 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id CAED8B1C;
 Tue, 12 Nov 2013 19:18:00 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id A09FF2E4B;
 Tue, 12 Nov 2013 19:18:00 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rACJI0WL069872;
 Tue, 12 Nov 2013 19:18:00 GMT (envelope-from jhb@svn.freebsd.org)
Received: (from jhb@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rACJI0wQ069871;
 Tue, 12 Nov 2013 19:18:00 GMT (envelope-from jhb@svn.freebsd.org)
Message-Id: <201311121918.rACJI0wQ069871@svn.freebsd.org>
From: John Baldwin <jhb@FreeBSD.org>
Date: Tue, 12 Nov 2013 19:18:00 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258064 - head/usr.sbin/etcupdate
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 19:18:00 -0000

Author: jhb
Date: Tue Nov 12 19:18:00 2013
New Revision: 258064
URL: http://svnweb.freebsd.org/changeset/base/258064

Log:
  Sort option flags and fix the width of the options list.  This is a purely
  mechanical change, no content changes.

Modified:
  head/usr.sbin/etcupdate/etcupdate.8

Modified: head/usr.sbin/etcupdate/etcupdate.8
==============================================================================
--- head/usr.sbin/etcupdate/etcupdate.8	Tue Nov 12 19:15:06 2013	(r258063)
+++ head/usr.sbin/etcupdate/etcupdate.8	Tue Nov 12 19:18:00 2013	(r258064)
@@ -342,27 +342,7 @@ then nothing will be output.
 .Sh OPTIONS
 The following options are available.
 Note that most options do not apply to all modes.
-.Bl -tag -width ".Fl d Ar workdir"
-.It Fl B
-Do not build generated files in a private object tree.
-Instead,
-reuse the generated files from a previously built object tree that matches
-the source tree.
-This can be useful to avoid gratuitous conflicts in
-.Xr sendmail 8
-configuration
-files when bootstrapping.
-It can also be useful for building a tarball that matches a specific
-world build.
-.It Fl d Ar workdir
-Specify an alternate directory to use as the work directory.
-The work directory is used to store the
-.Dq current
-and
-.Dq previous
-trees as well as unresolved conflicts.
-The default work directory is
-.Pa <destdir>/var/db/etcupdate .
+.Bl -tag -width ".Fl A Ar patterns"
 .It Fl A Ar patterns
 Always install the new version of any files that match any of the patterns
 listed in
@@ -378,6 +358,17 @@ Note that ignored files specified via th
 variable or the
 .Fl I
 option will not be installed.
+.It Fl B
+Do not build generated files in a private object tree.
+Instead,
+reuse the generated files from a previously built object tree that matches
+the source tree.
+This can be useful to avoid gratuitous conflicts in
+.Xr sendmail 8
+configuration
+files when bootstrapping.
+It can also be useful for building a tarball that matches a specific
+world build.
 .It Fl D Ar destdir
 Specify an alternate destination directory as the target of a merge.
 This is analogous to the
@@ -388,6 +379,15 @@ The default destination directory is an 
 merges updating
 .Pa /etc
 on the local machine.
+.It Fl d Ar workdir
+Specify an alternate directory to use as the work directory.
+The work directory is used to store the
+.Dq current
+and
+.Dq previous
+trees as well as unresolved conflicts.
+The default work directory is
+.Pa <destdir>/var/db/etcupdate .
 .It Fl F
 Ignore changes in the FreeBSD ID string when comparing files in the
 destination directory to files in either of the

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 19:39:16 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 121B1EF8;
 Tue, 12 Nov 2013 19:39:16 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id F358F2F8F;
 Tue, 12 Nov 2013 19:39:15 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rACJdF84076568;
 Tue, 12 Nov 2013 19:39:15 GMT (envelope-from pjd@svn.freebsd.org)
Received: (from pjd@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rACJdE9M076558;
 Tue, 12 Nov 2013 19:39:14 GMT (envelope-from pjd@svn.freebsd.org)
Message-Id: <201311121939.rACJdE9M076558@svn.freebsd.org>
From: Pawel Jakub Dawidek <pjd@FreeBSD.org>
Date: Tue, 12 Nov 2013 19:39:14 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258065 - in head: contrib/mdocml lib lib/libnv share/mk
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 19:39:16 -0000

Author: pjd
Date: Tue Nov 12 19:39:14 2013
New Revision: 258065
URL: http://svnweb.freebsd.org/changeset/base/258065

Log:
  Bring in libnv library for managing name/value pairs. The following types
  are currently supported:
  
  - NV_TYPE_NULL - only name, no data;
  - NV_TYPE_BOOL - boolean (true or false);
  - NV_TYPE_NUMBER - 64bit unsigned integer;
  - NV_TYPE_STRING - C string;
  - NV_TYPE_NVLIST - nested nvlist;
  - NV_TYPE_DESCRIPTOR - file descriptor;
  - NV_TYPE_BINARY - binary data.
  
  For detailed documentation and examples see nv(3) manual page.
  
  Sponsored by:	The FreeBSD Foundation

Added:
  head/lib/libnv/
  head/lib/libnv/Makefile   (contents, props changed)
  head/lib/libnv/common_impl.h   (contents, props changed)
  head/lib/libnv/dnv.h   (contents, props changed)
  head/lib/libnv/dnvlist.c   (contents, props changed)
  head/lib/libnv/msgio.c   (contents, props changed)
  head/lib/libnv/msgio.h   (contents, props changed)
  head/lib/libnv/nv.3   (contents, props changed)
  head/lib/libnv/nv.h   (contents, props changed)
  head/lib/libnv/nv_impl.h   (contents, props changed)
  head/lib/libnv/nvlist.c   (contents, props changed)
  head/lib/libnv/nvlist_impl.h   (contents, props changed)
  head/lib/libnv/nvpair.c   (contents, props changed)
  head/lib/libnv/nvpair_impl.h   (contents, props changed)
Modified:
  head/contrib/mdocml/lib.in
  head/lib/Makefile
  head/share/mk/bsd.libnames.mk

Modified: head/contrib/mdocml/lib.in
==============================================================================
--- head/contrib/mdocml/lib.in	Tue Nov 12 19:18:00 2013	(r258064)
+++ head/contrib/mdocml/lib.in	Tue Nov 12 19:39:14 2013	(r258065)
@@ -67,6 +67,7 @@ LINE("libmemstat",	"Kernel Memory Alloca
 LINE("libmenu",		"Curses Menu Library (libmenu, \\-lmenu)")
 LINE("libnetgraph",	"Netgraph User Library (libnetgraph, \\-lnetgraph)")
 LINE("libnetpgp",	"Netpgp signing, verification, encryption and decryption (libnetpgp, \\-lnetpgp)")
+LINE("libnv",		"Name/value pairs library (libnv, \\-lnv)")
 LINE("libossaudio",	"OSS Audio Emulation Library (libossaudio, \\-lossaudio)")
 LINE("libpam",		"Pluggable Authentication Module Library (libpam, \\-lpam)")
 LINE("libpcap",		"Packet Capture Library (libpcap, \\-lpcap)")

Modified: head/lib/Makefile
==============================================================================
--- head/lib/Makefile	Tue Nov 12 19:18:00 2013	(r258064)
+++ head/lib/Makefile	Tue Nov 12 19:39:14 2013	(r258065)
@@ -94,6 +94,7 @@ SUBDIR=	${SUBDIR_ORDERED} \
 	${_libnandfs} \
 	libnetbsd \
 	${_libngatm} \
+	libnv \
 	libopie \
 	libpam \
 	libpcap \

Added: head/lib/libnv/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lib/libnv/Makefile	Tue Nov 12 19:39:14 2013	(r258065)
@@ -0,0 +1,161 @@
+# $FreeBSD$
+
+LIB=	nv
+SHLIBDIR?= /lib
+SHLIB_MAJOR= 0
+
+SRCS=	dnvlist.c
+SRCS+=	msgio.c
+SRCS+=	nvlist.c
+SRCS+=	nvpair.c
+
+INCS=	dnv.h
+INCS+=	nv.h
+
+MAN+=	nv.3
+
+MLINKS+=nv.3 libnv.3 \
+	nv.3 nvlist.3
+MLINKS+=nv.3 nvlist_create.3 \
+	nv.3 nvlist_destroy.3 \
+	nv.3 nvlist_error.3 \
+	nv.3 nvlist_empty.3 \
+	nv.3 nvlist_clone.3 \
+	nv.3 nvlist_dump.3 \
+	nv.3 nvlist_fdump.3 \
+	nv.3 nvlist_size.3 \
+	nv.3 nvlist_pack.3 \
+	nv.3 nvlist_unpack.3 \
+	nv.3 nvlist_send.3 \
+	nv.3 nvlist_recv.3 \
+	nv.3 nvlist_xfer.3 \
+	nv.3 nvlist_next.3 \
+	nv.3 nvlist_exists.3 \
+	nv.3 nvlist_exists_type.3 \
+	nv.3 nvlist_exists_null.3 \
+	nv.3 nvlist_exists_bool.3 \
+	nv.3 nvlist_exists_number.3 \
+	nv.3 nvlist_exists_string.3 \
+	nv.3 nvlist_exists_nvlist.3 \
+	nv.3 nvlist_exists_descriptor.3 \
+	nv.3 nvlist_exists_binary.3 \
+	nv.3 nvlist_add_null.3 \
+	nv.3 nvlist_add_bool.3 \
+	nv.3 nvlist_add_number.3 \
+	nv.3 nvlist_add_string.3 \
+	nv.3 nvlist_add_stringf.3 \
+	nv.3 nvlist_add_stringv.3 \
+	nv.3 nvlist_add_nvlist.3 \
+	nv.3 nvlist_add_descriptor.3 \
+	nv.3 nvlist_add_binary.3 \
+	nv.3 nvlist_move_string.3 \
+	nv.3 nvlist_move_nvlist.3 \
+	nv.3 nvlist_move_descriptor.3 \
+	nv.3 nvlist_move_binary.3 \
+	nv.3 nvlist_get_bool.3 \
+	nv.3 nvlist_get_number.3 \
+	nv.3 nvlist_get_string.3 \
+	nv.3 nvlist_get_nvlist.3 \
+	nv.3 nvlist_get_descriptor.3 \
+	nv.3 nvlist_get_binary.3 \
+	nv.3 nvlist_take_bool.3 \
+	nv.3 nvlist_take_number.3 \
+	nv.3 nvlist_take_string.3 \
+	nv.3 nvlist_take_nvlist.3 \
+	nv.3 nvlist_take_descriptor.3 \
+	nv.3 nvlist_take_binary.3 \
+	nv.3 nvlist_free.3 \
+	nv.3 nvlist_free_type.3 \
+	nv.3 nvlist_free_null.3 \
+	nv.3 nvlist_free_bool.3 \
+	nv.3 nvlist_free_number.3 \
+	nv.3 nvlist_free_string.3 \
+	nv.3 nvlist_free_nvlist.3 \
+	nv.3 nvlist_free_descriptor.3 \
+	nv.3 nvlist_free_binary.3
+MLINKS+=nv.3 nvlist_existsf.3 \
+	nv.3 nvlist_existsf_type.3 \
+	nv.3 nvlist_existsf_null.3 \
+	nv.3 nvlist_existsf_bool.3 \
+	nv.3 nvlist_existsf_number.3 \
+	nv.3 nvlist_existsf_string.3 \
+	nv.3 nvlist_existsf_nvlist.3 \
+	nv.3 nvlist_existsf_descriptor.3 \
+	nv.3 nvlist_existsf_binary.3 \
+	nv.3 nvlist_addf_null.3 \
+	nv.3 nvlist_addf_bool.3 \
+	nv.3 nvlist_addf_number.3 \
+	nv.3 nvlist_addf_string.3 \
+	nv.3 nvlist_addf_nvlist.3 \
+	nv.3 nvlist_addf_descriptor.3 \
+	nv.3 nvlist_addf_binary.3 \
+	nv.3 nvlist_movef_string.3 \
+	nv.3 nvlist_movef_nvlist.3 \
+	nv.3 nvlist_movef_descriptor.3 \
+	nv.3 nvlist_movef_binary.3 \
+	nv.3 nvlist_getf_bool.3 \
+	nv.3 nvlist_getf_number.3 \
+	nv.3 nvlist_getf_string.3 \
+	nv.3 nvlist_getf_nvlist.3 \
+	nv.3 nvlist_getf_descriptor.3 \
+	nv.3 nvlist_getf_binary.3 \
+	nv.3 nvlist_takef_bool.3 \
+	nv.3 nvlist_takef_number.3 \
+	nv.3 nvlist_takef_string.3 \
+	nv.3 nvlist_takef_nvlist.3 \
+	nv.3 nvlist_takef_descriptor.3 \
+	nv.3 nvlist_takef_binary.3 \
+	nv.3 nvlist_freef.3 \
+	nv.3 nvlist_freef_type.3 \
+	nv.3 nvlist_freef_null.3 \
+	nv.3 nvlist_freef_bool.3 \
+	nv.3 nvlist_freef_number.3 \
+	nv.3 nvlist_freef_string.3 \
+	nv.3 nvlist_freef_nvlist.3 \
+	nv.3 nvlist_freef_descriptor.3 \
+	nv.3 nvlist_freef_binary.3
+MLINKS+=nv.3 nvlist_existsv.3 \
+	nv.3 nvlist_existsv_type.3 \
+	nv.3 nvlist_existsv_null.3 \
+	nv.3 nvlist_existsv_bool.3 \
+	nv.3 nvlist_existsv_number.3 \
+	nv.3 nvlist_existsv_string.3 \
+	nv.3 nvlist_existsv_nvlist.3 \
+	nv.3 nvlist_existsv_descriptor.3 \
+	nv.3 nvlist_existsv_binary.3 \
+	nv.3 nvlist_addv_null.3 \
+	nv.3 nvlist_addv_bool.3 \
+	nv.3 nvlist_addv_number.3 \
+	nv.3 nvlist_addv_string.3 \
+	nv.3 nvlist_addv_nvlist.3 \
+	nv.3 nvlist_addv_descriptor.3 \
+	nv.3 nvlist_addv_binary.3 \
+	nv.3 nvlist_movev_string.3 \
+	nv.3 nvlist_movev_nvlist.3 \
+	nv.3 nvlist_movev_descriptor.3 \
+	nv.3 nvlist_movev_binary.3 \
+	nv.3 nvlist_getv_bool.3 \
+	nv.3 nvlist_getv_number.3 \
+	nv.3 nvlist_getv_string.3 \
+	nv.3 nvlist_getv_nvlist.3 \
+	nv.3 nvlist_getv_descriptor.3 \
+	nv.3 nvlist_getv_binary.3 \
+	nv.3 nvlist_takev_bool.3 \
+	nv.3 nvlist_takev_number.3 \
+	nv.3 nvlist_takev_string.3 \
+	nv.3 nvlist_takev_nvlist.3 \
+	nv.3 nvlist_takev_descriptor.3 \
+	nv.3 nvlist_takev_binary.3 \
+	nv.3 nvlist_freef.3 \
+	nv.3 nvlist_freev_type.3 \
+	nv.3 nvlist_freev_null.3 \
+	nv.3 nvlist_freev_bool.3 \
+	nv.3 nvlist_freev_number.3 \
+	nv.3 nvlist_freev_string.3 \
+	nv.3 nvlist_freev_nvlist.3 \
+	nv.3 nvlist_freev_descriptor.3 \
+	nv.3 nvlist_freev_binary.3
+
+WARNS?=	6
+
+.include <bsd.lib.mk>

Added: head/lib/libnv/common_impl.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lib/libnv/common_impl.h	Tue Nov 12 19:39:14 2013	(r258065)
@@ -0,0 +1,37 @@
+/*-
+ * Copyright (c) 2013 The FreeBSD Foundation
+ * All rights reserved.
+ *
+ * This software was developed by Pawel Jakub Dawidek under sponsorship from
+ * the FreeBSD Foundation.
+ *
+ * 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 AUTHORS 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 AUTHORS 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.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef	_COMMON_IMPL_H_
+#define	_COMMON_IMPL_H_
+
+#define	fd_is_valid(fd)	(fcntl((fd), F_GETFL) != -1 || errno != EBADF)
+
+#endif	/* !_COMMON_IMPL_H_ */

Added: head/lib/libnv/dnv.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lib/libnv/dnv.h	Tue Nov 12 19:39:14 2013	(r258065)
@@ -0,0 +1,106 @@
+/*-
+ * Copyright (c) 2013 The FreeBSD Foundation
+ * All rights reserved.
+ *
+ * This software was developed by Pawel Jakub Dawidek under sponsorship from
+ * the FreeBSD Foundation.
+ *
+ * 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 AUTHORS 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 AUTHORS 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.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef	_DNV_H_
+#define	_DNV_H_
+
+#include <sys/cdefs.h>
+
+#include <stdarg.h>
+#include <stdbool.h>
+#include <stdint.h>
+
+#ifndef	_NVLIST_T_DECLARED
+#define	_NVLIST_T_DECLARED
+struct nvlist;
+
+typedef struct nvlist nvlist_t;
+#endif
+
+/*
+ * The dnvlist_get functions returns value associated with the given name.
+ * If it returns a pointer, the pointer represents internal buffer and should
+ * not be freed by the caller.
+ * If no element of the given name and type exists, the function will return
+ * provided default value.
+ */
+
+bool dnvlist_get_bool(const nvlist_t *nvl, const char *name, bool defval);
+uint64_t dnvlist_get_number(const nvlist_t *nvl, const char *name, uint64_t defval);
+const char *dnvlist_get_string(const nvlist_t *nvl, const char *name, const char *defval);
+const nvlist_t *dnvlist_get_nvlist(const nvlist_t *nvl, const char *name, const nvlist_t *defval);
+int dnvlist_get_descriptor(const nvlist_t *nvl, const char *name, int defval);
+const void *dnvlist_get_binary(const nvlist_t *nvl, const char *name, size_t *sizep, const void *defval, size_t defsize);
+
+bool dnvlist_getf_bool(const nvlist_t *nvl, bool defval, const char *namefmt, ...) __printflike(3, 4);
+uint64_t dnvlist_getf_number(const nvlist_t *nvl, uint64_t defval, const char *namefmt, ...) __printflike(3, 4);
+const char *dnvlist_getf_string(const nvlist_t *nvl, const char *defval, const char *namefmt, ...) __printflike(3, 4);
+const nvlist_t *dnvlist_getf_nvlist(const nvlist_t *nvl, const nvlist_t *defval, const char *namefmt, ...) __printflike(3, 4);
+int dnvlist_getf_descriptor(const nvlist_t *nvl, int defval, const char *namefmt, ...) __printflike(3, 4);
+const void *dnvlist_getf_binary(const nvlist_t *nvl, size_t *sizep, const void *defval, size_t defsize, const char *namefmt, ...) __printflike(5, 6);
+
+bool dnvlist_getv_bool(const nvlist_t *nvl, bool defval, const char *namefmt, va_list nameap) __printflike(3, 0);
+uint64_t dnvlist_getv_number(const nvlist_t *nvl, uint64_t defval, const char *namefmt, va_list nameap) __printflike(3, 0);
+const char *dnvlist_getv_string(const nvlist_t *nvl, const char *defval, const char *namefmt, va_list nameap) __printflike(3, 0);
+const nvlist_t *dnvlist_getv_nvlist(const nvlist_t *nvl, const nvlist_t *defval, const char *namefmt, va_list nameap) __printflike(3, 0);
+int dnvlist_getv_descriptor(const nvlist_t *nvl, int defval, const char *namefmt, va_list nameap) __printflike(3, 0);
+const void *dnvlist_getv_binary(const nvlist_t *nvl, size_t *sizep, const void *defval, size_t defsize, const char *namefmt, va_list nameap) __printflike(5, 0);
+
+/*
+ * The dnvlist_take functions returns value associated with the given name and
+ * remove corresponding nvpair.
+ * If it returns a pointer, the caller has to free it.
+ * If no element of the given name and type exists, the function will return
+ * provided default value.
+ */
+
+bool dnvlist_take_bool(nvlist_t *nvl, const char *name, bool defval);
+uint64_t dnvlist_take_number(nvlist_t *nvl, const char *name, uint64_t defval);
+char *dnvlist_take_string(nvlist_t *nvl, const char *name, char *defval);
+nvlist_t *dnvlist_take_nvlist(nvlist_t *nvl, const char *name, nvlist_t *defval);
+int dnvlist_take_descriptor(nvlist_t *nvl, const char *name, int defval);
+void *dnvlist_take_binary(nvlist_t *nvl, const char *name, size_t *sizep, void *defval, size_t defsize);
+
+bool dnvlist_takef_bool(nvlist_t *nvl, bool defval, const char *namefmt, ...) __printflike(3, 4);
+uint64_t dnvlist_takef_number(nvlist_t *nvl, uint64_t defval, const char *namefmt, ...) __printflike(3, 4);
+char *dnvlist_takef_string(nvlist_t *nvl, char *defval, const char *namefmt, ...) __printflike(3, 4);
+nvlist_t *dnvlist_takef_nvlist(nvlist_t *nvl, nvlist_t *defval, const char *namefmt, ...) __printflike(3, 4);
+int dnvlist_takef_descriptor(nvlist_t *nvl, int defval, const char *namefmt, ...) __printflike(3, 4);
+void *dnvlist_takef_binary(nvlist_t *nvl, size_t *sizep, void *defval, size_t defsize, const char *namefmt, ...) __printflike(5, 6);
+
+bool dnvlist_takev_bool(nvlist_t *nvl, bool defval, const char *namefmt, va_list nameap) __printflike(3, 0);
+uint64_t dnvlist_takev_number(nvlist_t *nvl, uint64_t defval, const char *namefmt, va_list nameap) __printflike(3, 0);
+char *dnvlist_takev_string(nvlist_t *nvl, char *defval, const char *namefmt, va_list nameap) __printflike(3, 0);
+nvlist_t *dnvlist_takev_nvlist(nvlist_t *nvl, nvlist_t *defval, const char *namefmt, va_list nameap) __printflike(3, 0);
+int dnvlist_takev_descriptor(nvlist_t *nvl, int defval, const char *namefmt, va_list nameap) __printflike(3, 0);
+void *dnvlist_takev_binary(nvlist_t *nvl, size_t *sizep, void *defval, size_t defsize, const char *namefmt, va_list nameap) __printflike(5, 0);
+
+#endif	/* !_DNV_H_ */

Added: head/lib/libnv/dnvlist.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lib/libnv/dnvlist.c	Tue Nov 12 19:39:14 2013	(r258065)
@@ -0,0 +1,252 @@
+/*-
+ * Copyright (c) 2013 The FreeBSD Foundation
+ * All rights reserved.
+ *
+ * This software was developed by Pawel Jakub Dawidek under sponsorship from
+ * the FreeBSD Foundation.
+ *
+ * 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 AUTHORS 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 AUTHORS 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.
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include <stdarg.h>
+#include <stdbool.h>
+#include <stdint.h>
+
+#include "nv.h"
+#include "nv_impl.h"
+
+#include "dnv.h"
+
+#define	DNVLIST_GET(ftype, type)					\
+ftype									\
+dnvlist_get_##type(const nvlist_t *nvl, const char *name, ftype defval)	\
+{									\
+									\
+	return (dnvlist_getf_##type(nvl, defval, "%s", name));		\
+}
+
+DNVLIST_GET(bool, bool)
+DNVLIST_GET(uint64_t, number)
+DNVLIST_GET(const char *, string)
+DNVLIST_GET(const nvlist_t *, nvlist)
+DNVLIST_GET(int, descriptor)
+
+#undef	DNVLIST_GET
+
+const void *
+dnvlist_get_binary(const nvlist_t *nvl, const char *name, size_t *sizep,
+    const void *defval, size_t defsize)
+{
+
+	return (dnvlist_getf_binary(nvl, sizep, defval, defsize, "%s", name));
+}
+
+#define	DNVLIST_GETF(ftype, type)					\
+ftype									\
+dnvlist_getf_##type(const nvlist_t *nvl, ftype defval,			\
+    const char *namefmt, ...)						\
+{									\
+	va_list nameap;							\
+	ftype value;							\
+									\
+	va_start(nameap, namefmt);					\
+	value = dnvlist_getv_##type(nvl, defval, namefmt, nameap);	\
+	va_end(nameap);							\
+									\
+	return (value);							\
+}
+
+DNVLIST_GETF(bool, bool)
+DNVLIST_GETF(uint64_t, number)
+DNVLIST_GETF(const char *, string)
+DNVLIST_GETF(const nvlist_t *, nvlist)
+DNVLIST_GETF(int, descriptor)
+
+#undef	DNVLIST_GETF
+
+const void *
+dnvlist_getf_binary(const nvlist_t *nvl, size_t *sizep, const void *defval,
+    size_t defsize, const char *namefmt, ...)
+{
+	va_list nameap;
+	const void *value;
+
+	va_start(nameap, namefmt);
+	value = dnvlist_getv_binary(nvl, sizep, defval, defsize, namefmt,
+	    nameap);
+	va_end(nameap);
+
+	return (value);
+}
+
+#define	DNVLIST_GETV(ftype, type)					\
+ftype									\
+dnvlist_getv_##type(const nvlist_t *nvl, ftype defval,			\
+    const char *namefmt, va_list nameap)				\
+{									\
+	va_list cnameap;						\
+	ftype value;							\
+									\
+	va_copy(cnameap, nameap);					\
+	if (nvlist_existsv_##type(nvl, namefmt, cnameap))		\
+		value = nvlist_getv_##type(nvl, namefmt, nameap);	\
+	else								\
+		value = defval;						\
+	va_end(cnameap);						\
+	return (value);							\
+}
+
+DNVLIST_GETV(bool, bool)
+DNVLIST_GETV(uint64_t, number)
+DNVLIST_GETV(const char *, string)
+DNVLIST_GETV(const nvlist_t *, nvlist)
+DNVLIST_GETV(int, descriptor)
+
+#undef	DNVLIST_GETV
+
+const void *
+dnvlist_getv_binary(const nvlist_t *nvl, size_t *sizep, const void *defval,
+    size_t defsize, const char *namefmt, va_list nameap)
+{
+	va_list cnameap;
+	const void *value;
+
+	va_copy(cnameap, nameap);
+	if (nvlist_existsv_binary(nvl, namefmt, cnameap)) {
+		value = nvlist_getv_binary(nvl, sizep, namefmt, nameap);
+	} else {
+		if (sizep != NULL)
+			*sizep = defsize;
+		value = defval;
+	}
+	va_end(cnameap);
+	return (value);
+}
+
+#define	DNVLIST_TAKE(ftype, type)					\
+ftype									\
+dnvlist_take_##type(nvlist_t *nvl, const char *name, ftype defval)	\
+{									\
+									\
+	return (dnvlist_takef_##type(nvl, defval, "%s", name));		\
+}
+
+DNVLIST_TAKE(bool, bool)
+DNVLIST_TAKE(uint64_t, number)
+DNVLIST_TAKE(char *, string)
+DNVLIST_TAKE(nvlist_t *, nvlist)
+DNVLIST_TAKE(int, descriptor)
+
+#undef	DNVLIST_TAKE
+
+void *
+dnvlist_take_binary(nvlist_t *nvl, const char *name, size_t *sizep,
+    void *defval, size_t defsize)
+{
+
+	return (dnvlist_takef_binary(nvl, sizep, defval, defsize, "%s", name));
+}
+
+#define	DNVLIST_TAKEF(ftype, type)					\
+ftype									\
+dnvlist_takef_##type(nvlist_t *nvl, ftype defval,			\
+    const char *namefmt, ...)						\
+{									\
+	va_list nameap;							\
+	ftype value;							\
+									\
+	va_start(nameap, namefmt);					\
+	value = dnvlist_takev_##type(nvl, defval, namefmt, nameap);	\
+	va_end(nameap);							\
+									\
+	return (value);							\
+}
+
+DNVLIST_TAKEF(bool, bool)
+DNVLIST_TAKEF(uint64_t, number)
+DNVLIST_TAKEF(char *, string)
+DNVLIST_TAKEF(nvlist_t *, nvlist)
+DNVLIST_TAKEF(int, descriptor)
+
+#undef	DNVLIST_TAKEF
+
+void *
+dnvlist_takef_binary(nvlist_t *nvl, size_t *sizep, void *defval,
+    size_t defsize, const char *namefmt, ...)
+{
+	va_list nameap;
+	void *value;
+
+	va_start(nameap, namefmt);
+	value = dnvlist_takev_binary(nvl, sizep, defval, defsize, namefmt,
+	    nameap);
+	va_end(nameap);
+
+	return (value);
+}
+
+#define	DNVLIST_TAKEV(ftype, type)					\
+ftype									\
+dnvlist_takev_##type(nvlist_t *nvl, ftype defval, const char *namefmt,	\
+    va_list nameap)							\
+{									\
+	va_list cnameap;						\
+	ftype value;							\
+									\
+	va_copy(cnameap, nameap);					\
+	if (nvlist_existsv_##type(nvl, namefmt, cnameap))		\
+		value = nvlist_takev_##type(nvl, namefmt, nameap);	\
+	else								\
+		value = defval;						\
+	va_end(cnameap);						\
+	return (value);							\
+}
+
+DNVLIST_TAKEV(bool, bool)
+DNVLIST_TAKEV(uint64_t, number)
+DNVLIST_TAKEV(char *, string)
+DNVLIST_TAKEV(nvlist_t *, nvlist)
+DNVLIST_TAKEV(int, descriptor)
+
+#undef	DNVLIST_TAKEV
+
+void *
+dnvlist_takev_binary(nvlist_t *nvl, size_t *sizep, void *defval,
+    size_t defsize, const char *namefmt, va_list nameap)
+{
+	va_list cnameap;
+	void *value;
+
+	va_copy(cnameap, nameap);
+	if (nvlist_existsv_binary(nvl, namefmt, cnameap)) {
+		value = nvlist_takev_binary(nvl, sizep, namefmt, nameap);
+	} else {
+		if (sizep != NULL)
+			*sizep = defsize;
+		value = defval;
+	}
+	va_end(cnameap);
+	return (value);
+}

Added: head/lib/libnv/msgio.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lib/libnv/msgio.c	Tue Nov 12 19:39:14 2013	(r258065)
@@ -0,0 +1,407 @@
+/*-
+ * Copyright (c) 2013 The FreeBSD Foundation
+ * Copyright (c) 2013 Mariusz Zaborski <oshogbo@FreeBSD.org>
+ * All rights reserved.
+ *
+ * This software was developed by Pawel Jakub Dawidek under sponsorship from
+ * the FreeBSD Foundation.
+ *
+ * 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 AUTHORS 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 AUTHORS 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.
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include <sys/types.h>
+#include <sys/socket.h>
+
+#include <errno.h>
+#include <fcntl.h>
+#include <stdbool.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#ifdef HAVE_PJDLOG
+#include <pjdlog.h>
+#endif
+
+#include "common_impl.h"
+#include "msgio.h"
+
+#ifndef	HAVE_PJDLOG
+#include <assert.h>
+#define	PJDLOG_ASSERT(...)		assert(__VA_ARGS__)
+#define	PJDLOG_RASSERT(expr, ...)	assert(expr)
+#define	PJDLOG_ABORT(...)		abort()
+#endif
+
+static int
+msghdr_add_fd(struct cmsghdr *cmsg, int fd)
+{
+
+	PJDLOG_ASSERT(fd >= 0);
+
+	if (!fd_is_valid(fd)) {
+		errno = EBADF;
+		return (-1);
+	}
+
+	cmsg->cmsg_level = SOL_SOCKET;
+	cmsg->cmsg_type = SCM_RIGHTS;
+	cmsg->cmsg_len = CMSG_LEN(sizeof(fd));
+	bcopy(&fd, CMSG_DATA(cmsg), sizeof(fd));
+
+	return (0);
+}
+
+static int
+msghdr_get_fd(struct cmsghdr *cmsg)
+{
+	int fd;
+
+	if (cmsg == NULL || cmsg->cmsg_level != SOL_SOCKET ||
+	    cmsg->cmsg_type != SCM_RIGHTS ||
+	    cmsg->cmsg_len != CMSG_LEN(sizeof(fd))) {
+		errno = EINVAL;
+		return (-1);
+	}
+
+	bcopy(CMSG_DATA(cmsg), &fd, sizeof(fd));
+#ifndef MSG_CMSG_CLOEXEC
+	/*
+	 * If the MSG_CMSG_CLOEXEC flag is not available we cannot set the
+	 * close-on-exec flag atomically, but we still want to set it for
+	 * consistency.
+	 */
+	(void) fcntl(fd, F_SETFD, FD_CLOEXEC);
+#endif
+
+	return (fd);
+}
+
+static void
+fd_wait(int fd, bool doread)
+{
+	fd_set fds;
+
+	PJDLOG_ASSERT(fd >= 0);
+
+	FD_ZERO(&fds);
+	FD_SET(fd, &fds);
+	(void)select(fd + 1, doread ? &fds : NULL, doread ? NULL : &fds,
+	    NULL, NULL);
+}
+
+int
+msg_peek(int sock, void *buf, size_t size)
+{
+	ssize_t done;
+
+	PJDLOG_ASSERT(sock >= 0);
+	PJDLOG_ASSERT(size > 0);
+
+	do {
+		fd_wait(sock, true);
+		done = recv(sock, buf, size, MSG_PEEK | MSG_WAITALL);
+		if (done == -1) {
+			if (errno == EAGAIN || errno == EINTR)
+				continue;
+			return (-1);
+		} else if (done == 0) {
+			errno = ENOTCONN;
+			return (-1);
+		}
+	} while (done != (ssize_t)size);
+
+	return (0);
+}
+
+static int
+msg_recv(int sock, struct msghdr *msg)
+{
+	int flags;
+
+	PJDLOG_ASSERT(sock >= 0);
+
+#ifdef MSG_CMSG_CLOEXEC
+	flags = MSG_CMSG_CLOEXEC;
+#else
+	flags = 0;
+#endif
+
+	for (;;) {
+		fd_wait(sock, true);
+		if (recvmsg(sock, msg, flags) == -1) {
+			if (errno == EINTR)
+				continue;
+			return (-1);
+		}
+		break;
+	}
+
+	return (0);
+}
+
+static int
+msg_send(int sock, const struct msghdr *msg)
+{
+
+	PJDLOG_ASSERT(sock >= 0);
+
+	for (;;) {
+		fd_wait(sock, false);
+		if (sendmsg(sock, msg, 0) == -1) {
+			if (errno == EINTR)
+				continue;
+			return (-1);
+		}
+		break;
+	}
+
+	return (0);
+}
+
+int
+cred_send(int sock)
+{
+	unsigned char credbuf[CMSG_SPACE(sizeof(struct cmsgcred))];
+	struct msghdr msg;
+	struct cmsghdr *cmsg;
+	struct iovec iov;
+	uint8_t dummy;
+
+	bzero(credbuf, sizeof(credbuf));
+	bzero(&msg, sizeof(msg));
+	bzero(&iov, sizeof(iov));
+
+	/*
+	 * XXX: We send one byte along with the control message, because
+	 *      setting msg_iov to NULL only works if this is the first
+	 *      packet send over the socket. Once we send some data we
+	 *      won't be able to send credentials anymore. This is most
+	 *      likely a kernel bug.
+	 */
+	dummy = 0;
+	iov.iov_base = &dummy;
+	iov.iov_len = sizeof(dummy);
+
+	msg.msg_iov = &iov;
+	msg.msg_iovlen = 1;
+	msg.msg_control = credbuf;
+	msg.msg_controllen = sizeof(credbuf);
+
+	cmsg = CMSG_FIRSTHDR(&msg);
+	cmsg->cmsg_len = CMSG_LEN(sizeof(struct cmsgcred));
+	cmsg->cmsg_level = SOL_SOCKET;
+	cmsg->cmsg_type = SCM_CREDS;
+
+	if (msg_send(sock, &msg) == -1)
+		return (-1);
+
+	return (0);
+}
+
+int
+cred_recv(int sock, struct cmsgcred *cred)
+{
+	unsigned char credbuf[CMSG_SPACE(sizeof(struct cmsgcred))];
+	struct msghdr msg;
+	struct cmsghdr *cmsg;
+	struct iovec iov;
+	uint8_t dummy;
+
+	bzero(credbuf, sizeof(credbuf));
+	bzero(&msg, sizeof(msg));
+	bzero(&iov, sizeof(iov));
+
+	iov.iov_base = &dummy;
+	iov.iov_len = sizeof(dummy);
+
+	msg.msg_iov = &iov;
+	msg.msg_iovlen = 1;
+	msg.msg_control = credbuf;
+	msg.msg_controllen = sizeof(credbuf);
+
+	if (msg_recv(sock, &msg) == -1)
+		return (-1);
+
+	cmsg = CMSG_FIRSTHDR(&msg);
+	if (cmsg == NULL ||
+	    cmsg->cmsg_len != CMSG_LEN(sizeof(struct cmsgcred)) ||
+	    cmsg->cmsg_level != SOL_SOCKET || cmsg->cmsg_type != SCM_CREDS) {
+		errno = EINVAL;
+		return (-1);
+	}
+	bcopy(CMSG_DATA(cmsg), cred, sizeof(*cred));
+
+	return (0);
+}
+
+int
+fd_send(int sock, const int *fds, size_t nfds)
+{
+	struct msghdr msg;
+	struct cmsghdr *cmsg;
+	unsigned int i;
+	int serrno, ret;
+
+	if (nfds == 0 || fds == NULL) {
+		errno = EINVAL;
+		return (-1);
+	}
+
+	bzero(&msg, sizeof(msg));
+	msg.msg_iov = NULL;
+	msg.msg_iovlen = 0;
+	msg.msg_controllen = nfds * CMSG_SPACE(sizeof(int));
+	msg.msg_control = calloc(1, msg.msg_controllen);
+	if (msg.msg_control == NULL)
+		return (-1);
+
+	ret = -1;
+
+	for (i = 0, cmsg = CMSG_FIRSTHDR(&msg); i < nfds && cmsg != NULL;
+	    i++, cmsg = CMSG_NXTHDR(&msg, cmsg)) {
+		if (msghdr_add_fd(cmsg, fds[i]) == -1)
+			goto end;
+	}
+
+	if (msg_send(sock, &msg) == -1)
+		goto end;
+
+	ret = 0;
+end:
+	serrno = errno;
+	free(msg.msg_control);
+	errno = serrno;
+	return (ret);
+}
+
+int
+fd_recv(int sock, int *fds, size_t nfds)
+{
+	struct msghdr msg;
+	struct cmsghdr *cmsg;
+	unsigned int i;
+	int serrno, ret;
+
+	if (nfds == 0 || fds == NULL) {
+		errno = EINVAL;
+		return (-1);
+	}
+
+	bzero(&msg, sizeof(msg));
+	msg.msg_iov = NULL;
+	msg.msg_iovlen = 0;
+	msg.msg_controllen = nfds * CMSG_SPACE(sizeof(int));
+	msg.msg_control = calloc(1, msg.msg_controllen);
+	if (msg.msg_control == NULL)
+		return (-1);
+
+	ret = -1;
+
+	if (msg_recv(sock, &msg) == -1)
+		goto end;
+
+	for (i = 0, cmsg = CMSG_FIRSTHDR(&msg); i < nfds && cmsg != NULL;
+	    i++, cmsg = CMSG_NXTHDR(&msg, cmsg)) {
+		fds[i] = msghdr_get_fd(cmsg);
+		if (fds[i] < 0)
+			break;
+	}
+
+	if (cmsg != NULL || i < nfds) {
+		int fd;
+
+		/*
+		 * We need to close all received descriptors, even if we have
+		 * different control message (eg. SCM_CREDS) in between.
+		 */
+		for (cmsg = CMSG_FIRSTHDR(&msg); cmsg != NULL;
+		    cmsg = CMSG_NXTHDR(&msg, cmsg)) {
+			fd = msghdr_get_fd(cmsg);
+			if (fd >= 0)
+				close(fd);
+		}
+		errno = EINVAL;
+		goto end;
+	}
+
+	ret = 0;
+end:
+	serrno = errno;
+	free(msg.msg_control);
+	errno = serrno;
+	return (ret);
+}
+
+int
+buf_send(int sock, void *buf, size_t size)
+{
+	ssize_t done;
+	unsigned char *ptr;
+
+	ptr = buf;
+	do {
+		fd_wait(sock, false);
+		done = send(sock, ptr, size, 0);
+		if (done == -1) {
+			if (errno == EINTR)
+				continue;
+			return (-1);
+		} else if (done == 0) {
+			errno = ENOTCONN;
+			return (-1);
+		}
+		size -= done;
+		ptr += done;
+	} while (size > 0);
+
+	return (0);
+}
+
+int
+buf_recv(int sock, void *buf, size_t size)
+{
+	ssize_t done;
+	unsigned char *ptr;
+
+	ptr = buf;
+	do {
+		fd_wait(sock, true);
+		done = recv(sock, ptr, size, 0);
+		if (done == -1) {
+			if (errno == EINTR)
+				continue;
+			return (-1);
+		} else if (done == 0) {
+			errno = ENOTCONN;
+			return (-1);
+		}
+		size -= done;
+		ptr += done;
+	} while (size > 0);
+
+	return (0);
+}

Added: head/lib/libnv/msgio.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lib/libnv/msgio.h	Tue Nov 12 19:39:14 2013	(r258065)

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

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 19:44:19 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 9D8FF426;
 Tue, 12 Nov 2013 19:44:19 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 8B4BF2FFE;
 Tue, 12 Nov 2013 19:44:19 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rACJiJk1079513;
 Tue, 12 Nov 2013 19:44:19 GMT (envelope-from jhb@svn.freebsd.org)
Received: (from jhb@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rACJiJnS079510;
 Tue, 12 Nov 2013 19:44:19 GMT (envelope-from jhb@svn.freebsd.org)
Message-Id: <201311121944.rACJiJnS079510@svn.freebsd.org>
From: John Baldwin <jhb@FreeBSD.org>
Date: Tue, 12 Nov 2013 19:44:19 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258066 - in head: tools/regression/usr.sbin/etcupdate
 usr.sbin/etcupdate
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 19:44:19 -0000

Author: jhb
Date: Tue Nov 12 19:44:18 2013
New Revision: 258066
URL: http://svnweb.freebsd.org/changeset/base/258066

Log:
  Add a pre-world mode of updating similar to the -p option that can be
  passed to mergemaster.  In this mode, only changes to /etc/master.passwd
  and /etc/group are merged to /etc.  In addition, it uses a temporary
  tree to stage these changes rather than overwriting the existing
  'current' and 'previous' trees so that a full update can be run after
  a normal installworld has completed.
  
  MFC after:	2 weeks

Added:
  head/tools/regression/usr.sbin/etcupdate/preworld.sh   (contents, props changed)
Modified:
  head/usr.sbin/etcupdate/etcupdate.8
  head/usr.sbin/etcupdate/etcupdate.sh

Added: head/tools/regression/usr.sbin/etcupdate/preworld.sh
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/tools/regression/usr.sbin/etcupdate/preworld.sh	Tue Nov 12 19:44:18 2013	(r258066)
@@ -0,0 +1,238 @@
+#!/bin/sh
+#
+# Copyright (c) 2013 Advanced Computing Technologies LLC
+# Written by: John H. Baldwin <jhb@FreeBSD.org>
+# 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.
+#
+# $FreeBSD$
+
+# Regression tests for the pre-world (-p) mode 
+
+WORKDIR=work
+
+usage()
+{
+	echo "Usage: preworld.sh [-s script] [-w workdir]"
+	exit 1
+}
+
+# Allow the user to specify an alternate work directory or script.
+COMMAND=etcupdate
+while getopts "s:w:" option; do
+	case $option in
+		s)
+			COMMAND="sh $OPTARG"
+			;;
+		w)
+			WORKDIR=$OPTARG
+			;;
+		*)
+			echo
+			usage
+			;;
+	esac
+done
+shift $((OPTIND - 1))
+if [ $# -ne 0 ]; then
+	usage
+fi
+
+CONFLICTS=$WORKDIR/conflicts
+SRC=$WORKDIR/src
+OLD=$WORKDIR/current
+TEST=$WORKDIR/test
+
+build_trees()
+{
+
+	# Populate trees with pre-world files and an additional file
+	# that should not be touched.
+
+	rm -rf $SRC $OLD $TEST $CONFLICTS
+
+	# Create the "old" source tree as the starting point
+	mkdir -p $OLD/etc
+	cat >> $OLD/etc/master.passwd <<EOF
+#
+root::0:0::0:0:Charlie &:/root:/bin/csh
+toor:*:0:0::0:0:Bourne-again Superuser:/root:
+daemon:*:1:1::0:0:Owner of many system processes:/root:/usr/sbin/nologin
+operator:*:2:5::0:0:System &:/:/usr/sbin/nologin
+_dhcp:*:65:65::0:0:dhcp programs:/var/empty:/usr/sbin/nologin
+uucp:*:66:66::0:0:UUCP pseudo-user:/var/spool/uucppublic:/usr/local/libexec/uucp/uucico
+pop:*:68:6::0:0:Post Office Owner:/nonexistent:/usr/sbin/nologin
+www:*:80:80::0:0:World Wide Web Owner:/nonexistent:/usr/sbin/nologin
+hast:*:845:845::0:0:HAST unprivileged user:/var/empty:/usr/sbin/nologin
+nobody:*:65534:65534::0:0:Unprivileged user:/nonexistent:/usr/sbin/nologin
+EOF
+	cat >> $OLD/etc/group <<EOF
+#
+wheel:*:0:root
+daemon:*:1:
+kmem:*:2:
+sys:*:3:
+tty:*:4:
+operator:*:5:root
+_dhcp:*:65:
+uucp:*:66:
+dialer:*:68:
+network:*:69:
+www:*:80:
+hast:*:845:
+nogroup:*:65533:
+nobody:*:65534:
+EOF
+	cat >> $OLD/etc/inetd.conf <<EOF
+# Yet another file
+EOF
+
+	# Copy the "old" source tree to the test tree and make local
+	# modifications.
+	cp -R $OLD $TEST
+	sed -I "" -e 's/root::/root:<rpass>:/' $TEST/etc/master.passwd
+	cat >> $TEST/etc/master.passwd <<EOF
+john:<password>:1001:1001::0:0:John Baldwin:/home/john:/bin/tcsh
+messagebus:*:556:556::0:0:D-BUS Daemon User:/nonexistent:/usr/sbin/nologin
+polkit:*:562:562::0:0:PolicyKit User:/nonexistent:/usr/sbin/nologin
+haldaemon:*:560:560::0:0:HAL Daemon User:/nonexistent:/usr/sbin/nologin
+EOF
+	awk '/wheel/ { printf "%s,john\n", $0; next } // { print }' \
+	    $OLD/etc/group > $TEST/etc/group
+	cat >> $TEST/etc/group <<EOF
+john:*:1001:
+messagebus:*:556:
+polkit:*:562:
+haldaemon:*:560:
+EOF
+	rm $TEST/etc/inetd.conf
+
+	# Copy the "old" source tree to the new source tree and
+	# make upstream modifications.
+	cp -R $OLD $SRC
+	sed -I "" -e '/:80:/i\
+auditdistd:*:78:77::0:0:Auditdistd unprivileged user:/var/empty:/usr/sbin/nologin' \
+	    $SRC/etc/master.passwd
+	sed -I "" -e '/:80:/i\
+audit:*:77:' \
+	    $SRC/etc/group
+	cat >> $SRC/etc/inetd.conf <<EOF
+# Making this larger
+EOF
+}
+
+# $1 - relative path to file that should be missing from TEST
+missing()
+{
+	if [ -e $TEST/$1 -o -L $TEST/$1 ]; then
+		echo "File $1 should be missing"
+	fi
+}
+
+# $1 - relative path to file that should be present in TEST
+present()
+{
+	if ! [ -e $TEST/$1 -o -L $TEST/$1 ]; then
+		echo "File $1 should be present"
+	fi
+}
+
+# $1 - relative path to regular file that should be present in TEST
+# $2 - optional string that should match file contents
+# $3 - optional MD5 of the flie contents, overrides $2 if present
+file()
+{
+	local contents sum
+
+	if ! [ -f $TEST/$1 ]; then
+		echo "File $1 should be a regular file"
+	elif [ $# -eq 2 ]; then
+		contents=`cat $TEST/$1`
+		if [ "$contents" != "$2" ]; then
+			echo "File $1 has wrong contents"
+		fi
+	elif [ $# -eq 3 ]; then
+		sum=`md5 -q $TEST/$1`
+		if [ "$sum" != "$3" ]; then
+			echo "File $1 has wrong contents"
+		fi
+	fi
+}
+
+# $1 - relative path to a regular file that should have a conflict
+# $2 - optional MD5 of the conflict file contents
+conflict()
+{
+	local sum
+
+	if ! [ -f $CONFLICTS/$1 ]; then
+		echo "File $1 missing conflict"
+	elif [ $# -gt 1 ]; then
+		sum=`md5 -q $CONFLICTS/$1`
+		if [ "$sum" != "$2" ]; then
+			echo "Conflict $1 has wrong contents"
+		fi
+	fi
+}
+
+check_trees()
+{
+
+	echo "Checking tree for correct results:"
+
+	file /etc/master.passwd "" 1385366e8b424d33d59b7d8a2bdb15d3
+	file /etc/group "" 21273f845f6ec0cda9188c4ddac9ed47
+	missing /etc/inetd.conf
+
+	# These should be auto-generated by pwd_mkdb
+	file /etc/passwd "" 9831537874bdc99adccaa2b0293248a1
+	file /etc/pwd.db
+	file /etc/spwd.db
+}
+
+if [ `id -u` -ne 0 ]; then
+	echo "must be root"
+fi
+
+if [ -r /etc/etcupdate.conf ]; then
+	echo "WARNING: /etc/etcupdate.conf settings may break some tests."
+fi
+
+build_trees
+
+$COMMAND -np -s $SRC -d $WORKDIR -D $TEST > $WORKDIR/testn.out
+
+cat > $WORKDIR/correct.out <<EOF
+  M /etc/group
+  M /etc/master.passwd
+EOF
+
+echo "Differences for -n:"
+diff -u -L "correct" $WORKDIR/correct.out -L "test" $WORKDIR/testn.out
+
+$COMMAND -p -s $SRC -d $WORKDIR -D $TEST > $WORKDIR/test.out
+
+echo "Differences for real:"
+diff -u -L "correct" $WORKDIR/correct.out -L "test" $WORKDIR/test.out
+
+check_trees

Modified: head/usr.sbin/etcupdate/etcupdate.8
==============================================================================
--- head/usr.sbin/etcupdate/etcupdate.8	Tue Nov 12 19:39:14 2013	(r258065)
+++ head/usr.sbin/etcupdate/etcupdate.8	Tue Nov 12 19:44:18 2013	(r258066)
@@ -25,7 +25,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd March 16, 2012
+.Dd November 12, 2013
 .Dt ETCUPDATE 8
 .Os
 .Sh NAME
@@ -33,7 +33,7 @@
 .Nd "manage updates to system files not updated by installworld"
 .Sh SYNOPSIS
 .Nm
-.Op Fl nBF
+.Op Fl npBF
 .Op Fl d Ar workdir
 .Op Fl r | Fl s Ar source | Fl t Ar tarball
 .Op Fl A Ar patterns
@@ -64,6 +64,7 @@
 .Op Fl M Ar options
 .Nm
 .Cm resolve
+.Op Fl p
 .Op Fl d Ar workdir
 .Op Fl D Ar destdir
 .Op Fl L Ar logfile
@@ -481,6 +482,33 @@ option is not specified,
 then a temporary
 .Dq current
 tree will be extracted to perform the comparison.
+.It Fl p
+Enable
+.Dq pre-world
+mode.
+Only merge changes to files that are necessary to successfully run
+.Sq make installworld
+or
+.Sq make installkernel .
+When this flag is enabled,
+the existing
+.Dq current
+and
+.Dq previous
+trees are left alone.
+Instead,
+a temporary tree is populated with the necessary files.
+This temporary tree is compared against the
+.Dq current
+tree.
+This allows a normal update to be run after
+.Sq make installworld
+has completed.
+Any conflicts generated during a
+.Dq pre-world
+update should be resolved by a
+.Dq pre-world
+.Cm resolve .
 .It Fl r
 Do not update the
 .Dq current

Modified: head/usr.sbin/etcupdate/etcupdate.sh
==============================================================================
--- head/usr.sbin/etcupdate/etcupdate.sh	Tue Nov 12 19:39:14 2013	(r258065)
+++ head/usr.sbin/etcupdate/etcupdate.sh	Tue Nov 12 19:44:18 2013	(r258066)
@@ -61,14 +61,15 @@
 usage()
 {
 	cat <<EOF
-usage: etcupdate [-nBF] [-d workdir] [-r | -s source | -t tarball] [-A patterns]
-                 [-D destdir] [-I patterns] [-L logfile] [-M options]
+usage: etcupdate [-npBF] [-d workdir] [-r | -s source | -t tarball]
+                 [-A patterns] [-D destdir] [-I patterns] [-L logfile]
+                 [-M options]
        etcupdate build [-B] [-d workdir] [-s source] [-L logfile] [-M options]
                  <tarball>
        etcupdate diff [-d workdir] [-D destdir] [-I patterns] [-L logfile]
        etcupdate extract [-B] [-d workdir] [-s source | -t tarball] [-L logfile]
                  [-M options]
-       etcupdate resolve [-d workdir] [-D destdir] [-L logfile]
+       etcupdate resolve [-p] [-d workdir] [-D destdir] [-L logfile]
        etcupdate status [-d workdir] [-D destdir]
 EOF
 	exit 1
@@ -181,22 +182,31 @@ always_install()
 # $1 - directory to store new tree in
 build_tree()
 {
-	local make
+	local destdir dir file make
 
 	make="make $MAKE_OPTIONS"
 
 	log "Building tree at $1 with $make"
 	mkdir -p $1/usr/obj >&3 2>&1
-	(cd $SRCDIR; $make DESTDIR=$1 distrib-dirs) >&3 2>&1 || return 1
+	destdir=`realpath $1`
 
-	if ! [ -n "$nobuild" ]; then
-		(cd $SRCDIR; \
-	    MAKEOBJDIRPREFIX=$1/usr/obj $make _obj SUBDIR_OVERRIDE=etc &&
-	    MAKEOBJDIRPREFIX=$1/usr/obj $make everything SUBDIR_OVERRIDE=etc &&
-	    MAKEOBJDIRPREFIX=$1/usr/obj $make DESTDIR=$1 distribution) \
+	if [ -n "$preworld" ]; then
+		# Build a limited tree that only contains files that are
+		# crucial to installworld.
+		for file in $PREWORLD_FILES; do
+			dir=`dirname /$file`
+			mkdir -p $1/$dir >&3 2>&1 || return 1
+			cp -p $SRCDIR/$file $1/$file || return 1
+		done
+	elif ! [ -n "$nobuild" ]; then
+		(cd $SRCDIR; $make DESTDIR=$destdir distrib-dirs &&
+    MAKEOBJDIRPREFIX=$destdir/usr/obj $make _obj SUBDIR_OVERRIDE=etc &&
+    MAKEOBJDIRPREFIX=$destdir/usr/obj $make everything SUBDIR_OVERRIDE=etc &&
+    MAKEOBJDIRPREFIX=$destdir/usr/obj $make DESTDIR=$destdir distribution) \
 		    >&3 2>&1 || return 1
 	else
-		(cd $SRCDIR; $make DESTDIR=$1 distribution) >&3 2>&1 || return 1
+		(cd $SRCDIR; $make DESTDIR=$destdir distrib-dirs &&
+		    $make DESTDIR=$destdir distribution) >&3 2>&1 || return 1
 	fi
 	chflags -R noschg $1 >&3 2>&1 || return 1
 	rm -rf $1/usr/obj >&3 2>&1 || return 1
@@ -218,9 +228,15 @@ build_tree()
 # source tree.
 extract_tree()
 {
+	local files
+
 	# If we have a tarball, extract that into the new directory.
 	if [ -n "$tarball" ]; then
-		if ! (mkdir -p $NEWTREE && tar xf $tarball -C $NEWTREE) \
+		files=
+		if [ -n "$preworld" ]; then
+			files="$PREWORLD_FILES"
+		fi
+		if ! (mkdir -p $NEWTREE && tar xf $tarball -C $NEWTREE $files) \
 		    >&3 2>&1; then
 			echo "Failed to extract new tree."
 			remove_tree $NEWTREE
@@ -1298,6 +1314,11 @@ resolve_cmd()
 		return
 	fi
 
+	if ! [ -d $NEWTREE ]; then
+		echo "The current tree is not present to resolve conflicts."
+		exit 1
+	fi
+
 	conflicts=`(cd $CONFLICTS; find . ! -type d) | sed -e 's/^\.//'`
 	for file in $conflicts; do
 		resolve_conflict $file
@@ -1343,7 +1364,7 @@ update_cmd()
 		usage
 	fi
 
-	log "update command: rerun=$rerun tarball=$tarball"
+	log "update command: rerun=$rerun tarball=$tarball preworld=$preworld"
 
 	if [ `id -u` -ne 0 ]; then
 		echo "Must be root to update a tree."
@@ -1376,9 +1397,22 @@ update_cmd()
 				echo "Unable to create temporary directory."
 				exit 1
 			fi
-			OLDTREE=$NEWTREE
+
+			# A pre-world dryrun has already set OLDTREE to
+			# point to the current stock tree.
+			if [ -z "$preworld" ]; then
+				OLDTREE=$NEWTREE
+			fi
 			NEWTREE=$dir
 
+		# For a pre-world update, blow away any pre-existing
+		# NEWTREE.
+		elif [ -n "$preworld" ]; then
+			if ! remove_tree $NEWTREE; then
+				echo "Unable to remove pre-world tree."
+				exit 1
+			fi
+
 		# Rotate the existing stock tree to the old tree.
 		elif [ -d $NEWTREE ]; then
 			# First, delete the previous old tree if it exists.
@@ -1421,6 +1455,12 @@ EOF
 	# Initialize conflicts and warnings handling.
 	rm -f $WARNINGS
 	mkdir -p $CONFLICTS
+
+	# Ignore removed files for the pre-world case.  A pre-world
+	# update uses a stripped-down tree.
+	if [ -n "$preworld" ]; then
+		> $WORKDIR/removed.files
+	fi
 	
 	# The order for the following sections is important.  In the
 	# odd case that a directory is converted into a file, the
@@ -1535,7 +1575,8 @@ always=
 dryrun=
 ignore=
 nobuild=
-while getopts "d:nrs:t:A:BD:FI:L:M:" option; do
+preworld=
+while getopts "d:nprs:t:A:BD:FI:L:M:" option; do
 	case "$option" in
 		d)
 			WORKDIR=$OPTARG
@@ -1543,6 +1584,9 @@ while getopts "d:nrs:t:A:BD:FI:L:M:" opt
 		n)
 			dryrun=YES
 			;;
+		p)
+			preworld=YES
+			;;
 		r)
 			rerun=YES
 			;;
@@ -1633,6 +1677,9 @@ WARNINGS=$WORKDIR/warnings
 # Use $EDITOR for resolving conflicts.  If it is not set, default to vi.
 EDITOR=${EDITOR:-/usr/bin/vi}
 
+# Files that need to be updated before installworld.
+PREWORLD_FILES="etc/master.passwd etc/group"
+
 # Handle command-specific argument processing such as complaining
 # about unsupported options.  Since the configuration file is always
 # included, do not complain about extra command line arguments that
@@ -1644,19 +1691,39 @@ case $command in
 			echo
 			usage
 		fi
+		if [ -n "$rerun" -a -n "$preworld" ]; then
+			echo "Only one of -p or -r can be specified."
+			echo
+			usage
+		fi
+		;;
+	build|diff|status)
+		if [ -n "$dryrun" -o -n "$rerun" -o -n "$tarball" -o
+		     -n "$preworld" ]; then
+			usage
+		fi
 		;;
-	build|diff|resolve|status)
+	resolve)
 		if [ -n "$dryrun" -o -n "$rerun" -o -n "$tarball" ]; then
 			usage
 		fi
 		;;
 	extract)
-		if [ -n "$dryrun" -o -n "$rerun" ]; then
+		if [ -n "$dryrun" -o -n "$rerun" -o -n "$preworld" ]; then
 			usage
 		fi
 		;;
 esac
 
+# Pre-world mode uses a different set of trees.  It leaves the current
+# tree as-is so it is still present for a full etcupdate run after the
+# world install is complete.  Instead, it installs a few critical files
+# into a separate tree.
+if [ -n "$preworld" ]; then
+	OLDTREE=$NEWTREE
+	NEWTREE=$WORKDIR/preworld
+fi
+
 # Open the log file.  Don't truncate it if doing a minor operation so
 # that a minor operation doesn't lose log info from a major operation.
 if ! mkdir -p $WORKDIR 2>/dev/null; then

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 19:54:51 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 900AB382;
 Tue, 12 Nov 2013 19:54:51 +0000 (UTC)
Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1])
 (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 6AC972136;
 Tue, 12 Nov 2013 19:54:51 +0000 (UTC)
Received: from jhbbsd.localnet (unknown [209.249.190.124])
 by bigwig.baldwin.cx (Postfix) with ESMTPSA id 6521DB9A3;
 Tue, 12 Nov 2013 14:54:50 -0500 (EST)
From: John Baldwin <jhb@freebsd.org>
To: Sean Bruno <sbruno@freebsd.org>
Subject: Re: svn commit: r258053 - head/usr.sbin/mfiutil
Date: Tue, 12 Nov 2013 13:22:46 -0500
User-Agent: KMail/1.13.5 (FreeBSD/8.4-CBSD-20130906; KDE/4.5.5; amd64; ; )
References: <201311121710.rACHAuCI027408@svn.freebsd.org>
In-Reply-To: <201311121710.rACHAuCI027408@svn.freebsd.org>
MIME-Version: 1.0
Content-Type: Text/Plain;
  charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <201311121322.46733.jhb@freebsd.org>
X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7
 (bigwig.baldwin.cx); Tue, 12 Nov 2013 14:54:50 -0500 (EST)
Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org,
 src-committers@freebsd.org
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 19:54:51 -0000

On Tuesday, November 12, 2013 12:10:56 pm Sean Bruno wrote:
> Author: sbruno
> Date: Tue Nov 12 17:10:56 2013
> New Revision: 258053
> URL: http://svnweb.freebsd.org/changeset/base/258053
> 
> Log:
>   Noted that the stripe_size argument was not being displayed in the usage
>   message

Does this need some wrapping to fit in 80 cols now?

-- 
John Baldwin

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 19:54:58 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id BD46B4B0;
 Tue, 12 Nov 2013 19:54:58 +0000 (UTC)
Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1])
 (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 984732141;
 Tue, 12 Nov 2013 19:54:58 +0000 (UTC)
Received: from jhbbsd.localnet (unknown [209.249.190.124])
 by bigwig.baldwin.cx (Postfix) with ESMTPSA id 95294B91A;
 Tue, 12 Nov 2013 14:54:57 -0500 (EST)
From: John Baldwin <jhb@freebsd.org>
To: src-committers@freebsd.org
Subject: Re: svn commit: r258066 - in head:
 tools/regression/usr.sbin/etcupdate usr.sbin/etcupdate
Date: Tue, 12 Nov 2013 14:47:10 -0500
User-Agent: KMail/1.13.5 (FreeBSD/8.4-CBSD-20130906; KDE/4.5.5; amd64; ; )
References: <201311121944.rACJiJnS079510@svn.freebsd.org>
In-Reply-To: <201311121944.rACJiJnS079510@svn.freebsd.org>
MIME-Version: 1.0
Content-Type: Text/Plain;
  charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <201311121447.10896.jhb@freebsd.org>
X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7
 (bigwig.baldwin.cx); Tue, 12 Nov 2013 14:54:57 -0500 (EST)
Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 19:54:58 -0000

On Tuesday, November 12, 2013 2:44:19 pm John Baldwin wrote:
> Author: jhb
> Date: Tue Nov 12 19:44:18 2013
> New Revision: 258066
> URL: http://svnweb.freebsd.org/changeset/base/258066
> 
> Log:
>   Add a pre-world mode of updating similar to the -p option that can be
>   passed to mergemaster.  In this mode, only changes to /etc/master.passwd
>   and /etc/group are merged to /etc.  In addition, it uses a temporary
>   tree to stage these changes rather than overwriting the existing
>   'current' and 'previous' trees so that a full update can be run after
>   a normal installworld has completed.

I believe that this gives etcupdate feature parity with mergemaster insofar
as they have different design goals.

-- 
John Baldwin

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 20:00:51 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 97E3A8A5;
 Tue, 12 Nov 2013 20:00:51 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 86B2921BC;
 Tue, 12 Nov 2013 20:00:51 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rACK0pGi085967;
 Tue, 12 Nov 2013 20:00:51 GMT
 (envelope-from dumbbell@svn.freebsd.org)
Received: (from dumbbell@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rACK0p05085966;
 Tue, 12 Nov 2013 20:00:51 GMT
 (envelope-from dumbbell@svn.freebsd.org)
Message-Id: <201311122000.rACK0p05085966@svn.freebsd.org>
From: Jean-Sebastien Pedron <dumbbell@FreeBSD.org>
Date: Tue, 12 Nov 2013 20:00:51 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject: svn commit: r258068 - stable/10/sys/dev/drm2/radeon
X-SVN-Group: stable-10
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 20:00:51 -0000

Author: dumbbell
Date: Tue Nov 12 20:00:51 2013
New Revision: 258068
URL: http://svnweb.freebsd.org/changeset/base/258068

Log:
  MFC r257870:
  
  drm/radeon: Wake up userland after page flip
  
  For instance, this caused issues in KDE, such as stuttered animations
  (with desktop effects enabled).
  
  Approved by:	re (kib)

Modified:
  stable/10/sys/dev/drm2/radeon/radeon_display.c
Directory Properties:
  stable/10/sys/   (props changed)

Modified: stable/10/sys/dev/drm2/radeon/radeon_display.c
==============================================================================
--- stable/10/sys/dev/drm2/radeon/radeon_display.c	Tue Nov 12 19:44:45 2013	(r258067)
+++ stable/10/sys/dev/drm2/radeon/radeon_display.c	Tue Nov 12 20:00:51 2013	(r258068)
@@ -336,9 +336,7 @@ void radeon_crtc_handle_flip(struct rade
 		e->event.tv_sec = now.tv_sec;
 		e->event.tv_usec = now.tv_usec;
 		list_add_tail(&e->base.link, &e->base.file_priv->event_list);
-#ifdef DUMBBELL_WIP
-		wake_up_interruptible(&e->base.file_priv->event_wait);
-#endif /* DUMBBELL_WIP */
+		drm_event_wakeup(&e->base);
 	}
 	DRM_SPINUNLOCK_IRQRESTORE(&rdev->ddev->event_lock, flags);
 

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 20:13:11 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 9E292F96;
 Tue, 12 Nov 2013 20:13:11 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 8CE1E2294;
 Tue, 12 Nov 2013 20:13:11 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rACKDBuE090545;
 Tue, 12 Nov 2013 20:13:11 GMT (envelope-from pluknet@svn.freebsd.org)
Received: (from pluknet@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rACKDBTx090543;
 Tue, 12 Nov 2013 20:13:11 GMT (envelope-from pluknet@svn.freebsd.org)
Message-Id: <201311122013.rACKDBTx090543@svn.freebsd.org>
From: Sergey Kandaurov <pluknet@FreeBSD.org>
Date: Tue, 12 Nov 2013 20:13:11 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258069 - in head/sys: kern sys
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 20:13:11 -0000

Author: pluknet
Date: Tue Nov 12 20:13:10 2013
New Revision: 258069
URL: http://svnweb.freebsd.org/changeset/base/258069

Log:
  Add VM_LAST, a special last element in enum VM_GUEST and use it in CTASSERT
  to ensure that vm_guest range is covered by vm_guest_sysctl_names.
  
  Suggested by:	mjg

Modified:
  head/sys/kern/subr_param.c
  head/sys/sys/systm.h

Modified: head/sys/kern/subr_param.c
==============================================================================
--- head/sys/kern/subr_param.c	Tue Nov 12 20:00:51 2013	(r258068)
+++ head/sys/kern/subr_param.c	Tue Nov 12 20:13:10 2013	(r258069)
@@ -156,6 +156,7 @@ static const char *const vm_guest_sysctl
 	"hv",
 	NULL
 };
+CTASSERT(nitems(vm_guest_sysctl_names) - 1 == VM_LAST);
 
 #ifndef XEN
 static const char *const vm_bnames[] = {

Modified: head/sys/sys/systm.h
==============================================================================
--- head/sys/sys/systm.h	Tue Nov 12 20:00:51 2013	(r258068)
+++ head/sys/sys/systm.h	Tue Nov 12 20:13:10 2013	(r258069)
@@ -72,7 +72,8 @@ extern int vm_guest;		/* Running as virt
  * ever implemented (e.g. vendor-specific paravirtualization features).
  * Keep in sync with vm_guest_sysctl_names[].
  */
-enum VM_GUEST { VM_GUEST_NO = 0, VM_GUEST_VM, VM_GUEST_XEN, VM_GUEST_HV };
+enum VM_GUEST { VM_GUEST_NO = 0, VM_GUEST_VM, VM_GUEST_XEN, VM_GUEST_HV,
+		VM_LAST };
 
 #if defined(WITNESS) || defined(INVARIANTS)
 void	kassert_panic(const char *fmt, ...)  __printflike(1, 2);

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 20:31:18 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 1AAECABF;
 Tue, 12 Nov 2013 20:31:18 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 08410242C;
 Tue, 12 Nov 2013 20:31:18 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rACKVIsh096960;
 Tue, 12 Nov 2013 20:31:18 GMT (envelope-from pjd@svn.freebsd.org)
Received: (from pjd@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rACKVGw1096953;
 Tue, 12 Nov 2013 20:31:16 GMT (envelope-from pjd@svn.freebsd.org)
Message-Id: <201311122031.rACKVGw1096953@svn.freebsd.org>
From: Pawel Jakub Dawidek <pjd@FreeBSD.org>
Date: Tue, 12 Nov 2013 20:31:16 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258070 - head/tools/regression/lib/libnv
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 20:31:18 -0000

Author: pjd
Date: Tue Nov 12 20:31:16 2013
New Revision: 258070
URL: http://svnweb.freebsd.org/changeset/base/258070

Log:
  Regression tests for the libnv library.
  
  Sponsored by:	The FreeBSD Foundation

Added:
  head/tools/regression/lib/libnv/
  head/tools/regression/lib/libnv/Makefile   (contents, props changed)
  head/tools/regression/lib/libnv/nvlist_add.c   (contents, props changed)
  head/tools/regression/lib/libnv/nvlist_exists.c   (contents, props changed)
  head/tools/regression/lib/libnv/nvlist_free.c   (contents, props changed)
  head/tools/regression/lib/libnv/nvlist_get.c   (contents, props changed)
  head/tools/regression/lib/libnv/nvlist_move.c   (contents, props changed)
  head/tools/regression/lib/libnv/nvlist_send_recv.c   (contents, props changed)

Added: head/tools/regression/lib/libnv/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/tools/regression/lib/libnv/Makefile	Tue Nov 12 20:31:16 2013	(r258070)
@@ -0,0 +1,35 @@
+# $FreeBSD$
+
+TESTS=	nvlist_add
+TESTS+=	nvlist_exists
+TESTS+=	nvlist_free
+TESTS+=	nvlist_get
+TESTS+=	nvlist_move
+TESTS+=	nvlist_send_recv
+
+CFLAGS=	-O2 -pipe -fstack-protector
+CFLAGS+=-Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter
+CFLAGS+=-Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type
+CFLAGS+=-Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter
+CFLAGS+=-Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls
+CFLAGS+=-Wold-style-definition -Wno-pointer-sign -Wextra
+
+LDFLAGS+=-lnv
+
+all:	${TESTS} ${TESTS:=.t}
+
+.for TEST in ${TESTS}
+
+${TEST}:	${TEST}.c
+	${CC} ${CFLAGS} ${LDFLAGS} ${@}.c -o $@
+
+${TEST}.t:   ${TEST}
+	@printf "#!/bin/sh\n\n%s/%s\n" ${.CURDIR} ${@:.t=} > $@
+
+.endfor
+
+test:   all
+	@prove -r ${.CURDIR}
+
+clean:
+	rm -f ${TESTS} ${TESTS:=.t}

Added: head/tools/regression/lib/libnv/nvlist_add.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/tools/regression/lib/libnv/nvlist_add.c	Tue Nov 12 20:31:16 2013	(r258070)
@@ -0,0 +1,196 @@
+/*-
+ * Copyright (c) 2013 The FreeBSD Foundation
+ * All rights reserved.
+ *
+ * This software was developed by Pawel Jakub Dawidek under sponsorship from
+ * the FreeBSD Foundation.
+ *
+ * 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 AUTHORS 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 AUTHORS 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.
+ *
+ * $FreeBSD$
+ */
+
+#include <errno.h>
+#include <stdio.h>
+#include <unistd.h>
+
+#include <nv.h>
+
+static int ntest = 1;
+
+#define	CHECK(expr)	do {						\
+	if ((expr))							\
+		printf("ok # %d %s:%u\n", ntest, __FILE__, __LINE__);	\
+	else								\
+		printf("not ok # %d %s:%u\n", ntest, __FILE__, __LINE__);\
+	ntest++;							\
+} while (0)
+
+int
+main(void)
+{
+	const nvlist_t *cnvl;
+	nvlist_t *nvl;
+
+	printf("1..94\n");
+
+	nvl = nvlist_create(0);
+
+	CHECK(!nvlist_exists_null(nvl, "nvlist/null"));
+	nvlist_add_null(nvl, "nvlist/null");
+	CHECK(nvlist_error(nvl) == 0);
+	CHECK(nvlist_exists_null(nvl, "nvlist/null"));
+
+	CHECK(!nvlist_exists_bool(nvl, "nvlist/bool/true"));
+	nvlist_add_bool(nvl, "nvlist/bool/true", true);
+	CHECK(nvlist_error(nvl) == 0);
+	CHECK(nvlist_exists_bool(nvl, "nvlist/bool/true"));
+
+	CHECK(!nvlist_exists_bool(nvl, "nvlist/bool/false"));
+	nvlist_add_bool(nvl, "nvlist/bool/false", false);
+	CHECK(nvlist_error(nvl) == 0);
+	CHECK(nvlist_exists_bool(nvl, "nvlist/bool/false"));
+
+	CHECK(!nvlist_exists_number(nvl, "nvlist/number/0"));
+	nvlist_add_number(nvl, "nvlist/number/0", 0);
+	CHECK(nvlist_error(nvl) == 0);
+	CHECK(nvlist_exists_number(nvl, "nvlist/number/0"));
+
+	CHECK(!nvlist_exists_number(nvl, "nvlist/number/1"));
+	nvlist_add_number(nvl, "nvlist/number/1", 1);
+	CHECK(nvlist_error(nvl) == 0);
+	CHECK(nvlist_exists_number(nvl, "nvlist/number/1"));
+
+	CHECK(!nvlist_exists_number(nvl, "nvlist/number/-1"));
+	nvlist_add_number(nvl, "nvlist/number/-1", -1);
+	CHECK(nvlist_error(nvl) == 0);
+	CHECK(nvlist_exists_number(nvl, "nvlist/number/-1"));
+
+	CHECK(!nvlist_exists_number(nvl, "nvlist/number/UINT64_MAX"));
+	nvlist_add_number(nvl, "nvlist/number/UINT64_MAX", UINT64_MAX);
+	CHECK(nvlist_error(nvl) == 0);
+	CHECK(nvlist_exists_number(nvl, "nvlist/number/UINT64_MAX"));
+
+	CHECK(!nvlist_exists_number(nvl, "nvlist/number/INT64_MIN"));
+	nvlist_add_number(nvl, "nvlist/number/INT64_MIN", INT64_MIN);
+	CHECK(nvlist_error(nvl) == 0);
+	CHECK(nvlist_exists_number(nvl, "nvlist/number/INT64_MIN"));
+
+	CHECK(!nvlist_exists_number(nvl, "nvlist/number/INT64_MAX"));
+	nvlist_add_number(nvl, "nvlist/number/INT64_MAX", INT64_MAX);
+	CHECK(nvlist_error(nvl) == 0);
+	CHECK(nvlist_exists_number(nvl, "nvlist/number/INT64_MAX"));
+
+	CHECK(!nvlist_exists_string(nvl, "nvlist/string/"));
+	nvlist_add_string(nvl, "nvlist/string/", "");
+	CHECK(nvlist_error(nvl) == 0);
+	CHECK(nvlist_exists_string(nvl, "nvlist/string/"));
+
+	CHECK(!nvlist_exists_string(nvl, "nvlist/string/x"));
+	nvlist_add_string(nvl, "nvlist/string/x", "x");
+	CHECK(nvlist_error(nvl) == 0);
+	CHECK(nvlist_exists_string(nvl, "nvlist/string/x"));
+
+	CHECK(!nvlist_exists_string(nvl, "nvlist/string/abcdefghijklmnopqrstuvwxyz"));
+	nvlist_add_string(nvl, "nvlist/string/abcdefghijklmnopqrstuvwxyz", "abcdefghijklmnopqrstuvwxyz");
+	CHECK(nvlist_error(nvl) == 0);
+	CHECK(nvlist_exists_string(nvl, "nvlist/string/abcdefghijklmnopqrstuvwxyz"));
+
+	CHECK(!nvlist_exists_string(nvl, "nvlist/stringf/"));
+	nvlist_add_stringf(nvl, "nvlist/stringf/", "%s", "");
+	CHECK(nvlist_error(nvl) == 0);
+	CHECK(nvlist_exists_string(nvl, "nvlist/stringf/"));
+
+	CHECK(!nvlist_exists_string(nvl, "nvlist/stringf/x"));
+	nvlist_add_stringf(nvl, "nvlist/stringf/x", "%s", "x");
+	CHECK(nvlist_error(nvl) == 0);
+	CHECK(nvlist_exists_string(nvl, "nvlist/stringf/x"));
+
+	CHECK(!nvlist_exists_string(nvl, "nvlist/stringf/666Xabc"));
+	nvlist_add_stringf(nvl, "nvlist/stringf/666Xabc", "%d%c%s", 666, 'X', "abc");
+	CHECK(nvlist_error(nvl) == 0);
+	CHECK(nvlist_exists_string(nvl, "nvlist/stringf/666Xabc"));
+
+	CHECK(!nvlist_exists_descriptor(nvl, "nvlist/descriptor/STDERR_FILENO"));
+	nvlist_add_descriptor(nvl, "nvlist/descriptor/STDERR_FILENO", STDERR_FILENO);
+	CHECK(nvlist_error(nvl) == 0);
+	CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor/STDERR_FILENO"));
+
+	CHECK(!nvlist_exists_binary(nvl, "nvlist/binary/x"));
+	nvlist_add_binary(nvl, "nvlist/binary/x", "x", 1);
+	CHECK(nvlist_error(nvl) == 0);
+	CHECK(nvlist_exists_binary(nvl, "nvlist/binary/x"));
+
+	CHECK(!nvlist_exists_binary(nvl, "nvlist/binary/abcdefghijklmnopqrstuvwxyz"));
+	nvlist_add_binary(nvl, "nvlist/binary/abcdefghijklmnopqrstuvwxyz", "abcdefghijklmnopqrstuvwxyz", sizeof("abcdefghijklmnopqrstuvwxyz"));
+	CHECK(nvlist_error(nvl) == 0);
+	CHECK(nvlist_exists_binary(nvl, "nvlist/binary/abcdefghijklmnopqrstuvwxyz"));
+
+	CHECK(!nvlist_exists_nvlist(nvl, "nvlist/nvlist"));
+	nvlist_add_nvlist(nvl, "nvlist/nvlist", nvl);
+	CHECK(nvlist_error(nvl) == 0);
+	CHECK(nvlist_exists_nvlist(nvl, "nvlist/nvlist"));
+
+	CHECK(nvlist_exists_null(nvl, "nvlist/null"));
+	CHECK(nvlist_exists_bool(nvl, "nvlist/bool/true"));
+	CHECK(nvlist_exists_bool(nvl, "nvlist/bool/false"));
+	CHECK(nvlist_exists_number(nvl, "nvlist/number/0"));
+	CHECK(nvlist_exists_number(nvl, "nvlist/number/1"));
+	CHECK(nvlist_exists_number(nvl, "nvlist/number/-1"));
+	CHECK(nvlist_exists_number(nvl, "nvlist/number/UINT64_MAX"));
+	CHECK(nvlist_exists_number(nvl, "nvlist/number/INT64_MIN"));
+	CHECK(nvlist_exists_number(nvl, "nvlist/number/INT64_MAX"));
+	CHECK(nvlist_exists_string(nvl, "nvlist/string/"));
+	CHECK(nvlist_exists_string(nvl, "nvlist/string/x"));
+	CHECK(nvlist_exists_string(nvl, "nvlist/string/abcdefghijklmnopqrstuvwxyz"));
+	CHECK(nvlist_exists_string(nvl, "nvlist/stringf/"));
+	CHECK(nvlist_exists_string(nvl, "nvlist/stringf/x"));
+	CHECK(nvlist_exists_string(nvl, "nvlist/stringf/666Xabc"));
+	CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor/STDERR_FILENO"));
+	CHECK(nvlist_exists_binary(nvl, "nvlist/binary/x"));
+	CHECK(nvlist_exists_binary(nvl, "nvlist/binary/abcdefghijklmnopqrstuvwxyz"));
+	CHECK(nvlist_exists_nvlist(nvl, "nvlist/nvlist"));
+
+	cnvl = nvlist_get_nvlist(nvl, "nvlist/nvlist");
+	CHECK(nvlist_exists_null(cnvl, "nvlist/null"));
+	CHECK(nvlist_exists_bool(cnvl, "nvlist/bool/true"));
+	CHECK(nvlist_exists_bool(cnvl, "nvlist/bool/false"));
+	CHECK(nvlist_exists_number(cnvl, "nvlist/number/0"));
+	CHECK(nvlist_exists_number(cnvl, "nvlist/number/1"));
+	CHECK(nvlist_exists_number(cnvl, "nvlist/number/-1"));
+	CHECK(nvlist_exists_number(cnvl, "nvlist/number/UINT64_MAX"));
+	CHECK(nvlist_exists_number(cnvl, "nvlist/number/INT64_MIN"));
+	CHECK(nvlist_exists_number(cnvl, "nvlist/number/INT64_MAX"));
+	CHECK(nvlist_exists_string(cnvl, "nvlist/string/"));
+	CHECK(nvlist_exists_string(cnvl, "nvlist/string/x"));
+	CHECK(nvlist_exists_string(cnvl, "nvlist/string/abcdefghijklmnopqrstuvwxyz"));
+	CHECK(nvlist_exists_string(cnvl, "nvlist/stringf/"));
+	CHECK(nvlist_exists_string(cnvl, "nvlist/stringf/x"));
+	CHECK(nvlist_exists_string(cnvl, "nvlist/stringf/666Xabc"));
+	CHECK(nvlist_exists_descriptor(cnvl, "nvlist/descriptor/STDERR_FILENO"));
+	CHECK(nvlist_exists_binary(cnvl, "nvlist/binary/x"));
+	CHECK(nvlist_exists_binary(cnvl, "nvlist/binary/abcdefghijklmnopqrstuvwxyz"));
+
+	nvlist_destroy(nvl);
+
+	return (0);
+}

Added: head/tools/regression/lib/libnv/nvlist_exists.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/tools/regression/lib/libnv/nvlist_exists.c	Tue Nov 12 20:31:16 2013	(r258070)
@@ -0,0 +1,321 @@
+/*-
+ * Copyright (c) 2013 The FreeBSD Foundation
+ * All rights reserved.
+ *
+ * This software was developed by Pawel Jakub Dawidek under sponsorship from
+ * the FreeBSD Foundation.
+ *
+ * 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 AUTHORS 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 AUTHORS 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.
+ *
+ * $FreeBSD$
+ */
+
+#include <stdio.h>
+#include <unistd.h>
+
+#include <nv.h>
+
+static int ntest = 1;
+
+#define	CHECK(expr)	do {						\
+	if ((expr))							\
+		printf("ok # %d %s:%u\n", ntest, __FILE__, __LINE__);	\
+	else								\
+		printf("not ok # %d %s:%u\n", ntest, __FILE__, __LINE__);\
+	ntest++;							\
+} while (0)
+
+int
+main(void)
+{
+	nvlist_t *nvl;
+
+	printf("1..232\n");
+
+	nvl = nvlist_create(0);
+
+	CHECK(!nvlist_exists(nvl, "nvlist/null"));
+	CHECK(!nvlist_exists_null(nvl, "nvlist/null"));
+	CHECK(!nvlist_exists_bool(nvl, "nvlist/null"));
+	CHECK(!nvlist_exists_number(nvl, "nvlist/null"));
+	CHECK(!nvlist_exists_string(nvl, "nvlist/null"));
+	CHECK(!nvlist_exists_nvlist(nvl, "nvlist/null"));
+	CHECK(!nvlist_exists_descriptor(nvl, "nvlist/null"));
+	CHECK(!nvlist_exists_binary(nvl, "nvlist/null"));
+	nvlist_add_null(nvl, "nvlist/null");
+	CHECK(nvlist_error(nvl) == 0);
+	CHECK(nvlist_exists(nvl, "nvlist/null"));
+	CHECK(nvlist_exists_null(nvl, "nvlist/null"));
+	CHECK(!nvlist_exists_bool(nvl, "nvlist/null"));
+	CHECK(!nvlist_exists_number(nvl, "nvlist/null"));
+	CHECK(!nvlist_exists_string(nvl, "nvlist/null"));
+	CHECK(!nvlist_exists_nvlist(nvl, "nvlist/null"));
+	CHECK(!nvlist_exists_descriptor(nvl, "nvlist/null"));
+	CHECK(!nvlist_exists_binary(nvl, "nvlist/null"));
+
+	CHECK(!nvlist_exists(nvl, "nvlist/bool"));
+	CHECK(!nvlist_exists_null(nvl, "nvlist/bool"));
+	CHECK(!nvlist_exists_bool(nvl, "nvlist/bool"));
+	CHECK(!nvlist_exists_number(nvl, "nvlist/bool"));
+	CHECK(!nvlist_exists_string(nvl, "nvlist/bool"));
+	CHECK(!nvlist_exists_nvlist(nvl, "nvlist/bool"));
+	CHECK(!nvlist_exists_descriptor(nvl, "nvlist/bool"));
+	CHECK(!nvlist_exists_binary(nvl, "nvlist/bool"));
+	nvlist_add_bool(nvl, "nvlist/bool", true);
+	CHECK(nvlist_error(nvl) == 0);
+	CHECK(nvlist_exists(nvl, "nvlist/bool"));
+	CHECK(!nvlist_exists_null(nvl, "nvlist/bool"));
+	CHECK(nvlist_exists_bool(nvl, "nvlist/bool"));
+	CHECK(!nvlist_exists_number(nvl, "nvlist/bool"));
+	CHECK(!nvlist_exists_string(nvl, "nvlist/bool"));
+	CHECK(!nvlist_exists_nvlist(nvl, "nvlist/bool"));
+	CHECK(!nvlist_exists_descriptor(nvl, "nvlist/bool"));
+	CHECK(!nvlist_exists_binary(nvl, "nvlist/bool"));
+
+	CHECK(!nvlist_exists(nvl, "nvlist/number"));
+	CHECK(!nvlist_exists_null(nvl, "nvlist/number"));
+	CHECK(!nvlist_exists_bool(nvl, "nvlist/number"));
+	CHECK(!nvlist_exists_number(nvl, "nvlist/number"));
+	CHECK(!nvlist_exists_string(nvl, "nvlist/number"));
+	CHECK(!nvlist_exists_nvlist(nvl, "nvlist/number"));
+	CHECK(!nvlist_exists_descriptor(nvl, "nvlist/number"));
+	CHECK(!nvlist_exists_binary(nvl, "nvlist/number"));
+	nvlist_add_number(nvl, "nvlist/number", 0);
+	CHECK(nvlist_error(nvl) == 0);
+	CHECK(nvlist_exists(nvl, "nvlist/number"));
+	CHECK(!nvlist_exists_null(nvl, "nvlist/number"));
+	CHECK(!nvlist_exists_bool(nvl, "nvlist/number"));
+	CHECK(nvlist_exists_number(nvl, "nvlist/number"));
+	CHECK(!nvlist_exists_string(nvl, "nvlist/number"));
+	CHECK(!nvlist_exists_nvlist(nvl, "nvlist/number"));
+	CHECK(!nvlist_exists_descriptor(nvl, "nvlist/number"));
+	CHECK(!nvlist_exists_binary(nvl, "nvlist/number"));
+
+	CHECK(!nvlist_exists(nvl, "nvlist/string"));
+	CHECK(!nvlist_exists_null(nvl, "nvlist/string"));
+	CHECK(!nvlist_exists_bool(nvl, "nvlist/string"));
+	CHECK(!nvlist_exists_number(nvl, "nvlist/string"));
+	CHECK(!nvlist_exists_string(nvl, "nvlist/string"));
+	CHECK(!nvlist_exists_nvlist(nvl, "nvlist/string"));
+	CHECK(!nvlist_exists_descriptor(nvl, "nvlist/string"));
+	CHECK(!nvlist_exists_binary(nvl, "nvlist/string"));
+	nvlist_add_string(nvl, "nvlist/string", "test");
+	CHECK(nvlist_error(nvl) == 0);
+	CHECK(nvlist_exists(nvl, "nvlist/string"));
+	CHECK(!nvlist_exists_null(nvl, "nvlist/string"));
+	CHECK(!nvlist_exists_bool(nvl, "nvlist/string"));
+	CHECK(!nvlist_exists_number(nvl, "nvlist/string"));
+	CHECK(nvlist_exists_string(nvl, "nvlist/string"));
+	CHECK(!nvlist_exists_nvlist(nvl, "nvlist/string"));
+	CHECK(!nvlist_exists_descriptor(nvl, "nvlist/string"));
+	CHECK(!nvlist_exists_binary(nvl, "nvlist/string"));
+
+	CHECK(!nvlist_exists(nvl, "nvlist/nvlist"));
+	CHECK(!nvlist_exists_null(nvl, "nvlist/nvlist"));
+	CHECK(!nvlist_exists_bool(nvl, "nvlist/nvlist"));
+	CHECK(!nvlist_exists_number(nvl, "nvlist/nvlist"));
+	CHECK(!nvlist_exists_string(nvl, "nvlist/nvlist"));
+	CHECK(!nvlist_exists_nvlist(nvl, "nvlist/nvlist"));
+	CHECK(!nvlist_exists_descriptor(nvl, "nvlist/nvlist"));
+	CHECK(!nvlist_exists_binary(nvl, "nvlist/nvlist"));
+	nvlist_add_nvlist(nvl, "nvlist/nvlist", nvl);
+	CHECK(nvlist_error(nvl) == 0);
+	CHECK(nvlist_exists(nvl, "nvlist/nvlist"));
+	CHECK(!nvlist_exists_null(nvl, "nvlist/nvlist"));
+	CHECK(!nvlist_exists_bool(nvl, "nvlist/nvlist"));
+	CHECK(!nvlist_exists_number(nvl, "nvlist/nvlist"));
+	CHECK(!nvlist_exists_string(nvl, "nvlist/nvlist"));
+	CHECK(nvlist_exists_nvlist(nvl, "nvlist/nvlist"));
+	CHECK(!nvlist_exists_descriptor(nvl, "nvlist/nvlist"));
+	CHECK(!nvlist_exists_binary(nvl, "nvlist/nvlist"));
+
+	CHECK(!nvlist_exists(nvl, "nvlist/descriptor"));
+	CHECK(!nvlist_exists_null(nvl, "nvlist/descriptor"));
+	CHECK(!nvlist_exists_bool(nvl, "nvlist/descriptor"));
+	CHECK(!nvlist_exists_number(nvl, "nvlist/descriptor"));
+	CHECK(!nvlist_exists_string(nvl, "nvlist/descriptor"));
+	CHECK(!nvlist_exists_nvlist(nvl, "nvlist/descriptor"));
+	CHECK(!nvlist_exists_descriptor(nvl, "nvlist/descriptor"));
+	CHECK(!nvlist_exists_binary(nvl, "nvlist/descriptor"));
+	nvlist_add_descriptor(nvl, "nvlist/descriptor", STDERR_FILENO);
+	CHECK(nvlist_error(nvl) == 0);
+	CHECK(nvlist_exists(nvl, "nvlist/descriptor"));
+	CHECK(!nvlist_exists_null(nvl, "nvlist/descriptor"));
+	CHECK(!nvlist_exists_bool(nvl, "nvlist/descriptor"));
+	CHECK(!nvlist_exists_number(nvl, "nvlist/descriptor"));
+	CHECK(!nvlist_exists_string(nvl, "nvlist/descriptor"));
+	CHECK(!nvlist_exists_nvlist(nvl, "nvlist/descriptor"));
+	CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor"));
+	CHECK(!nvlist_exists_binary(nvl, "nvlist/descriptor"));
+
+	CHECK(!nvlist_exists(nvl, "nvlist/binary"));
+	CHECK(!nvlist_exists_null(nvl, "nvlist/binary"));
+	CHECK(!nvlist_exists_bool(nvl, "nvlist/binary"));
+	CHECK(!nvlist_exists_number(nvl, "nvlist/binary"));
+	CHECK(!nvlist_exists_string(nvl, "nvlist/binary"));
+	CHECK(!nvlist_exists_nvlist(nvl, "nvlist/binary"));
+	CHECK(!nvlist_exists_descriptor(nvl, "nvlist/binary"));
+	CHECK(!nvlist_exists_binary(nvl, "nvlist/binary"));
+	nvlist_add_binary(nvl, "nvlist/binary", "test", 4);
+	CHECK(nvlist_error(nvl) == 0);
+	CHECK(nvlist_exists(nvl, "nvlist/binary"));
+	CHECK(!nvlist_exists_null(nvl, "nvlist/binary"));
+	CHECK(!nvlist_exists_bool(nvl, "nvlist/binary"));
+	CHECK(!nvlist_exists_number(nvl, "nvlist/binary"));
+	CHECK(!nvlist_exists_string(nvl, "nvlist/binary"));
+	CHECK(!nvlist_exists_nvlist(nvl, "nvlist/binary"));
+	CHECK(!nvlist_exists_descriptor(nvl, "nvlist/binary"));
+	CHECK(nvlist_exists_binary(nvl, "nvlist/binary"));
+
+	CHECK(nvlist_exists(nvl, "nvlist/null"));
+	CHECK(nvlist_exists(nvl, "nvlist/bool"));
+	CHECK(nvlist_exists(nvl, "nvlist/number"));
+	CHECK(nvlist_exists(nvl, "nvlist/string"));
+	CHECK(nvlist_exists(nvl, "nvlist/nvlist"));
+	CHECK(nvlist_exists(nvl, "nvlist/descriptor"));
+	CHECK(nvlist_exists(nvl, "nvlist/binary"));
+	CHECK(nvlist_exists_null(nvl, "nvlist/null"));
+	CHECK(nvlist_exists_bool(nvl, "nvlist/bool"));
+	CHECK(nvlist_exists_number(nvl, "nvlist/number"));
+	CHECK(nvlist_exists_string(nvl, "nvlist/string"));
+	CHECK(nvlist_exists_nvlist(nvl, "nvlist/nvlist"));
+	CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor"));
+	CHECK(nvlist_exists_binary(nvl, "nvlist/binary"));
+
+	nvlist_free_null(nvl, "nvlist/null");
+	CHECK(!nvlist_exists(nvl, "nvlist/null"));
+	CHECK(nvlist_exists(nvl, "nvlist/bool"));
+	CHECK(nvlist_exists(nvl, "nvlist/number"));
+	CHECK(nvlist_exists(nvl, "nvlist/string"));
+	CHECK(nvlist_exists(nvl, "nvlist/nvlist"));
+	CHECK(nvlist_exists(nvl, "nvlist/descriptor"));
+	CHECK(nvlist_exists(nvl, "nvlist/binary"));
+	CHECK(!nvlist_exists_null(nvl, "nvlist/null"));
+	CHECK(nvlist_exists_bool(nvl, "nvlist/bool"));
+	CHECK(nvlist_exists_number(nvl, "nvlist/number"));
+	CHECK(nvlist_exists_string(nvl, "nvlist/string"));
+	CHECK(nvlist_exists_nvlist(nvl, "nvlist/nvlist"));
+	CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor"));
+	CHECK(nvlist_exists_binary(nvl, "nvlist/binary"));
+
+	nvlist_free_bool(nvl, "nvlist/bool");
+	CHECK(!nvlist_exists(nvl, "nvlist/null"));
+	CHECK(!nvlist_exists(nvl, "nvlist/bool"));
+	CHECK(nvlist_exists(nvl, "nvlist/number"));
+	CHECK(nvlist_exists(nvl, "nvlist/string"));
+	CHECK(nvlist_exists(nvl, "nvlist/nvlist"));
+	CHECK(nvlist_exists(nvl, "nvlist/descriptor"));
+	CHECK(nvlist_exists(nvl, "nvlist/binary"));
+	CHECK(!nvlist_exists_null(nvl, "nvlist/null"));
+	CHECK(!nvlist_exists_bool(nvl, "nvlist/bool"));
+	CHECK(nvlist_exists_number(nvl, "nvlist/number"));
+	CHECK(nvlist_exists_string(nvl, "nvlist/string"));
+	CHECK(nvlist_exists_nvlist(nvl, "nvlist/nvlist"));
+	CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor"));
+	CHECK(nvlist_exists_binary(nvl, "nvlist/binary"));
+
+	nvlist_free_number(nvl, "nvlist/number");
+	CHECK(!nvlist_exists(nvl, "nvlist/null"));
+	CHECK(!nvlist_exists(nvl, "nvlist/bool"));
+	CHECK(!nvlist_exists(nvl, "nvlist/number"));
+	CHECK(nvlist_exists(nvl, "nvlist/string"));
+	CHECK(nvlist_exists(nvl, "nvlist/nvlist"));
+	CHECK(nvlist_exists(nvl, "nvlist/descriptor"));
+	CHECK(nvlist_exists(nvl, "nvlist/binary"));
+	CHECK(!nvlist_exists_null(nvl, "nvlist/null"));
+	CHECK(!nvlist_exists_bool(nvl, "nvlist/bool"));
+	CHECK(!nvlist_exists_number(nvl, "nvlist/number"));
+	CHECK(nvlist_exists_string(nvl, "nvlist/string"));
+	CHECK(nvlist_exists_nvlist(nvl, "nvlist/nvlist"));
+	CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor"));
+	CHECK(nvlist_exists_binary(nvl, "nvlist/binary"));
+
+	nvlist_free_string(nvl, "nvlist/string");
+	CHECK(!nvlist_exists(nvl, "nvlist/null"));
+	CHECK(!nvlist_exists(nvl, "nvlist/bool"));
+	CHECK(!nvlist_exists(nvl, "nvlist/number"));
+	CHECK(!nvlist_exists(nvl, "nvlist/string"));
+	CHECK(nvlist_exists(nvl, "nvlist/nvlist"));
+	CHECK(nvlist_exists(nvl, "nvlist/descriptor"));
+	CHECK(nvlist_exists(nvl, "nvlist/binary"));
+	CHECK(!nvlist_exists_null(nvl, "nvlist/null"));
+	CHECK(!nvlist_exists_bool(nvl, "nvlist/bool"));
+	CHECK(!nvlist_exists_number(nvl, "nvlist/number"));
+	CHECK(!nvlist_exists_string(nvl, "nvlist/string"));
+	CHECK(nvlist_exists_nvlist(nvl, "nvlist/nvlist"));
+	CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor"));
+	CHECK(nvlist_exists_binary(nvl, "nvlist/binary"));
+
+	nvlist_free_nvlist(nvl, "nvlist/nvlist");
+	CHECK(!nvlist_exists(nvl, "nvlist/null"));
+	CHECK(!nvlist_exists(nvl, "nvlist/bool"));
+	CHECK(!nvlist_exists(nvl, "nvlist/number"));
+	CHECK(!nvlist_exists(nvl, "nvlist/string"));
+	CHECK(!nvlist_exists(nvl, "nvlist/nvlist"));
+	CHECK(nvlist_exists(nvl, "nvlist/descriptor"));
+	CHECK(nvlist_exists(nvl, "nvlist/binary"));
+	CHECK(!nvlist_exists_null(nvl, "nvlist/null"));
+	CHECK(!nvlist_exists_bool(nvl, "nvlist/bool"));
+	CHECK(!nvlist_exists_number(nvl, "nvlist/number"));
+	CHECK(!nvlist_exists_string(nvl, "nvlist/string"));
+	CHECK(!nvlist_exists_nvlist(nvl, "nvlist/nvlist"));
+	CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor"));
+	CHECK(nvlist_exists_binary(nvl, "nvlist/binary"));
+
+	nvlist_free_descriptor(nvl, "nvlist/descriptor");
+	CHECK(!nvlist_exists(nvl, "nvlist/null"));
+	CHECK(!nvlist_exists(nvl, "nvlist/bool"));
+	CHECK(!nvlist_exists(nvl, "nvlist/number"));
+	CHECK(!nvlist_exists(nvl, "nvlist/string"));
+	CHECK(!nvlist_exists(nvl, "nvlist/nvlist"));
+	CHECK(!nvlist_exists(nvl, "nvlist/descriptor"));
+	CHECK(nvlist_exists(nvl, "nvlist/binary"));
+	CHECK(!nvlist_exists_null(nvl, "nvlist/null"));
+	CHECK(!nvlist_exists_bool(nvl, "nvlist/bool"));
+	CHECK(!nvlist_exists_number(nvl, "nvlist/number"));
+	CHECK(!nvlist_exists_string(nvl, "nvlist/string"));
+	CHECK(!nvlist_exists_nvlist(nvl, "nvlist/nvlist"));
+	CHECK(!nvlist_exists_descriptor(nvl, "nvlist/descriptor"));
+	CHECK(nvlist_exists_binary(nvl, "nvlist/binary"));
+
+	nvlist_free_binary(nvl, "nvlist/binary");
+	CHECK(!nvlist_exists(nvl, "nvlist/null"));
+	CHECK(!nvlist_exists(nvl, "nvlist/bool"));
+	CHECK(!nvlist_exists(nvl, "nvlist/number"));
+	CHECK(!nvlist_exists(nvl, "nvlist/string"));
+	CHECK(!nvlist_exists(nvl, "nvlist/nvlist"));
+	CHECK(!nvlist_exists(nvl, "nvlist/descriptor"));
+	CHECK(!nvlist_exists(nvl, "nvlist/binary"));
+	CHECK(!nvlist_exists_null(nvl, "nvlist/null"));
+	CHECK(!nvlist_exists_bool(nvl, "nvlist/bool"));
+	CHECK(!nvlist_exists_number(nvl, "nvlist/number"));
+	CHECK(!nvlist_exists_string(nvl, "nvlist/string"));
+	CHECK(!nvlist_exists_nvlist(nvl, "nvlist/nvlist"));
+	CHECK(!nvlist_exists_descriptor(nvl, "nvlist/descriptor"));
+	CHECK(!nvlist_exists_binary(nvl, "nvlist/binary"));
+
+	CHECK(nvlist_empty(nvl));
+
+	nvlist_destroy(nvl);
+
+	return (0);
+}

Added: head/tools/regression/lib/libnv/nvlist_free.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/tools/regression/lib/libnv/nvlist_free.c	Tue Nov 12 20:31:16 2013	(r258070)
@@ -0,0 +1,221 @@
+/*-
+ * Copyright (c) 2013 The FreeBSD Foundation
+ * All rights reserved.
+ *
+ * This software was developed by Pawel Jakub Dawidek under sponsorship from
+ * the FreeBSD Foundation.
+ *
+ * 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 AUTHORS 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 AUTHORS 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.
+ *
+ * $FreeBSD$
+ */
+
+#include <stdio.h>
+#include <unistd.h>
+
+#include <nv.h>
+
+static int ntest = 1;
+
+#define	CHECK(expr)	do {						\
+	if ((expr))							\
+		printf("ok # %d %s:%u\n", ntest, __FILE__, __LINE__);	\
+	else								\
+		printf("not ok # %d %s:%u\n", ntest, __FILE__, __LINE__);\
+	ntest++;							\
+} while (0)
+
+int
+main(void)
+{
+	nvlist_t *nvl;
+
+	printf("1..114\n");
+
+	nvl = nvlist_create(0);
+
+	nvlist_add_null(nvl, "nvlist/null");
+	nvlist_add_bool(nvl, "nvlist/bool", true);
+	nvlist_add_number(nvl, "nvlist/number", 0);
+	nvlist_add_string(nvl, "nvlist/string", "test");
+	nvlist_add_nvlist(nvl, "nvlist/nvlist", nvl);
+	nvlist_add_descriptor(nvl, "nvlist/descriptor", STDERR_FILENO);
+	nvlist_add_binary(nvl, "nvlist/binary", "test", 4);
+
+	CHECK(nvlist_exists_null(nvl, "nvlist/null"));
+	CHECK(nvlist_exists_bool(nvl, "nvlist/bool"));
+	CHECK(nvlist_exists_number(nvl, "nvlist/number"));
+	CHECK(nvlist_exists_string(nvl, "nvlist/string"));
+	CHECK(nvlist_exists_nvlist(nvl, "nvlist/nvlist"));
+	CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor"));
+	CHECK(nvlist_exists_binary(nvl, "nvlist/binary"));
+
+	nvlist_free_null(nvl, "nvlist/null");
+	CHECK(!nvlist_exists_null(nvl, "nvlist/null"));
+	CHECK(nvlist_exists_bool(nvl, "nvlist/bool"));
+	CHECK(nvlist_exists_number(nvl, "nvlist/number"));
+	CHECK(nvlist_exists_string(nvl, "nvlist/string"));
+	CHECK(nvlist_exists_nvlist(nvl, "nvlist/nvlist"));
+	CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor"));
+	CHECK(nvlist_exists_binary(nvl, "nvlist/binary"));
+
+	nvlist_free_bool(nvl, "nvlist/bool");
+	CHECK(!nvlist_exists_null(nvl, "nvlist/null"));
+	CHECK(!nvlist_exists_bool(nvl, "nvlist/bool"));
+	CHECK(nvlist_exists_number(nvl, "nvlist/number"));
+	CHECK(nvlist_exists_string(nvl, "nvlist/string"));
+	CHECK(nvlist_exists_nvlist(nvl, "nvlist/nvlist"));
+	CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor"));
+	CHECK(nvlist_exists_binary(nvl, "nvlist/binary"));
+
+	nvlist_free_number(nvl, "nvlist/number");
+	CHECK(!nvlist_exists_null(nvl, "nvlist/null"));
+	CHECK(!nvlist_exists_bool(nvl, "nvlist/bool"));
+	CHECK(!nvlist_exists_number(nvl, "nvlist/number"));
+	CHECK(nvlist_exists_string(nvl, "nvlist/string"));
+	CHECK(nvlist_exists_nvlist(nvl, "nvlist/nvlist"));
+	CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor"));
+	CHECK(nvlist_exists_binary(nvl, "nvlist/binary"));
+
+	nvlist_free_string(nvl, "nvlist/string");
+	CHECK(!nvlist_exists_null(nvl, "nvlist/null"));
+	CHECK(!nvlist_exists_bool(nvl, "nvlist/bool"));
+	CHECK(!nvlist_exists_number(nvl, "nvlist/number"));
+	CHECK(!nvlist_exists_string(nvl, "nvlist/string"));
+	CHECK(nvlist_exists_nvlist(nvl, "nvlist/nvlist"));
+	CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor"));
+	CHECK(nvlist_exists_binary(nvl, "nvlist/binary"));
+
+	nvlist_free_nvlist(nvl, "nvlist/nvlist");
+	CHECK(!nvlist_exists_null(nvl, "nvlist/null"));
+	CHECK(!nvlist_exists_bool(nvl, "nvlist/bool"));
+	CHECK(!nvlist_exists_number(nvl, "nvlist/number"));
+	CHECK(!nvlist_exists_string(nvl, "nvlist/string"));
+	CHECK(!nvlist_exists_nvlist(nvl, "nvlist/nvlist"));
+	CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor"));
+	CHECK(nvlist_exists_binary(nvl, "nvlist/binary"));
+
+	nvlist_free_descriptor(nvl, "nvlist/descriptor");
+	CHECK(!nvlist_exists_null(nvl, "nvlist/null"));
+	CHECK(!nvlist_exists_bool(nvl, "nvlist/bool"));
+	CHECK(!nvlist_exists_number(nvl, "nvlist/number"));
+	CHECK(!nvlist_exists_string(nvl, "nvlist/string"));
+	CHECK(!nvlist_exists_nvlist(nvl, "nvlist/nvlist"));
+	CHECK(!nvlist_exists_descriptor(nvl, "nvlist/descriptor"));
+	CHECK(nvlist_exists_binary(nvl, "nvlist/binary"));
+
+	nvlist_free_binary(nvl, "nvlist/binary");
+	CHECK(!nvlist_exists_null(nvl, "nvlist/null"));
+	CHECK(!nvlist_exists_bool(nvl, "nvlist/bool"));
+	CHECK(!nvlist_exists_number(nvl, "nvlist/number"));
+	CHECK(!nvlist_exists_string(nvl, "nvlist/string"));
+	CHECK(!nvlist_exists_nvlist(nvl, "nvlist/nvlist"));
+	CHECK(!nvlist_exists_descriptor(nvl, "nvlist/descriptor"));
+	CHECK(!nvlist_exists_binary(nvl, "nvlist/binary"));
+
+	CHECK(nvlist_empty(nvl));
+
+	nvlist_add_null(nvl, "nvlist/null");
+	nvlist_add_bool(nvl, "nvlist/bool", true);
+	nvlist_add_number(nvl, "nvlist/number", 0);
+	nvlist_add_string(nvl, "nvlist/string", "test");
+	nvlist_add_nvlist(nvl, "nvlist/nvlist", nvl);
+	nvlist_add_descriptor(nvl, "nvlist/descriptor", STDERR_FILENO);
+	nvlist_add_binary(nvl, "nvlist/binary", "test", 4);
+
+	CHECK(nvlist_exists_null(nvl, "nvlist/null"));
+	CHECK(nvlist_exists_bool(nvl, "nvlist/bool"));
+	CHECK(nvlist_exists_number(nvl, "nvlist/number"));
+	CHECK(nvlist_exists_string(nvl, "nvlist/string"));
+	CHECK(nvlist_exists_nvlist(nvl, "nvlist/nvlist"));
+	CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor"));
+	CHECK(nvlist_exists_binary(nvl, "nvlist/binary"));
+
+	nvlist_free(nvl, "nvlist/null");
+	CHECK(!nvlist_exists_null(nvl, "nvlist/null"));
+	CHECK(nvlist_exists_bool(nvl, "nvlist/bool"));
+	CHECK(nvlist_exists_number(nvl, "nvlist/number"));
+	CHECK(nvlist_exists_string(nvl, "nvlist/string"));
+	CHECK(nvlist_exists_nvlist(nvl, "nvlist/nvlist"));
+	CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor"));
+	CHECK(nvlist_exists_binary(nvl, "nvlist/binary"));
+
+	nvlist_free(nvl, "nvlist/bool");
+	CHECK(!nvlist_exists_null(nvl, "nvlist/null"));
+	CHECK(!nvlist_exists_bool(nvl, "nvlist/bool"));
+	CHECK(nvlist_exists_number(nvl, "nvlist/number"));
+	CHECK(nvlist_exists_string(nvl, "nvlist/string"));
+	CHECK(nvlist_exists_nvlist(nvl, "nvlist/nvlist"));
+	CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor"));
+	CHECK(nvlist_exists_binary(nvl, "nvlist/binary"));
+
+	nvlist_free(nvl, "nvlist/number");
+	CHECK(!nvlist_exists_null(nvl, "nvlist/null"));
+	CHECK(!nvlist_exists_bool(nvl, "nvlist/bool"));
+	CHECK(!nvlist_exists_number(nvl, "nvlist/number"));
+	CHECK(nvlist_exists_string(nvl, "nvlist/string"));
+	CHECK(nvlist_exists_nvlist(nvl, "nvlist/nvlist"));
+	CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor"));
+	CHECK(nvlist_exists_binary(nvl, "nvlist/binary"));
+
+	nvlist_free(nvl, "nvlist/string");
+	CHECK(!nvlist_exists_null(nvl, "nvlist/null"));
+	CHECK(!nvlist_exists_bool(nvl, "nvlist/bool"));
+	CHECK(!nvlist_exists_number(nvl, "nvlist/number"));
+	CHECK(!nvlist_exists_string(nvl, "nvlist/string"));
+	CHECK(nvlist_exists_nvlist(nvl, "nvlist/nvlist"));
+	CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor"));
+	CHECK(nvlist_exists_binary(nvl, "nvlist/binary"));
+
+	nvlist_free(nvl, "nvlist/nvlist");
+	CHECK(!nvlist_exists_null(nvl, "nvlist/null"));
+	CHECK(!nvlist_exists_bool(nvl, "nvlist/bool"));
+	CHECK(!nvlist_exists_number(nvl, "nvlist/number"));
+	CHECK(!nvlist_exists_string(nvl, "nvlist/string"));
+	CHECK(!nvlist_exists_nvlist(nvl, "nvlist/nvlist"));
+	CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor"));
+	CHECK(nvlist_exists_binary(nvl, "nvlist/binary"));
+
+	nvlist_free(nvl, "nvlist/descriptor");
+	CHECK(!nvlist_exists_null(nvl, "nvlist/null"));
+	CHECK(!nvlist_exists_bool(nvl, "nvlist/bool"));
+	CHECK(!nvlist_exists_number(nvl, "nvlist/number"));
+	CHECK(!nvlist_exists_string(nvl, "nvlist/string"));
+	CHECK(!nvlist_exists_nvlist(nvl, "nvlist/nvlist"));
+	CHECK(!nvlist_exists_descriptor(nvl, "nvlist/descriptor"));
+	CHECK(nvlist_exists_binary(nvl, "nvlist/binary"));
+
+	nvlist_free(nvl, "nvlist/binary");
+	CHECK(!nvlist_exists_null(nvl, "nvlist/null"));
+	CHECK(!nvlist_exists_bool(nvl, "nvlist/bool"));
+	CHECK(!nvlist_exists_number(nvl, "nvlist/number"));
+	CHECK(!nvlist_exists_string(nvl, "nvlist/string"));
+	CHECK(!nvlist_exists_nvlist(nvl, "nvlist/nvlist"));
+	CHECK(!nvlist_exists_descriptor(nvl, "nvlist/descriptor"));
+	CHECK(!nvlist_exists_binary(nvl, "nvlist/binary"));
+
+	CHECK(nvlist_empty(nvl));
+
+	nvlist_destroy(nvl);
+
+	return (0);
+}

Added: head/tools/regression/lib/libnv/nvlist_get.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/tools/regression/lib/libnv/nvlist_get.c	Tue Nov 12 20:31:16 2013	(r258070)
@@ -0,0 +1,182 @@
+/*-
+ * Copyright (c) 2013 The FreeBSD Foundation
+ * All rights reserved.
+ *
+ * This software was developed by Pawel Jakub Dawidek under sponsorship from
+ * the FreeBSD Foundation.
+ *
+ * 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 AUTHORS 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 AUTHORS 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.
+ *
+ * $FreeBSD$
+ */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+
+#include <nv.h>
+
+static int ntest = 1;
+
+#define	CHECK(expr)	do {						\
+	if ((expr))							\
+		printf("ok # %d %s:%u\n", ntest, __FILE__, __LINE__);	\
+	else								\
+		printf("not ok # %d %s:%u\n", ntest, __FILE__, __LINE__);\
+	ntest++;							\
+} while (0)
+
+#define	fd_is_valid(fd)	(fcntl((fd), F_GETFL) != -1 || errno != EBADF)
+
+int
+main(void)
+{
+	const nvlist_t *cnvl;
+	nvlist_t *nvl;
+	size_t size;
+
+	printf("1..83\n");
+
+	nvl = nvlist_create(0);
+
+	CHECK(!nvlist_exists_bool(nvl, "nvlist/bool/true"));
+	nvlist_add_bool(nvl, "nvlist/bool/true", true);
+	CHECK(nvlist_error(nvl) == 0);
+	CHECK(nvlist_get_bool(nvl, "nvlist/bool/true") == true);
+
+	CHECK(!nvlist_exists_bool(nvl, "nvlist/bool/false"));
+	nvlist_add_bool(nvl, "nvlist/bool/false", false);
+	CHECK(nvlist_error(nvl) == 0);
+	CHECK(nvlist_get_bool(nvl, "nvlist/bool/false") == false);
+
+	CHECK(!nvlist_exists_number(nvl, "nvlist/number/0"));
+	nvlist_add_number(nvl, "nvlist/number/0", 0);
+	CHECK(nvlist_error(nvl) == 0);
+	CHECK(nvlist_get_number(nvl, "nvlist/number/0") == 0);
+
+	CHECK(!nvlist_exists_number(nvl, "nvlist/number/1"));
+	nvlist_add_number(nvl, "nvlist/number/1", 1);
+	CHECK(nvlist_error(nvl) == 0);
+	CHECK(nvlist_get_number(nvl, "nvlist/number/1") == 1);
+
+	CHECK(!nvlist_exists_number(nvl, "nvlist/number/-1"));
+	nvlist_add_number(nvl, "nvlist/number/-1", -1);
+	CHECK(nvlist_error(nvl) == 0);
+	CHECK((int)nvlist_get_number(nvl, "nvlist/number/-1") == -1);
+
+	CHECK(!nvlist_exists_number(nvl, "nvlist/number/UINT64_MAX"));
+	nvlist_add_number(nvl, "nvlist/number/UINT64_MAX", UINT64_MAX);
+	CHECK(nvlist_error(nvl) == 0);
+	CHECK(nvlist_get_number(nvl, "nvlist/number/UINT64_MAX") == UINT64_MAX);
+
+	CHECK(!nvlist_exists_number(nvl, "nvlist/number/INT64_MIN"));
+	nvlist_add_number(nvl, "nvlist/number/INT64_MIN", INT64_MIN);
+	CHECK(nvlist_error(nvl) == 0);
+	CHECK((int64_t)nvlist_get_number(nvl, "nvlist/number/INT64_MIN") == INT64_MIN);
+
+	CHECK(!nvlist_exists_number(nvl, "nvlist/number/INT64_MAX"));
+	nvlist_add_number(nvl, "nvlist/number/INT64_MAX", INT64_MAX);
+	CHECK(nvlist_error(nvl) == 0);
+	CHECK((int64_t)nvlist_get_number(nvl, "nvlist/number/INT64_MAX") == INT64_MAX);
+
+	CHECK(!nvlist_exists_string(nvl, "nvlist/string/"));
+	nvlist_add_string(nvl, "nvlist/string/", "");
+	CHECK(nvlist_error(nvl) == 0);
+	CHECK(strcmp(nvlist_get_string(nvl, "nvlist/string/"), "") == 0);
+
+	CHECK(!nvlist_exists_string(nvl, "nvlist/string/x"));
+	nvlist_add_string(nvl, "nvlist/string/x", "x");
+	CHECK(nvlist_error(nvl) == 0);
+	CHECK(strcmp(nvlist_get_string(nvl, "nvlist/string/x"), "x") == 0);
+
+	CHECK(!nvlist_exists_string(nvl, "nvlist/string/abcdefghijklmnopqrstuvwxyz"));
+	nvlist_add_string(nvl, "nvlist/string/abcdefghijklmnopqrstuvwxyz", "abcdefghijklmnopqrstuvwxyz");
+	CHECK(nvlist_error(nvl) == 0);
+	CHECK(strcmp(nvlist_get_string(nvl, "nvlist/string/abcdefghijklmnopqrstuvwxyz"), "abcdefghijklmnopqrstuvwxyz") == 0);
+
+	CHECK(!nvlist_exists_descriptor(nvl, "nvlist/descriptor/STDERR_FILENO"));
+	nvlist_add_descriptor(nvl, "nvlist/descriptor/STDERR_FILENO", STDERR_FILENO);
+	CHECK(nvlist_error(nvl) == 0);
+	CHECK(fd_is_valid(nvlist_get_descriptor(nvl, "nvlist/descriptor/STDERR_FILENO")));
+
+	CHECK(!nvlist_exists_binary(nvl, "nvlist/binary/x"));
+	nvlist_add_binary(nvl, "nvlist/binary/x", "x", 1);
+	CHECK(nvlist_error(nvl) == 0);
+	CHECK(memcmp(nvlist_get_binary(nvl, "nvlist/binary/x", NULL), "x", 1) == 0);
+	CHECK(memcmp(nvlist_get_binary(nvl, "nvlist/binary/x", &size), "x", 1) == 0);
+	CHECK(size == 1);
+
+	CHECK(!nvlist_exists_binary(nvl, "nvlist/binary/abcdefghijklmnopqrstuvwxyz"));
+	nvlist_add_binary(nvl, "nvlist/binary/abcdefghijklmnopqrstuvwxyz", "abcdefghijklmnopqrstuvwxyz", sizeof("abcdefghijklmnopqrstuvwxyz"));
+	CHECK(nvlist_error(nvl) == 0);
+	CHECK(memcmp(nvlist_get_binary(nvl, "nvlist/binary/abcdefghijklmnopqrstuvwxyz", NULL), "abcdefghijklmnopqrstuvwxyz", sizeof("abcdefghijklmnopqrstuvwxyz")) == 0);
+	CHECK(memcmp(nvlist_get_binary(nvl, "nvlist/binary/abcdefghijklmnopqrstuvwxyz", &size), "abcdefghijklmnopqrstuvwxyz", sizeof("abcdefghijklmnopqrstuvwxyz")) == 0);
+	CHECK(size == sizeof("abcdefghijklmnopqrstuvwxyz"));
+
+	CHECK(!nvlist_exists_nvlist(nvl, "nvlist/nvlist"));
+	nvlist_add_nvlist(nvl, "nvlist/nvlist", nvl);
+	CHECK(nvlist_error(nvl) == 0);
+	cnvl = nvlist_get_nvlist(nvl, "nvlist/nvlist");
+	CHECK(nvlist_get_bool(cnvl, "nvlist/bool/true") == true);
+	CHECK(nvlist_get_bool(cnvl, "nvlist/bool/false") == false);
+	CHECK(nvlist_get_number(cnvl, "nvlist/number/0") == 0);
+	CHECK(nvlist_get_number(cnvl, "nvlist/number/1") == 1);
+	CHECK((int)nvlist_get_number(cnvl, "nvlist/number/-1") == -1);
+	CHECK(nvlist_get_number(cnvl, "nvlist/number/UINT64_MAX") == UINT64_MAX);
+	CHECK((int64_t)nvlist_get_number(cnvl, "nvlist/number/INT64_MIN") == INT64_MIN);
+	CHECK((int64_t)nvlist_get_number(cnvl, "nvlist/number/INT64_MAX") == INT64_MAX);
+	CHECK(strcmp(nvlist_get_string(cnvl, "nvlist/string/"), "") == 0);
+	CHECK(strcmp(nvlist_get_string(cnvl, "nvlist/string/x"), "x") == 0);
+	CHECK(strcmp(nvlist_get_string(cnvl, "nvlist/string/abcdefghijklmnopqrstuvwxyz"), "abcdefghijklmnopqrstuvwxyz") == 0);
+	/* TODO */
+	CHECK(memcmp(nvlist_get_binary(cnvl, "nvlist/binary/x", NULL), "x", 1) == 0);
+	CHECK(memcmp(nvlist_get_binary(cnvl, "nvlist/binary/x", &size), "x", 1) == 0);
+	CHECK(size == 1);
+	CHECK(memcmp(nvlist_get_binary(cnvl, "nvlist/binary/abcdefghijklmnopqrstuvwxyz", NULL), "abcdefghijklmnopqrstuvwxyz", sizeof("abcdefghijklmnopqrstuvwxyz")) == 0);
+	CHECK(memcmp(nvlist_get_binary(cnvl, "nvlist/binary/abcdefghijklmnopqrstuvwxyz", &size), "abcdefghijklmnopqrstuvwxyz", sizeof("abcdefghijklmnopqrstuvwxyz")) == 0);
+	CHECK(size == sizeof("abcdefghijklmnopqrstuvwxyz"));
+
+	CHECK(nvlist_get_bool(nvl, "nvlist/bool/true") == true);
+	CHECK(nvlist_get_bool(nvl, "nvlist/bool/false") == false);
+	CHECK(nvlist_get_number(nvl, "nvlist/number/0") == 0);
+	CHECK(nvlist_get_number(nvl, "nvlist/number/1") == 1);
+	CHECK((int)nvlist_get_number(nvl, "nvlist/number/-1") == -1);
+	CHECK(nvlist_get_number(nvl, "nvlist/number/UINT64_MAX") == UINT64_MAX);
+	CHECK((int64_t)nvlist_get_number(nvl, "nvlist/number/INT64_MIN") == INT64_MIN);
+	CHECK((int64_t)nvlist_get_number(nvl, "nvlist/number/INT64_MAX") == INT64_MAX);
+	CHECK(strcmp(nvlist_get_string(nvl, "nvlist/string/"), "") == 0);
+	CHECK(strcmp(nvlist_get_string(nvl, "nvlist/string/x"), "x") == 0);
+	CHECK(strcmp(nvlist_get_string(nvl, "nvlist/string/abcdefghijklmnopqrstuvwxyz"), "abcdefghijklmnopqrstuvwxyz") == 0);
+	CHECK(fd_is_valid(nvlist_get_descriptor(nvl, "nvlist/descriptor/STDERR_FILENO")));
+	CHECK(memcmp(nvlist_get_binary(nvl, "nvlist/binary/x", NULL), "x", 1) == 0);
+	CHECK(memcmp(nvlist_get_binary(nvl, "nvlist/binary/x", &size), "x", 1) == 0);
+	CHECK(size == 1);
+	CHECK(memcmp(nvlist_get_binary(nvl, "nvlist/binary/abcdefghijklmnopqrstuvwxyz", NULL), "abcdefghijklmnopqrstuvwxyz", sizeof("abcdefghijklmnopqrstuvwxyz")) == 0);
+	CHECK(memcmp(nvlist_get_binary(nvl, "nvlist/binary/abcdefghijklmnopqrstuvwxyz", &size), "abcdefghijklmnopqrstuvwxyz", sizeof("abcdefghijklmnopqrstuvwxyz")) == 0);
+	CHECK(size == sizeof("abcdefghijklmnopqrstuvwxyz"));
+
+	nvlist_destroy(nvl);
+
+	return (0);
+}

Added: head/tools/regression/lib/libnv/nvlist_move.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/tools/regression/lib/libnv/nvlist_move.c	Tue Nov 12 20:31:16 2013	(r258070)
@@ -0,0 +1,161 @@
+/*-
+ * Copyright (c) 2013 The FreeBSD Foundation
+ * All rights reserved.
+ *
+ * This software was developed by Pawel Jakub Dawidek under sponsorship from
+ * the FreeBSD Foundation.
+ *
+ * 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 AUTHORS 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 AUTHORS 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.

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

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 21:14:20 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 69C63F9A;
 Tue, 12 Nov 2013 21:14:20 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 3F352273D;
 Tue, 12 Nov 2013 21:14:20 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rACLEKCu010318;
 Tue, 12 Nov 2013 21:14:20 GMT
 (envelope-from jimharris@svn.freebsd.org)
Received: (from jimharris@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rACLEK18010317;
 Tue, 12 Nov 2013 21:14:20 GMT
 (envelope-from jimharris@svn.freebsd.org)
Message-Id: <201311122114.rACLEK18010317@svn.freebsd.org>
From: Jim Harris <jimharris@FreeBSD.org>
Date: Tue, 12 Nov 2013 21:14:20 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258071 - head/sbin/nvmecontrol
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 21:14:20 -0000

Author: jimharris
Date: Tue Nov 12 21:14:19 2013
New Revision: 258071
URL: http://svnweb.freebsd.org/changeset/base/258071

Log:
  Check for special status code from FIRMWARE_ACTIVATE command
  signifying that a reboot is required to complete activation
  of the requested firmware image.
  
  Reported by:	Joe Golio <joseph.golio@emc.com>
  Sponsored by:	Intel
  MFC after:	3 days

Modified:
  head/sbin/nvmecontrol/firmware.c

Modified: head/sbin/nvmecontrol/firmware.c
==============================================================================
--- head/sbin/nvmecontrol/firmware.c	Tue Nov 12 20:31:16 2013	(r258070)
+++ head/sbin/nvmecontrol/firmware.c	Tue Nov 12 21:14:19 2013	(r258071)
@@ -141,7 +141,7 @@ update_firmware(int fd, uint8_t *payload
 	}
 }
 
-static void
+static int
 activate_firmware(int fd, int slot, int activate_action)
 {
 	struct nvme_pt_command	pt;
@@ -154,8 +154,14 @@ activate_firmware(int fd, int slot, int 
 	if (ioctl(fd, NVME_PASSTHROUGH_CMD, &pt) < 0)
 		err(1, "firmware activate request failed");
 
+	if (pt.cpl.status.sct == NVME_SCT_COMMAND_SPECIFIC &&
+	    pt.cpl.status.sc == NVME_SC_FIRMWARE_REQUIRES_RESET)
+		return 1;
+
 	if (nvme_completion_is_error(&pt.cpl))
 		errx(1, "firmware activate request returned error");
+
+	return 0;
 }
 
 static void
@@ -171,6 +177,7 @@ firmware(int argc, char *argv[])
 {
 	int				fd = -1, slot = 0;
 	int				a_flag, s_flag, f_flag;
+	int				activate_action, reboot_required;
 	char				ch, *p, *image = NULL;
 	char				*controller = NULL, prompt[64];
 	void				*buf = NULL;
@@ -287,21 +294,27 @@ firmware(int argc, char *argv[])
 	if (f_flag) {
 		update_firmware(fd, buf, size);
 		if (a_flag)
-			activate_firmware(fd, slot,
-			    NVME_AA_REPLACE_ACTIVATE);
+			activate_action = NVME_AA_REPLACE_ACTIVATE;
 		else
-			activate_firmware(fd, slot,
-			    NVME_AA_REPLACE_NO_ACTIVATE);
+			activate_action = NVME_AA_REPLACE_NO_ACTIVATE;
 	} else {
-		activate_firmware(fd, slot, NVME_AA_ACTIVATE);
+		activate_action = NVME_AA_ACTIVATE;
 	}
 
+	reboot_required = activate_firmware(fd, slot, activate_action);
+
 	if (a_flag) {
-		printf("New firmware image activated and will take "
-		       "effect after next controller reset.\n"
-		       "Controller reset can be initiated via "
-		       "'nvmecontrol reset %s'\n",
-		       controller);
+		if (reboot_required) {
+			printf("New firmware image activated but requires "
+			       "conventional reset (i.e. reboot) to "
+			       "complete activation.\n");
+		} else {
+			printf("New firmware image activated and will take "
+			       "effect after next controller reset.\n"
+			       "Controller reset can be initiated via "
+			       "'nvmecontrol reset %s'\n",
+			       controller);
+		}
 	}
 
 	close(fd);

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 21:33:02 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id F3F418E4;
 Tue, 12 Nov 2013 21:33:01 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id E2BE528C1;
 Tue, 12 Nov 2013 21:33:01 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rACLX1lq016825;
 Tue, 12 Nov 2013 21:33:01 GMT (envelope-from jhb@svn.freebsd.org)
Received: (from jhb@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rACLX1YJ016824;
 Tue, 12 Nov 2013 21:33:01 GMT (envelope-from jhb@svn.freebsd.org)
Message-Id: <201311122133.rACLX1YJ016824@svn.freebsd.org>
From: John Baldwin <jhb@FreeBSD.org>
Date: Tue, 12 Nov 2013 21:33:01 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject: svn commit: r258072 - stable/9/sys/ofed/drivers/infiniband/ulp/ipoib
X-SVN-Group: stable-9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 21:33:02 -0000

Author: jhb
Date: Tue Nov 12 21:33:01 2013
New Revision: 258072
URL: http://svnweb.freebsd.org/changeset/base/258072

Log:
  MFC 254576: Stop an ipoib interface before detaching it.
  
  PR:		kern/181225

Modified:
  stable/9/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c
Directory Properties:
  stable/9/sys/   (props changed)

Modified: stable/9/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c
==============================================================================
--- stable/9/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c	Tue Nov 12 21:14:19 2013	(r258071)
+++ stable/9/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c	Tue Nov 12 21:33:01 2013	(r258072)
@@ -1073,6 +1073,8 @@ ipoib_remove_one(struct ib_device *devic
 		if (rdma_port_get_link_layer(device, priv->port) != IB_LINK_LAYER_INFINIBAND)
 			continue;
 
+		ipoib_stop(priv);
+
 		ib_unregister_event_handler(&priv->event_handler);
 
 		/* dev_change_flags(priv->dev, priv->dev->flags & ~IFF_UP); */

From owner-svn-src-all@FreeBSD.ORG  Tue Nov 12 22:51:06 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 9F82FB3B;
 Tue, 12 Nov 2013 22:51:06 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 8CEB12E80;
 Tue, 12 Nov 2013 22:51:06 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rACMp6B6042955;
 Tue, 12 Nov 2013 22:51:06 GMT (envelope-from neel@svn.freebsd.org)
Received: (from neel@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rACMp3jH042934;
 Tue, 12 Nov 2013 22:51:03 GMT (envelope-from neel@svn.freebsd.org)
Message-Id: <201311122251.rACMp3jH042934@svn.freebsd.org>
From: Neel Natu <neel@FreeBSD.org>
Date: Tue, 12 Nov 2013 22:51:03 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258075 - in head: lib/libvmmapi sys/amd64/include
 sys/amd64/vmm sys/amd64/vmm/io sys/modules/vmm usr.sbin/bhyve
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 22:51:06 -0000

Author: neel
Date: Tue Nov 12 22:51:03 2013
New Revision: 258075
URL: http://svnweb.freebsd.org/changeset/base/258075

Log:
  Move the ioapic device model from userspace into vmm.ko. This is needed for
  upcoming in-kernel device emulations like the HPET.
  
  The ioctls VM_IOAPIC_ASSERT_IRQ and VM_IOAPIC_DEASSERT_IRQ are used to
  manipulate the ioapic pin state.
  
  Discussed with:	grehan@
  Submitted by:	Tycho Nightingale (tycho.nightingale@pluribusnetworks.com)

Added:
  head/sys/amd64/vmm/io/vioapic.c   (contents, props changed)
  head/sys/amd64/vmm/io/vioapic.h   (contents, props changed)
Deleted:
  head/usr.sbin/bhyve/ioapic.c
  head/usr.sbin/bhyve/ioapic.h
Modified:
  head/lib/libvmmapi/vmmapi.c
  head/lib/libvmmapi/vmmapi.h
  head/sys/amd64/include/vmm.h
  head/sys/amd64/include/vmm_dev.h
  head/sys/amd64/vmm/vmm.c
  head/sys/amd64/vmm/vmm_dev.c
  head/sys/modules/vmm/Makefile
  head/usr.sbin/bhyve/Makefile
  head/usr.sbin/bhyve/bhyverun.c
  head/usr.sbin/bhyve/pci_emul.c
  head/usr.sbin/bhyve/pci_lpc.c
  head/usr.sbin/bhyve/pit_8254.c

Modified: head/lib/libvmmapi/vmmapi.c
==============================================================================
--- head/lib/libvmmapi/vmmapi.c	Tue Nov 12 22:43:27 2013	(r258074)
+++ head/lib/libvmmapi/vmmapi.c	Tue Nov 12 22:51:03 2013	(r258075)
@@ -397,6 +397,28 @@ vm_lapic_irq(struct vmctx *ctx, int vcpu
 }
 
 int
+vm_ioapic_assert_irq(struct vmctx *ctx, int irq)
+{
+	struct vm_ioapic_irq ioapic_irq;
+
+	bzero(&ioapic_irq, sizeof(struct vm_ioapic_irq));
+	ioapic_irq.irq = irq;
+
+	return (ioctl(ctx->fd, VM_IOAPIC_ASSERT_IRQ, &ioapic_irq));
+}
+
+int
+vm_ioapic_deassert_irq(struct vmctx *ctx, int irq)
+{
+	struct vm_ioapic_irq ioapic_irq;
+
+	bzero(&ioapic_irq, sizeof(struct vm_ioapic_irq));
+	ioapic_irq.irq = irq;
+
+	return (ioctl(ctx->fd, VM_IOAPIC_DEASSERT_IRQ, &ioapic_irq));
+}
+
+int
 vm_inject_nmi(struct vmctx *ctx, int vcpu)
 {
 	struct vm_nmi vmnmi;

Modified: head/lib/libvmmapi/vmmapi.h
==============================================================================
--- head/lib/libvmmapi/vmmapi.h	Tue Nov 12 22:43:27 2013	(r258074)
+++ head/lib/libvmmapi/vmmapi.h	Tue Nov 12 22:51:03 2013	(r258075)
@@ -67,6 +67,8 @@ int	vm_inject_event(struct vmctx *ctx, i
 int	vm_inject_event2(struct vmctx *ctx, int vcpu, enum vm_event_type type,
 			 int vector, int error_code);
 int	vm_lapic_irq(struct vmctx *ctx, int vcpu, int vector);
+int	vm_ioapic_assert_irq(struct vmctx *ctx, int irq);
+int	vm_ioapic_deassert_irq(struct vmctx *ctx, int irq);
 int	vm_inject_nmi(struct vmctx *ctx, int vcpu);
 int	vm_capability_name2type(const char *capname);
 const char *vm_capability_type2name(int type);

Modified: head/sys/amd64/include/vmm.h
==============================================================================
--- head/sys/amd64/include/vmm.h	Tue Nov 12 22:43:27 2013	(r258074)
+++ head/sys/amd64/include/vmm.h	Tue Nov 12 22:51:03 2013	(r258075)
@@ -38,6 +38,7 @@ struct vm_memory_segment;
 struct seg_desc;
 struct vm_exit;
 struct vm_run;
+struct vioapic;
 struct vlapic;
 struct vmspace;
 struct vm_object;
@@ -116,10 +117,12 @@ int vm_nmi_pending(struct vm *vm, int vc
 void vm_nmi_clear(struct vm *vm, int vcpuid);
 uint64_t *vm_guest_msrs(struct vm *vm, int cpu);
 struct vlapic *vm_lapic(struct vm *vm, int cpu);
+struct vioapic *vm_ioapic(struct vm *vm);
 int vm_get_capability(struct vm *vm, int vcpu, int type, int *val);
 int vm_set_capability(struct vm *vm, int vcpu, int type, int val);
 int vm_get_x2apic_state(struct vm *vm, int vcpu, enum x2apic_state *state);
 int vm_set_x2apic_state(struct vm *vm, int vcpu, enum x2apic_state state);
+int vm_apicid2vcpuid(struct vm *vm, int apicid);
 void vm_activate_cpu(struct vm *vm, int vcpu);
 cpuset_t vm_active_cpus(struct vm *vm);
 struct vm_exit *vm_exitinfo(struct vm *vm, int vcpuid);

Modified: head/sys/amd64/include/vmm_dev.h
==============================================================================
--- head/sys/amd64/include/vmm_dev.h	Tue Nov 12 22:43:27 2013	(r258074)
+++ head/sys/amd64/include/vmm_dev.h	Tue Nov 12 22:51:03 2013	(r258075)
@@ -71,6 +71,10 @@ struct vm_lapic_irq {
 	int		vector;
 };
 
+struct vm_ioapic_irq {
+	int		irq;
+};
+
 struct vm_capability {
 	int		cpuid;
 	enum vm_cap_type captype;
@@ -164,6 +168,8 @@ enum {
 	IOCNUM_INJECT_EVENT = 30,
 	IOCNUM_LAPIC_IRQ = 31,
 	IOCNUM_INJECT_NMI = 32,
+	IOCNUM_IOAPIC_ASSERT_IRQ = 33,
+	IOCNUM_IOAPIC_DEASSERT_IRQ = 34,
 
 	/* PCI pass-thru */
 	IOCNUM_BIND_PPTDEV = 40,
@@ -199,6 +205,10 @@ enum {
 	_IOW('v', IOCNUM_INJECT_EVENT, struct vm_event)
 #define	VM_LAPIC_IRQ 		\
 	_IOW('v', IOCNUM_LAPIC_IRQ, struct vm_lapic_irq)
+#define	VM_IOAPIC_ASSERT_IRQ	\
+	_IOW('v', IOCNUM_IOAPIC_ASSERT_IRQ, struct vm_ioapic_irq)
+#define	VM_IOAPIC_DEASSERT_IRQ	\
+	_IOW('v', IOCNUM_IOAPIC_DEASSERT_IRQ, struct vm_ioapic_irq)
 #define	VM_SET_CAPABILITY \
 	_IOW('v', IOCNUM_SET_CAPABILITY, struct vm_capability)
 #define	VM_GET_CAPABILITY \

Added: head/sys/amd64/vmm/io/vioapic.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sys/amd64/vmm/io/vioapic.c	Tue Nov 12 22:51:03 2013	(r258075)
@@ -0,0 +1,366 @@
+/*-
+ * Copyright (c) 2013 Tycho Nightingale <tycho.nightingale@pluribusnetworks.com>
+ * Copyright (c) 2013 Neel Natu <neel@freebsd.org>
+ * 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 NETAPP, INC ``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 NETAPP, INC 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.
+ *
+ * $FreeBSD$
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include <sys/param.h>
+#include <sys/queue.h>
+#include <sys/cpuset.h>
+#include <sys/lock.h>
+#include <sys/mutex.h>
+#include <sys/systm.h>
+#include <sys/kernel.h>
+#include <sys/malloc.h>
+
+#include <x86/apicreg.h>
+#include <machine/vmm.h>
+
+#include "vmm_ktr.h"
+#include "vmm_lapic.h"
+#include "vioapic.h"
+
+#define	IOREGSEL	0x00
+#define	IOWIN		0x10
+
+#define	REDIR_ENTRIES	16
+#define	INTR_ASSERTED(vioapic, pin) ((vioapic)->rtbl[(pin)].pinstate == true)
+
+struct vioapic {
+	struct vm	*vm;
+	struct mtx	mtx;
+	uint32_t	id;
+	uint32_t	ioregsel;
+	struct {
+		uint64_t reg;
+		bool     pinstate;
+		bool     pending;
+	} rtbl[REDIR_ENTRIES];
+};
+
+#define	VIOAPIC_LOCK(vioapic)		mtx_lock(&((vioapic)->mtx))
+#define	VIOAPIC_UNLOCK(vioapic)		mtx_unlock(&((vioapic)->mtx))
+#define	VIOAPIC_LOCKED(vioapic)		mtx_owned(&((vioapic)->mtx))
+
+static MALLOC_DEFINE(M_VIOAPIC, "vioapic", "bhyve virtual ioapic");
+
+#define	VIOAPIC_CTR1(vioapic, fmt, a1)					\
+	VM_CTR1((vioapic)->vm, fmt, a1)
+
+#define	VIOAPIC_CTR2(vioapic, fmt, a1, a2)				\
+	VM_CTR2((vioapic)->vm, fmt, a1, a2)
+
+#define	VIOAPIC_CTR3(vioapic, fmt, a1, a2, a3)				\
+	VM_CTR3((vioapic)->vm, fmt, a1, a2, a3)
+
+#ifdef KTR
+static const char *
+pinstate_str(bool asserted)
+{
+
+	if (asserted)
+		return ("asserted");
+	else
+		return ("deasserted");
+}
+#endif
+
+static void
+vioapic_set_pinstate(struct vioapic *vioapic, int pin, bool newstate)
+{
+	int vector, apicid, vcpuid;
+	uint32_t low, high;
+	cpuset_t dmask;
+
+	KASSERT(pin >= 0 && pin < REDIR_ENTRIES,
+	    ("vioapic_set_pinstate: invalid pin number %d", pin));
+
+	KASSERT(VIOAPIC_LOCKED(vioapic),
+	    ("vioapic_set_pinstate: vioapic is not locked"));
+
+	VIOAPIC_CTR2(vioapic, "ioapic pin%d %s", pin, pinstate_str(newstate));
+
+	/* Nothing to do if interrupt pin has not changed state */
+	if (vioapic->rtbl[pin].pinstate == newstate)
+		return;
+
+	vioapic->rtbl[pin].pinstate = newstate;	/* record it */
+
+	/* Nothing to do if interrupt pin is deasserted */
+	if (!INTR_ASSERTED(vioapic, pin))
+		return;
+
+	/*
+	 * XXX
+	 * We only deal with:
+	 * - edge triggered interrupts
+	 * - fixed delivery mode
+	 *  Level-triggered sources will work so long as there is no sharing.
+	 */
+	low = vioapic->rtbl[pin].reg;
+	high = vioapic->rtbl[pin].reg >> 32;
+	if ((low & IOART_INTMASK) == IOART_INTMCLR &&
+	    (low & IOART_DESTMOD) == IOART_DESTPHY &&
+	    (low & IOART_DELMOD) == IOART_DELFIXED) {
+		vector = low & IOART_INTVEC;
+		apicid = high >> APIC_ID_SHIFT;
+		if (apicid != 0xff) {
+			/* unicast */
+			vcpuid = vm_apicid2vcpuid(vioapic->vm, apicid);
+			VIOAPIC_CTR3(vioapic, "ioapic pin%d triggering "
+			    "intr vector %d on vcpuid %d", pin, vector, vcpuid);
+			lapic_set_intr(vioapic->vm, vcpuid, vector);
+		} else {
+			/* broadcast */
+			VIOAPIC_CTR2(vioapic, "ioapic pin%d triggering intr "
+			    "vector %d on all vcpus", pin, vector);
+			dmask = vm_active_cpus(vioapic->vm);
+			while ((vcpuid = CPU_FFS(&dmask)) != 0) {
+				vcpuid--;
+				CPU_CLR(vcpuid, &dmask);
+				lapic_set_intr(vioapic->vm, vcpuid, vector);
+			}
+		}
+	} else if ((low & IOART_INTMASK) != IOART_INTMCLR &&
+		   (low & IOART_TRGRLVL) != 0) {
+		/*
+		 * For level-triggered interrupts that have been
+		 * masked, set the pending bit so that an interrupt
+		 * will be generated on unmask and if the level is
+		 * still asserted
+		 */
+		VIOAPIC_CTR1(vioapic, "ioapic pin%d interrupt pending", pin);
+		vioapic->rtbl[pin].pending = true;
+	}
+}
+
+static int
+vioapic_set_irqstate(struct vm *vm, int irq, bool state)
+{
+	struct vioapic *vioapic;
+
+	if (irq < 0 || irq >= REDIR_ENTRIES)
+		return (EINVAL);
+
+	vioapic = vm_ioapic(vm);
+
+	VIOAPIC_LOCK(vioapic);
+	vioapic_set_pinstate(vioapic, irq, state);
+	VIOAPIC_UNLOCK(vioapic);
+
+	return (0);
+}
+
+int
+vioapic_assert_irq(struct vm *vm, int irq)
+{
+
+	return (vioapic_set_irqstate(vm, irq, true));
+}
+
+int
+vioapic_deassert_irq(struct vm *vm, int irq)
+{
+
+	return (vioapic_set_irqstate(vm, irq, false));
+}
+
+static uint32_t
+vioapic_read(struct vioapic *vioapic, uint32_t addr)
+{
+	int regnum, pin, rshift;
+
+	regnum = addr & 0xff;
+	switch (regnum) {
+	case IOAPIC_ID:
+		return (vioapic->id);
+		break;
+	case IOAPIC_VER:
+		return ((REDIR_ENTRIES << MAXREDIRSHIFT) | 0x11);
+		break;
+	case IOAPIC_ARB:
+		return (vioapic->id);
+		break;
+	default:
+		break;
+	}
+
+	/* redirection table entries */
+	if (regnum >= IOAPIC_REDTBL &&
+	    regnum < IOAPIC_REDTBL + REDIR_ENTRIES * 2) {
+		pin = (regnum - IOAPIC_REDTBL) / 2;
+		if ((regnum - IOAPIC_REDTBL) % 2)
+			rshift = 32;
+		else
+			rshift = 0;
+
+		return (vioapic->rtbl[pin].reg >> rshift);
+	}
+
+	return (0);
+}
+
+static void
+vioapic_write(struct vioapic *vioapic, uint32_t addr, uint32_t data)
+{
+	int regnum, pin, lshift;
+
+	regnum = addr & 0xff;
+	switch (regnum) {
+	case IOAPIC_ID:
+		vioapic->id = data & APIC_ID_MASK;
+		break;
+	case IOAPIC_VER:
+	case IOAPIC_ARB:
+		/* readonly */
+		break;
+	default:
+		break;
+	}
+
+	/* redirection table entries */
+	if (regnum >= IOAPIC_REDTBL &&
+	    regnum < IOAPIC_REDTBL + REDIR_ENTRIES * 2) {
+		pin = (regnum - IOAPIC_REDTBL) / 2;
+		if ((regnum - IOAPIC_REDTBL) % 2)
+			lshift = 32;
+		else
+			lshift = 0;
+
+		vioapic->rtbl[pin].reg &= ~((uint64_t)0xffffffff << lshift);
+		vioapic->rtbl[pin].reg |= ((uint64_t)data << lshift);
+
+		VIOAPIC_CTR2(vioapic, "ioapic pin%d redir table entry %#lx",
+		    pin, vioapic->rtbl[pin].reg);
+
+		if (vioapic->rtbl[pin].pending &&
+		    ((vioapic->rtbl[pin].reg & IOART_INTMASK) ==
+		    IOART_INTMCLR)) {
+			vioapic->rtbl[pin].pending = false;
+			/*
+			 * Inject the deferred level-triggered int if it is
+			 * still asserted. Simulate by toggling the pin
+			 * off and then on.
+			 */
+			if (vioapic->rtbl[pin].pinstate == true) {
+				VIOAPIC_CTR1(vioapic, "ioapic pin%d pending "
+				    "interrupt delivered", pin);
+				vioapic_set_pinstate(vioapic, pin, false);
+				vioapic_set_pinstate(vioapic, pin, true);
+			} else {
+				VIOAPIC_CTR1(vioapic, "ioapic pin%d pending "
+				    "interrupt dismissed", pin);
+			}
+		}
+	}
+}
+
+static int
+vioapic_mmio_rw(struct vioapic *vioapic, uint64_t gpa, uint64_t *data,
+    int size, bool doread)
+{
+	uint64_t offset;
+
+	offset = gpa - VIOAPIC_BASE;
+
+	/*
+	 * The IOAPIC specification allows 32-bit wide accesses to the
+	 * IOREGSEL (offset 0) and IOWIN (offset 16) registers.
+	 */
+	if (size != 4 || (offset != IOREGSEL && offset != IOWIN)) {
+		if (doread)
+			*data = 0;
+		return (0);
+	}
+
+	VIOAPIC_LOCK(vioapic);
+	if (offset == IOREGSEL) {
+		if (doread)
+			*data = vioapic->ioregsel;
+		else
+			vioapic->ioregsel = *data;
+	} else {
+		if (doread)
+			*data = vioapic_read(vioapic, vioapic->ioregsel);
+		else
+			vioapic_write(vioapic, vioapic->ioregsel, *data);
+	}
+	VIOAPIC_UNLOCK(vioapic);
+
+	return (0);
+}
+
+int
+vioapic_mmio_read(void *vm, int vcpuid, uint64_t gpa, uint64_t *rval,
+    int size, void *arg)
+{
+	int error;
+	struct vioapic *vioapic;
+
+	vioapic = vm_ioapic(vm);
+	error = vioapic_mmio_rw(vioapic, gpa, rval, size, true);
+	return (error);
+}
+
+int
+vioapic_mmio_write(void *vm, int vcpuid, uint64_t gpa, uint64_t wval,
+    int size, void *arg)
+{
+	int error;
+	struct vioapic *vioapic;
+
+	vioapic = vm_ioapic(vm);
+	error = vioapic_mmio_rw(vioapic, gpa, &wval, size, false);
+	return (error);
+}
+
+struct vioapic *
+vioapic_init(struct vm *vm)
+{
+	int i;
+	struct vioapic *vioapic;
+
+	vioapic = malloc(sizeof(struct vioapic), M_VIOAPIC, M_WAITOK | M_ZERO);
+
+	vioapic->vm = vm;
+	mtx_init(&vioapic->mtx, "vioapic lock", NULL, MTX_DEF);
+
+	/* Initialize all redirection entries to mask all interrupts */
+	for (i = 0; i < REDIR_ENTRIES; i++)
+		vioapic->rtbl[i].reg = 0x0001000000010000UL;
+
+	return (vioapic);
+}
+
+void
+vioapic_cleanup(struct vioapic *vioapic)
+{
+
+	free(vioapic, M_VIOAPIC);
+}

Added: head/sys/amd64/vmm/io/vioapic.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sys/amd64/vmm/io/vioapic.h	Tue Nov 12 22:51:03 2013	(r258075)
@@ -0,0 +1,49 @@
+/*-
+ * Copyright (c) 2013 Tycho Nightingale <tycho.nightingale@pluribusnetworks.com>
+ * Copyright (c) 2013 Neel Natu <neel@freebsd.org>
+ * 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 NETAPP, INC ``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 NETAPP, INC 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.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef _VIOAPIC_H_
+#define	_VIOAPIC_H_
+
+struct vm;
+struct vioapic;
+
+#define	VIOAPIC_BASE	0xFEC00000
+#define	VIOAPIC_SIZE	4096
+
+struct vioapic *vioapic_init(struct vm *vm);
+void	vioapic_cleanup(struct vioapic *vioapic);
+
+int	vioapic_assert_irq(struct vm *vm, int irq);
+int	vioapic_deassert_irq(struct vm *vm, int irq);
+
+int	vioapic_mmio_write(void *vm, int vcpuid, uint64_t gpa,
+	    uint64_t wval, int size, void *arg);
+int	vioapic_mmio_read(void *vm, int vcpuid, uint64_t gpa,
+	    uint64_t *rval, int size, void *arg);
+#endif

Modified: head/sys/amd64/vmm/vmm.c
==============================================================================
--- head/sys/amd64/vmm/vmm.c	Tue Nov 12 22:43:27 2013	(r258074)
+++ head/sys/amd64/vmm/vmm.c	Tue Nov 12 22:51:03 2013	(r258075)
@@ -59,11 +59,13 @@ __FBSDID("$FreeBSD$");
 #include <machine/vmparam.h>
 
 #include <machine/vmm.h>
+#include <machine/vmm_dev.h>
+
 #include "vmm_ktr.h"
 #include "vmm_host.h"
 #include "vmm_mem.h"
 #include "vmm_util.h"
-#include <machine/vmm_dev.h>
+#include "vioapic.h"
 #include "vlapic.h"
 #include "vmm_msr.h"
 #include "vmm_ipi.h"
@@ -106,6 +108,7 @@ struct mem_seg {
 struct vm {
 	void		*cookie;	/* processor-specific data */
 	void		*iommu;		/* iommu-specific data */
+	struct vioapic	*vioapic;	/* virtual ioapic */
 	struct vmspace	*vmspace;	/* guest's address space */
 	struct vcpu	vcpu[VM_MAXCPU];
 	int		num_mem_segs;
@@ -300,6 +303,7 @@ vm_create(const char *name, struct vm **
 	vm = malloc(sizeof(struct vm), M_VM, M_WAITOK | M_ZERO);
 	strcpy(vm->name, name);
 	vm->cookie = VMINIT(vm, vmspace_pmap(vmspace));
+	vm->vioapic = vioapic_init(vm);
 
 	for (i = 0; i < VM_MAXCPU; i++) {
 		vcpu_init(vm, i);
@@ -341,6 +345,8 @@ vm_destroy(struct vm *vm)
 	for (i = 0; i < VM_MAXCPU; i++)
 		vcpu_cleanup(&vm->vcpu[i]);
 
+	vioapic_cleanup(vm->vioapic);
+
 	VMSPACE_FREE(vm->vmspace);
 
 	VMCLEANUP(vm->cookie);
@@ -938,6 +944,8 @@ vm_handle_inst_emul(struct vm *vm, int v
 	struct vm_exit *vme;
 	int error, inst_length;
 	uint64_t rip, gla, gpa, cr3;
+	mem_region_read_t mread;
+	mem_region_write_t mwrite;
 
 	vcpu = &vm->vcpu[vcpuid];
 	vme = &vcpu->exitinfo;
@@ -960,13 +968,18 @@ vm_handle_inst_emul(struct vm *vm, int v
 		return (EFAULT);
 
 	/* return to userland unless this is a local apic access */
-	if (gpa < DEFAULT_APIC_BASE || gpa >= DEFAULT_APIC_BASE + PAGE_SIZE) {
+	if (gpa >= DEFAULT_APIC_BASE && gpa < DEFAULT_APIC_BASE + PAGE_SIZE) {
+		mread = lapic_mmio_read;
+		mwrite = lapic_mmio_write;
+	} else if (gpa >= VIOAPIC_BASE && gpa < VIOAPIC_BASE + VIOAPIC_SIZE) {
+		mread = vioapic_mmio_read;
+		mwrite = vioapic_mmio_write;
+	} else {
 		*retu = TRUE;
 		return (0);
 	}
 
-	error = vmm_emulate_instruction(vm, vcpuid, gpa, vie,
-					lapic_mmio_read, lapic_mmio_write, 0);
+	error = vmm_emulate_instruction(vm, vcpuid, gpa, vie, mread, mwrite, 0);
 
 	/* return to userland to spin up the AP */
 	if (error == 0 && vme->exitcode == VM_EXITCODE_SPINUP_AP)
@@ -1149,6 +1162,13 @@ vm_lapic(struct vm *vm, int cpu)
 	return (vm->vcpu[cpu].vlapic);
 }
 
+struct vioapic *
+vm_ioapic(struct vm *vm)
+{
+
+	return (vm->vioapic);
+}
+
 boolean_t
 vmm_is_pptdev(int bus, int slot, int func)
 {
@@ -1313,3 +1333,12 @@ vm_get_vmspace(struct vm *vm)
 
 	return (vm->vmspace);
 }
+
+int
+vm_apicid2vcpuid(struct vm *vm, int apicid)
+{
+	/*
+	 * XXX apic id is assumed to be numerically identical to vcpu id
+	 */
+	return (apicid);
+}

Modified: head/sys/amd64/vmm/vmm_dev.c
==============================================================================
--- head/sys/amd64/vmm/vmm_dev.c	Tue Nov 12 22:43:27 2013	(r258074)
+++ head/sys/amd64/vmm/vmm_dev.c	Tue Nov 12 22:51:03 2013	(r258075)
@@ -53,6 +53,7 @@ __FBSDID("$FreeBSD$");
 #include "vmm_stat.h"
 #include "vmm_mem.h"
 #include "io/ppt.h"
+#include "io/vioapic.h"
 #include <machine/vmm_dev.h>
 
 struct vmmdev_softc {
@@ -146,10 +147,11 @@ vmmdev_ioctl(struct cdev *cdev, u_long c
 	struct vmmdev_softc *sc;
 	struct vm_memory_segment *seg;
 	struct vm_register *vmreg;
-	struct vm_seg_desc* vmsegdesc;
+	struct vm_seg_desc *vmsegdesc;
 	struct vm_run *vmrun;
 	struct vm_event *vmevent;
 	struct vm_lapic_irq *vmirq;
+	struct vm_ioapic_irq *ioapic_irq;
 	struct vm_capability *vmcap;
 	struct vm_pptdev *pptdev;
 	struct vm_pptdev_mmio *pptmmio;
@@ -293,6 +295,14 @@ vmmdev_ioctl(struct cdev *cdev, u_long c
 		vmirq = (struct vm_lapic_irq *)data;
 		error = lapic_set_intr(sc->vm, vmirq->cpuid, vmirq->vector);
 		break;
+	case VM_IOAPIC_ASSERT_IRQ:
+		ioapic_irq = (struct vm_ioapic_irq *)data;
+		error = vioapic_assert_irq(sc->vm, ioapic_irq->irq);
+		break;
+	case VM_IOAPIC_DEASSERT_IRQ:
+		ioapic_irq = (struct vm_ioapic_irq *)data;
+		error = vioapic_deassert_irq(sc->vm, ioapic_irq->irq);
+		break;
 	case VM_MAP_MEMORY:
 		seg = (struct vm_memory_segment *)data;
 		error = vm_malloc(sc->vm, seg->gpa, seg->len);

Modified: head/sys/modules/vmm/Makefile
==============================================================================
--- head/sys/modules/vmm/Makefile	Tue Nov 12 22:43:27 2013	(r258074)
+++ head/sys/modules/vmm/Makefile	Tue Nov 12 22:51:03 2013	(r258075)
@@ -27,6 +27,7 @@ SRCS+=	vmm.c		\
 .PATH: ${.CURDIR}/../../amd64/vmm/io
 SRCS+=	iommu.c		\
 	ppt.c           \
+	vioapic.c	\
 	vlapic.c
 
 # intel-specific files

Modified: head/usr.sbin/bhyve/Makefile
==============================================================================
--- head/usr.sbin/bhyve/Makefile	Tue Nov 12 22:43:27 2013	(r258074)
+++ head/usr.sbin/bhyve/Makefile	Tue Nov 12 22:51:03 2013	(r258075)
@@ -7,7 +7,7 @@ PROG=	bhyve
 DEBUG_FLAGS= -g -O0 
 
 SRCS=	acpi.c atpic.c bhyverun.c block_if.c consport.c dbgport.c elcr.c
-SRCS+=  inout.c ioapic.c legacy_irq.c mem.c mevent.c mptbl.c pci_ahci.c
+SRCS+=  inout.c legacy_irq.c mem.c mevent.c mptbl.c pci_ahci.c
 SRCS+=	pci_emul.c pci_hostbridge.c pci_lpc.c pci_passthru.c pci_virtio_block.c
 SRCS+=	pci_virtio_net.c pci_uart.c pit_8254.c pmtmr.c post.c rtc.c
 SRCS+=	uart_emul.c virtio.c xmsr.c spinup_ap.c

Modified: head/usr.sbin/bhyve/bhyverun.c
==============================================================================
--- head/usr.sbin/bhyve/bhyverun.c	Tue Nov 12 22:43:27 2013	(r258074)
+++ head/usr.sbin/bhyve/bhyverun.c	Tue Nov 12 22:51:03 2013	(r258075)
@@ -61,7 +61,6 @@ __FBSDID("$FreeBSD$");
 #include "pci_emul.h"
 #include "pci_lpc.h"
 #include "xmsr.h"
-#include "ioapic.h"
 #include "spinup_ap.h"
 #include "rtc.h"
 
@@ -663,8 +662,6 @@ main(int argc, char *argv[])
 	if (init_pci(ctx) != 0)
 		exit(1);
 
-	ioapic_init(0);
-
 	if (gdb_port != 0)
 		init_dbgport(gdb_port);
 

Modified: head/usr.sbin/bhyve/pci_emul.c
==============================================================================
--- head/usr.sbin/bhyve/pci_emul.c	Tue Nov 12 22:43:27 2013	(r258074)
+++ head/usr.sbin/bhyve/pci_emul.c	Tue Nov 12 22:51:03 2013	(r258075)
@@ -49,7 +49,6 @@ __FBSDID("$FreeBSD$");
 #include "legacy_irq.h"
 #include "mem.h"
 #include "pci_emul.h"
-#include "ioapic.h"
 
 #define CONF1_ADDR_PORT    0x0cf8
 #define CONF1_DATA_PORT    0x0cfc
@@ -1136,7 +1135,7 @@ pci_lintr_assert(struct pci_devinst *pi)
 {
 
 	assert(pi->pi_lintr_pin >= 0);
-	ioapic_assert_pin(pi->pi_vmctx, pi->pi_lintr_pin);
+	vm_ioapic_assert_irq(pi->pi_vmctx, pi->pi_lintr_pin);
 }
 
 void
@@ -1144,7 +1143,7 @@ pci_lintr_deassert(struct pci_devinst *p
 {
 
 	assert(pi->pi_lintr_pin >= 0);
-	ioapic_deassert_pin(pi->pi_vmctx, pi->pi_lintr_pin);
+	vm_ioapic_deassert_irq(pi->pi_vmctx, pi->pi_lintr_pin);
 }
 
 /*

Modified: head/usr.sbin/bhyve/pci_lpc.c
==============================================================================
--- head/usr.sbin/bhyve/pci_lpc.c	Tue Nov 12 22:43:27 2013	(r258074)
+++ head/usr.sbin/bhyve/pci_lpc.c	Tue Nov 12 22:51:03 2013	(r258075)
@@ -31,13 +31,16 @@
 __FBSDID("$FreeBSD$");
 
 #include <sys/types.h>
+#include <machine/vmm.h>
+#include <machine/vmm_dev.h>
 
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 
+#include <vmmapi.h>
+
 #include "inout.h"
-#include "ioapic.h"
 #include "pci_emul.h"
 #include "uart_emul.h"
 
@@ -91,7 +94,7 @@ lpc_uart_intr_assert(void *arg)
 
 	assert(sc->irq >= 0);
 
-	ioapic_assert_pin(lpc_bridge->pi_vmctx, sc->irq);
+	vm_ioapic_assert_irq(lpc_bridge->pi_vmctx, sc->irq);
 }
 
 static void
@@ -101,7 +104,7 @@ lpc_uart_intr_deassert(void *arg)
 
 	assert(sc->irq >= 0);
 
-	ioapic_deassert_pin(lpc_bridge->pi_vmctx, sc->irq);
+	vm_ioapic_deassert_irq(lpc_bridge->pi_vmctx, sc->irq);
 }
 
 static int

Modified: head/usr.sbin/bhyve/pit_8254.c
==============================================================================
--- head/usr.sbin/bhyve/pit_8254.c	Tue Nov 12 22:43:27 2013	(r258074)
+++ head/usr.sbin/bhyve/pit_8254.c	Tue Nov 12 22:51:03 2013	(r258075)
@@ -44,7 +44,6 @@ __FBSDID("$FreeBSD$");
 
 #include "bhyverun.h"
 #include "inout.h"
-#include "ioapic.h"
 #include "mevent.h"
 #include "pit_8254.h"
 
@@ -106,8 +105,8 @@ pit_mevent_cb(int fd, enum ev_type type,
 
 	pit_mev_count++;
 
-	ioapic_assert_pin(c->ctx, 2);
-	ioapic_deassert_pin(c->ctx, 2);
+	vm_ioapic_assert_irq(c->ctx, 2);
+	vm_ioapic_deassert_irq(c->ctx, 2);
 
 	/*
 	 * Delete the timer for one-shots

From owner-svn-src-all@FreeBSD.ORG  Wed Nov 13 00:29:08 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 8241DDA5;
 Wed, 13 Nov 2013 00:29:08 +0000 (UTC)
Received: from h2.funkthat.com (gate2.funkthat.com [208.87.223.18])
 (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 44F672427;
 Wed, 13 Nov 2013 00:29:07 +0000 (UTC)
Received: from h2.funkthat.com (localhost [127.0.0.1])
 by h2.funkthat.com (8.14.3/8.14.3) with ESMTP id rAD0T6XV040104
 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
 Tue, 12 Nov 2013 16:29:07 -0800 (PST)
 (envelope-from jmg@h2.funkthat.com)
Received: (from jmg@localhost)
 by h2.funkthat.com (8.14.3/8.14.3/Submit) id rAD0T6s3040103;
 Tue, 12 Nov 2013 16:29:06 -0800 (PST) (envelope-from jmg)
Date: Tue, 12 Nov 2013 16:29:06 -0800
From: John-Mark Gurney <jmg@funkthat.com>
To: Bruce Evans <brde@optusnet.com.au>
Subject: Re: svn commit: r258039 - in head/sys: kern vm
Message-ID: <20131113002906.GZ2279@funkthat.com>
References: <201311120847.rAC8lwi8053235@svn.freebsd.org>
 <20131112215200.Y1480@besplex.bde.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20131112215200.Y1480@besplex.bde.org>
User-Agent: Mutt/1.4.2.3i
X-Operating-System: FreeBSD 7.2-RELEASE i386
X-PGP-Fingerprint: 54BA 873B 6515 3F10 9E88  9322 9CB1 8F74 6D3F A396
X-Files: The truth is out there
X-URL: http://resnet.uoregon.edu/~gurney_j/
X-Resume: http://resnet.uoregon.edu/~gurney_j/resume.html
X-to-the-FBI-CIA-and-NSA: HI! HOW YA DOIN? can i haz chizburger?
X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.2
 (h2.funkthat.com [127.0.0.1]); Tue, 12 Nov 2013 16:29:07 -0800 (PST)
Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org,
 src-committers@FreeBSD.org, Konstantin Belousov <kib@FreeBSD.org>
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Nov 2013 00:29:08 -0000

Bruce Evans wrote this message on Tue, Nov 12, 2013 at 22:13 +1100:
> On Tue, 12 Nov 2013, Konstantin Belousov wrote:
> 
> >Log:
> > Avoid overflow for the page counts.
> >
> > Reported and tested by:	pho
> > Sponsored by:	The FreeBSD Foundation
> > MFC after:	1 week
> 
> >Modified: head/sys/kern/vfs_vnops.c
> >==============================================================================
> >--- head/sys/kern/vfs_vnops.c	Tue Nov 12 08:32:10 2013	(r258038)
> >+++ head/sys/kern/vfs_vnops.c	Tue Nov 12 08:47:58 2013	(r258039)
> >@@ -933,8 +933,9 @@ vn_io_fault(struct file *fp, struct uio
> >	void *rl_cookie;
> >	struct mount *mp;
> >	vm_page_t *prev_td_ma;
> >-	int cnt, error, save, saveheld, prev_td_ma_cnt;
> >+	int error, save, saveheld, prev_td_ma_cnt;
> >	vm_offset_t addr, end;
> >+	vm_size_t cnt;
> 
> int was correct for a count.  You can't possibly have the 8TB
> of physical memory needed to overflow a 32-bit int page count.
                    ^ today
> It is reasonably to assume 32-bit ints.

Except that the modern AMD64 arch now allows 52 bits of address for
phyiscal memory, which does mean in a few years, we will be eclipsing
8TB in a single machine...

Isn't someone running FreeBSD on a 1TB machine?  I'm pretty possitive
I remeber someone running 512GB, so only 3/4 doublings away from hitting
the limit...

-- 
  John-Mark Gurney				Voice: +1 415 225 5579

     "All that I will do, has been done, All that I have, has not."

From owner-svn-src-all@FreeBSD.ORG  Wed Nov 13 01:01:15 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id CEBF6496;
 Wed, 13 Nov 2013 01:01:15 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id BE42F25F0;
 Wed, 13 Nov 2013 01:01:15 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAD11Fbs085875;
 Wed, 13 Nov 2013 01:01:15 GMT (envelope-from ian@svn.freebsd.org)
Received: (from ian@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAD11Fle085874;
 Wed, 13 Nov 2013 01:01:15 GMT (envelope-from ian@svn.freebsd.org)
Message-Id: <201311130101.rAD11Fle085874@svn.freebsd.org>
From: Ian Lepore <ian@FreeBSD.org>
Date: Wed, 13 Nov 2013 01:01:15 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258076 - head/usr.sbin/syslogd
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Nov 2013 01:01:16 -0000

Author: ian
Date: Wed Nov 13 01:01:15 2013
New Revision: 258076
URL: http://svnweb.freebsd.org/changeset/base/258076

Log:
  This fixes 3 problems in syslogd related to sizing receive buffers...
  
  - A call was misplaced at the wrong level of nested if blocks, so that
    the buffers for unix domain sockets (/dev/log, /dev/klog) were never
    increased at all; they remained at a way-too-small default size of 4096.
  
  - The function that was supposed to double the size of the buffer
    sometimes did nothing, and sometimes installed a wildly-wrong buffer
    size (either too large or too small) due to an unitialized 'slen'
    variable passed to getsockopt().  Most often it doubled the UDP buffers
    from 40k to 80k because accidentally there would be harmless stack
    garbage in the unitialized variables.
  
  - The whole concept of blindly doubling a socket's buffer size without
    knowing what size it started at is a design flaw that has to be called a
    bug.  If the double_rbuf() function had worked at all (I.E., if the
    other two bugs didn't exist) this would lead to UDP sockets having an
    80k buffer while unix dgram sockets get an 8k buffer.  There's nothing
    about the problem being solved that requires larger buffers for UDP than
    for unix dgram sockets -- the buffering requirements are the same
    regardless of socket type.
  
  This change renames the double_rbuf() function to increase_rbuf() and
  increases the buffer size on all types of sockets to 80k.  80k was
  chosen only because it appears to be the size the original change was
  shooting for, and it certainly seems to be reasonably large (I might
  have picked 64k in the absence of any historical guidance).
  
  PR:		160433
  Submitted by:	me, in 2011.

Modified:
  head/usr.sbin/syslogd/syslogd.c

Modified: head/usr.sbin/syslogd/syslogd.c
==============================================================================
--- head/usr.sbin/syslogd/syslogd.c	Tue Nov 12 22:51:03 2013	(r258075)
+++ head/usr.sbin/syslogd/syslogd.c	Wed Nov 13 01:01:15 2013	(r258076)
@@ -74,6 +74,7 @@ __FBSDID("$FreeBSD$");
 #define	DEFSPRI		(LOG_KERN|LOG_CRIT)
 #define	TIMERINTVL	30		/* interval for checking flush, mark */
 #define	TTYMSGTIME	1		/* timeout passed to ttymsg */
+#define	RCVBUF_MINSIZE	(80 * 1024)	/* minimum size of dgram rcv buffer */
 
 #include <sys/param.h>
 #include <sys/ioctl.h>
@@ -336,7 +337,7 @@ static void	unmapped(struct sockaddr *);
 static void	wallmsg(struct filed *, struct iovec *, const int iovlen);
 static int	waitdaemon(int, int, int);
 static void	timedout(int);
-static void	double_rbuf(int);
+static void	increase_rcvbuf(int);
 
 int
 main(int argc, char *argv[])
@@ -547,8 +548,8 @@ main(int argc, char *argv[])
 				STAILQ_REMOVE(&funixes, fx, funix, next);
 				continue;
 			}
-			double_rbuf(fx->s);
 		}
+		increase_rcvbuf(fx->s);
 	}
 	if (SecureMode <= 1)
 		finet = socksetup(family, bindhostname);
@@ -2720,7 +2721,7 @@ socksetup(int af, char *bindhostname)
 			}
 
 			if (!SecureMode)
-				double_rbuf(*s);
+				increase_rcvbuf(*s);
 		}
 
 		(*socks)++;
@@ -2741,12 +2742,16 @@ socksetup(int af, char *bindhostname)
 }
 
 static void
-double_rbuf(int fd)
+increase_rcvbuf(int fd)
 {
-	socklen_t slen, len;
+	socklen_t len, slen;
+
+	slen = sizeof(len);
 
 	if (getsockopt(fd, SOL_SOCKET, SO_RCVBUF, &len, &slen) == 0) {
-		len *= 2;
-		setsockopt(fd, SOL_SOCKET, SO_RCVBUF, &len, slen);
+		if (len < RCVBUF_MINSIZE) {
+			len = RCVBUF_MINSIZE;
+			setsockopt(fd, SOL_SOCKET, SO_RCVBUF, &len, sizeof(len));
+		}
 	}
 }

From owner-svn-src-all@FreeBSD.ORG  Wed Nov 13 01:04:02 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id B1898634;
 Wed, 13 Nov 2013 01:04:02 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id A0D0D2616;
 Wed, 13 Nov 2013 01:04:02 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAD142hW086304;
 Wed, 13 Nov 2013 01:04:02 GMT (envelope-from ian@svn.freebsd.org)
Received: (from ian@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAD1428P086303;
 Wed, 13 Nov 2013 01:04:02 GMT (envelope-from ian@svn.freebsd.org)
Message-Id: <201311130104.rAD1428P086303@svn.freebsd.org>
From: Ian Lepore <ian@FreeBSD.org>
Date: Wed, 13 Nov 2013 01:04:02 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258077 - head/usr.sbin/syslogd
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Nov 2013 01:04:02 -0000

Author: ian
Date: Wed Nov 13 01:04:02 2013
New Revision: 258077
URL: http://svnweb.freebsd.org/changeset/base/258077

Log:
  Add ENETUNREACH and EADDRNOTAVAIL to the list of errors that are potentially
  transient and shouldn't result in closing the socket and giving up forever.

Modified:
  head/usr.sbin/syslogd/syslogd.c

Modified: head/usr.sbin/syslogd/syslogd.c
==============================================================================
--- head/usr.sbin/syslogd/syslogd.c	Wed Nov 13 01:01:15 2013	(r258076)
+++ head/usr.sbin/syslogd/syslogd.c	Wed Nov 13 01:04:02 2013	(r258077)
@@ -1242,8 +1242,10 @@ fprintlog(struct filed *f, int flags, co
 				switch (errno) {
 				case ENOBUFS:
 				case ENETDOWN:
+				case ENETUNREACH:
 				case EHOSTUNREACH:
 				case EHOSTDOWN:
+				case EADDRNOTAVAIL:
 					break;
 				/* case EBADF: */
 				/* case EACCES: */
@@ -1254,7 +1256,7 @@ fprintlog(struct filed *f, int flags, co
 				/* case ENOBUFS: */
 				/* case ECONNREFUSED: */
 				default:
-					dprintf("removing entry\n");
+					dprintf("removing entry: errno=%d\n", e);
 					f->f_type = F_UNUSED;
 					break;
 				}

From owner-svn-src-all@FreeBSD.ORG  Wed Nov 13 01:37:53 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 69776DA9;
 Wed, 13 Nov 2013 01:37:53 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 58B83284F;
 Wed, 13 Nov 2013 01:37:53 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAD1brK0096718;
 Wed, 13 Nov 2013 01:37:53 GMT
 (envelope-from jhibbits@svn.freebsd.org)
Received: (from jhibbits@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAD1brQU096717;
 Wed, 13 Nov 2013 01:37:53 GMT
 (envelope-from jhibbits@svn.freebsd.org)
Message-Id: <201311130137.rAD1brQU096717@svn.freebsd.org>
From: Justin Hibbits <jhibbits@FreeBSD.org>
Date: Wed, 13 Nov 2013 01:37:53 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258078 - head/sys/powerpc/include
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Nov 2013 01:37:53 -0000

Author: jhibbits
Date: Wed Nov 13 01:37:52 2013
New Revision: 258078
URL: http://svnweb.freebsd.org/changeset/base/258078

Log:
  Increase the stack size for ppc64 from 4 pages to 8.
  
  I found a stack overflow when a coredump was taken onto a ZFS volume with
  heavy network activity.  2 DSI traps, plus one DECR trap, along with several
  function calls in the stack, overflowed the 4 pages.  8 page stack fixes this.
  
  Discussed with: nwhitehorn
  MFC after:	1 week

Modified:
  head/sys/powerpc/include/param.h

Modified: head/sys/powerpc/include/param.h
==============================================================================
--- head/sys/powerpc/include/param.h	Wed Nov 13 01:04:02 2013	(r258077)
+++ head/sys/powerpc/include/param.h	Wed Nov 13 01:37:52 2013	(r258078)
@@ -104,7 +104,11 @@
 #define	MAXPAGESIZES	1		/* maximum number of supported page sizes */
 
 #ifndef KSTACK_PAGES
-#define	KSTACK_PAGES		4		/* includes pcb */
+#ifdef __powerpc64__
+#define	KSTACK_PAGES		8		/* includes pcb */
+#else
+#define	KSTACK_PAGES		8		/* includes pcb */
+#endif
 #endif
 #define	KSTACK_GUARD_PAGES	1	/* pages of kstack guard; 0 disables */
 #define	USPACE		(KSTACK_PAGES * PAGE_SIZE)	/* total size of pcb */

From owner-svn-src-all@FreeBSD.ORG  Wed Nov 13 01:51:41 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 1D2AA1D7;
 Wed, 13 Nov 2013 01:51:41 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 0C86A292F;
 Wed, 13 Nov 2013 01:51:41 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAD1penk002571;
 Wed, 13 Nov 2013 01:51:40 GMT
 (envelope-from jhibbits@svn.freebsd.org)
Received: (from jhibbits@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAD1peKJ002570;
 Wed, 13 Nov 2013 01:51:40 GMT
 (envelope-from jhibbits@svn.freebsd.org)
Message-Id: <201311130151.rAD1peKJ002570@svn.freebsd.org>
From: Justin Hibbits <jhibbits@FreeBSD.org>
Date: Wed, 13 Nov 2013 01:51:40 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258079 - head/sys/powerpc/include
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Nov 2013 01:51:41 -0000

Author: jhibbits
Date: Wed Nov 13 01:51:40 2013
New Revision: 258079
URL: http://svnweb.freebsd.org/changeset/base/258079

Log:
  Fix typo.
  
  Submitted by:	loos

Modified:
  head/sys/powerpc/include/param.h

Modified: head/sys/powerpc/include/param.h
==============================================================================
--- head/sys/powerpc/include/param.h	Wed Nov 13 01:37:52 2013	(r258078)
+++ head/sys/powerpc/include/param.h	Wed Nov 13 01:51:40 2013	(r258079)
@@ -107,7 +107,7 @@
 #ifdef __powerpc64__
 #define	KSTACK_PAGES		8		/* includes pcb */
 #else
-#define	KSTACK_PAGES		8		/* includes pcb */
+#define	KSTACK_PAGES		4		/* includes pcb */
 #endif
 #endif
 #define	KSTACK_GUARD_PAGES	1	/* pages of kstack guard; 0 disables */

From owner-svn-src-all@FreeBSD.ORG  Wed Nov 13 03:50:32 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 36FF1CB3;
 Wed, 13 Nov 2013 03:50:32 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 262C52F92;
 Wed, 13 Nov 2013 03:50:32 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAD3oWAJ043003;
 Wed, 13 Nov 2013 03:50:32 GMT
 (envelope-from jpaetzel@svn.freebsd.org)
Received: (from jpaetzel@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAD3oVXJ043000;
 Wed, 13 Nov 2013 03:50:31 GMT
 (envelope-from jpaetzel@svn.freebsd.org)
Message-Id: <201311130350.rAD3oVXJ043000@svn.freebsd.org>
From: Josh Paetzel <jpaetzel@FreeBSD.org>
Date: Wed, 13 Nov 2013 03:50:31 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258080 - in head: etc/rc.d share/man/man5
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Nov 2013 03:50:32 -0000

Author: jpaetzel
Date: Wed Nov 13 03:50:31 2013
New Revision: 258080
URL: http://svnweb.freebsd.org/changeset/base/258080

Log:
  Add support for multiple instances of ftp-proxy
  and pflog devices.
  
  PR:	conf/158171
  Submitted by:	Thomas Johnson <tom@claimlynx.com>

Modified:
  head/etc/rc.d/ftp-proxy
  head/etc/rc.d/pflog
  head/share/man/man5/rc.conf.5

Modified: head/etc/rc.d/ftp-proxy
==============================================================================
--- head/etc/rc.d/ftp-proxy	Wed Nov 13 01:51:40 2013	(r258079)
+++ head/etc/rc.d/ftp-proxy	Wed Nov 13 03:50:31 2013	(r258080)
@@ -14,4 +14,62 @@ rcvar="ftpproxy_enable"
 command="/usr/sbin/ftp-proxy"
 
 load_rc_config $name
-run_rc_command "$1"
+
+#
+# manage_pid argument
+#	Create or remove a pidfile manually, for daemons that can't be bothered
+#	to do it themselves. Takes one argument, which is the argument provided
+#	to the rc script. The pidfile will be named /var/run/<$name>.pid,
+#	unless $pidfile is defined.
+#
+#	The method used to determine the pid is rather hacky; grep ps output to
+#	find '$procname|$command', then grep for ${name}_flags. If at all
+#	possible, use another method if at all possible, to avoid that dirty-
+#	code feeling.
+#
+manage_pid() {
+	local search_string ps_pid
+	case $1 in
+		*start)
+			cmd_string=`basename ${procname:-${command}}`
+			eval flag_string=\"\$${name}_flags\"
+			# Determine the pid.
+			ps_pid=`ps ax -o pid= -o command= | grep $cmd_string | grep -e "$flag_string" | grep -v grep | awk '{ print $1 }'`
+			# Write the pidfile depending on $pidfile status.
+			echo $ps_pid > ${pidfile:-"/var/run/$name.pid"}
+	       		;;
+		stop)
+	       		rm $pidfile
+	       		;;
+	esac
+}
+
+# Allow ftp-proxy to start up in two different ways. The typical behavior
+# is to start up one instance of ftp-proxy by setting ftpproxy_enable and
+# ftpproxy_flags. The alternate behavior allows multiple instances of ftp-
+# proxy to be started, allowing different types of proxy behavior. To use the
+# new behavior, a list of instances must be defined, and a list of flags for
+# each instance. For example, if we want to start two instances of ftp-proxy,
+# foo and bar, we would set the following vars.
+#	ftpproxy_enable="YES"
+#	ftpproxy_instances="foo bar"
+#	ftpproxy_foo="<arguments for foo>"
+#	ftpproxy_bar="<arguments for bar>"
+#
+# Starting more than one ftp-proxy?
+if [ "$ftpproxy_instances" ] && [ -n "${ftpproxy_instances}" ]; then
+	# Iterate through instance list.
+	for i in $ftpproxy_instances; do
+		#eval ftpproxy_${i}_flags=\$ftpproxy_${i}
+		#eval name=ftpproxy_${i}
+		# Set flags for this instance.
+		eval ftpproxy_flags=\$ftpproxy_${i}
+		# Define a unique pid file name.
+		pidfile="/var/run/ftp-proxy.$i.pid"
+		run_rc_command "$1"
+		manage_pid $1
+	done
+else
+	# Traditional single-instance behavior
+	run_rc_command "$1"
+fi

Modified: head/etc/rc.d/pflog
==============================================================================
--- head/etc/rc.d/pflog	Wed Nov 13 01:51:40 2013	(r258079)
+++ head/etc/rc.d/pflog	Wed Nov 13 03:50:31 2013	(r258080)
@@ -24,25 +24,41 @@ pflog_prestart()
 {
 	load_kld pflog || return 1
 
-	# set pflog0 interface to up state
-	if ! ifconfig pflog0 up; then
-		warn 'could not bring up pflog0.'
+	# set pflog_dev interface to up state
+	if ! ifconfig $pflog_dev up; then
+		warn "could not bring up $pflog_dev."
 		return 1
 	fi
 
 	# prepare the command line for pflogd
-	rc_flags="-f $pflog_logfile $rc_flags"
+	rc_flags="-f $pflog_logfile -i $pflog_dev $rc_flags"
 
 	# report we're ready to run pflogd
 	return 0
 }
 
+pflog_poststart() {
+	# Allow child pflogd to settle
+	sleep 0.10
+	# More elegant(?) method for getting a unique pid
+	if [ -f /var/run/pflogd.pid ]; then
+		mv /var/run/pflogd.pid $pidfile
+	else
+		warn "/var/run/pflogd.pid does not exist. Too fast."
+	fi
+}
+
 pflog_poststop()
 {
-	if ! ifconfig pflog0 down; then
-		warn 'could not bring down pflog0.'
+	if ! ifconfig $pflog_dev down; then
+		warn "could not bring down $pflog_dev."
 		return 1
 	fi
+
+	if [ "$pflog_instances" ] && [ -n "$pflog_instances" ]; then
+		rm $pidfile
+	fi
+
 	return 0
 }
 
@@ -53,4 +69,33 @@ pflog_resync()
 }
 
 load_rc_config $name
-run_rc_command "$1"
+
+# Check if spawning multiple pflogd
+echo "Starting pflogd: $pflog_instances"
+if [ "$pflog_instances" ] && [ -n "$pflog_instances" ]; then
+	start_postcmd="pflog_poststart"
+	# Interate through requested instances.
+	for i in $pflog_instances; do
+		# Set required variables
+		eval pflog_dev=\$pflog_${i}_dev
+		eval pflog_logfile=\$pflog_${i}_logfile
+		eval pflog_flags=\$pflog_${i}_flags
+		# Check that required vars have non-zero length, warn if not.
+		if [ -z $pflog_dev ]; then
+			warn "pflog_dev not set"
+			continue
+		fi
+		if [ -z $pflog_logfile ]; then
+			warn "pflog_logfile not set"
+			continue
+		fi
+		# pflogd sets a pidfile, but the name is hardcoded. Concoct a
+		# unique pidfile name.
+		pidfile="/var/run/pflogd.$i.pid"
+		run_rc_command "$1"
+	done
+else
+	# Typical case, spawn single instance only.
+	pflog_dev=${pflog_dev:-"pflog0"}
+	run_rc_command "$1"
+fi

Modified: head/share/man/man5/rc.conf.5
==============================================================================
--- head/share/man/man5/rc.conf.5	Wed Nov 13 01:51:40 2013	(r258079)
+++ head/share/man/man5/rc.conf.5	Wed Nov 13 03:50:31 2013	(r258080)
@@ -917,6 +917,33 @@ Empty by default.
 This variable contains additional flags passed to the
 .Xr pflogd 8
 program.
+.It Va pflog_instances
+.Pq Vt str
+If logging to more than one 
+.Xr pflog 4
+interface is desired, 
+.Va pflog_instances
+is set to the list of
+.Xr pflogd 8
+instances that should be started at system boot time. If 
+.Va pflog_instances
+is set, for each whitespace-seperated
+.Ar element
+in the list,
+.Ao Ar element Ac Ns Va _dev
+and
+.Ao Ar element Ac Ns Va _logfile
+elements are assumed to exist.
+.Ao Ar element Ac Ns Va _dev
+must contain the
+.Xr pflog 4
+interface to be watched by the named
+.Xr pflogd 8
+instance.
+.Ao Ar element Ac Ns Va _logfile
+must contain the name of the logfile that will be used by the
+.Xr pflogd 8
+instance.
 .It Va ftpproxy_enable
 .Pq Vt bool
 Set to
@@ -935,6 +962,19 @@ Empty by default.
 This variable contains additional flags passed to the
 .Xr ftp-proxy 8
 program.
+.It Va ftpproxy_instances
+.Pq Vt str
+Empty by default. If multiple instances of
+.Xr ftp-proxy 8
+are desired at boot time, 
+.Va ftpproxy_instances
+should contain a whitespace-seperated list of instance names. For each
+.Ar element
+in the list, a variable named
+.Ao Ar element Ac Ns Va _flags
+should be defined, containing the command-line flags to be passed to the
+.Xr ftp-proxy 8
+instance.
 .It Va pfsync_enable
 .Pq Vt bool
 Set to

From owner-svn-src-all@FreeBSD.ORG  Wed Nov 13 04:31:29 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id A5A6B1AF;
 Wed, 13 Nov 2013 04:31:29 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 9468E2173;
 Wed, 13 Nov 2013 04:31:29 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAD4VTpZ058171;
 Wed, 13 Nov 2013 04:31:29 GMT (envelope-from pfg@svn.freebsd.org)
Received: (from pfg@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAD4VRMa058157;
 Wed, 13 Nov 2013 04:31:27 GMT (envelope-from pfg@svn.freebsd.org)
Message-Id: <201311130431.rAD4VRMa058157@svn.freebsd.org>
From: "Pedro F. Giffuni" <pfg@FreeBSD.org>
Date: Wed, 13 Nov 2013 04:31:27 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258081 - in head/contrib/gcc: . cp doc
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Nov 2013 04:31:29 -0000

Author: pfg
Date: Wed Nov 13 04:31:27 2013
New Revision: 258081
URL: http://svnweb.freebsd.org/changeset/base/258081

Log:
  gcc: Backport fixes for -W parentheses in C++
  
  This fixes GCC 19564:
    http://gcc.gnu.org/ml/gcc-patches/2006-12/msg00868.html
    http://gcc.gnu.org/ml/gcc-patches/2006-12/msg01772.html
    http://gcc.gnu.org/ml/gcc-patches/2007-01/msg00545.html
  
  The patch and its fixes are used by Google in their enhanced gcc-4.2.1
  port and predates the license switch in GCC so they are still under
  GPLv2.
  
  MFC after:	3 weeks

Modified:
  head/contrib/gcc/ChangeLog.gcc43
  head/contrib/gcc/c-common.c
  head/contrib/gcc/c-common.h
  head/contrib/gcc/c-typeck.c
  head/contrib/gcc/cp/cp-tree.h
  head/contrib/gcc/cp/parser.c
  head/contrib/gcc/cp/pt.c
  head/contrib/gcc/cp/semantics.c
  head/contrib/gcc/cp/typeck.c
  head/contrib/gcc/doc/invoke.texi

Modified: head/contrib/gcc/ChangeLog.gcc43
==============================================================================
--- head/contrib/gcc/ChangeLog.gcc43	Wed Nov 13 03:50:31 2013	(r258080)
+++ head/contrib/gcc/ChangeLog.gcc43	Wed Nov 13 04:31:27 2013	(r258081)
@@ -232,6 +232,17 @@
 
 	* config.gcc: Support core2 processor.
 
+2006-12-13  Ian Lance Taylor  <iant@google.com> (r119855)
+
+	PR c++/19564
+	PR c++/19756
+	* c-typeck.c (parser_build_binary_op): Move parentheses warnings
+	to warn_about_parentheses in c-common.c.
+	* c-common.c (warn_about_parentheses): New function.
+	* c-common.h (warn_about_parentheses): Declare.
+	* doc/invoke.texi (Warning Options): Update -Wparentheses
+	description.
+
 2006-12-02  H.J. Lu  <hongjiu.lu@intel.com> (r119454 - partial)
 
 	PR target/30040

Modified: head/contrib/gcc/c-common.c
==============================================================================
--- head/contrib/gcc/c-common.c	Wed Nov 13 03:50:31 2013	(r258080)
+++ head/contrib/gcc/c-common.c	Wed Nov 13 04:31:27 2013	(r258081)
@@ -2585,9 +2585,13 @@ c_common_truthvalue_conversion (tree exp
       break;
 
     case MODIFY_EXPR:
-      if (!TREE_NO_WARNING (expr))
-	warning (OPT_Wparentheses,
-		 "suggest parentheses around assignment used as truth value");
+      if (!TREE_NO_WARNING (expr)
+	  && warn_parentheses)
+	{
+	  warning (OPT_Wparentheses,
+		   "suggest parentheses around assignment used as truth value");
+	  TREE_NO_WARNING (expr) = 1;
+	}
       break;
 
     default:
@@ -6471,5 +6475,87 @@ warn_array_subscript_with_type_char (tre
     warning (OPT_Wchar_subscripts, "array subscript has type %<char%>");
 }
 
+/* Implement -Wparentheses for the unexpected C precedence rules, to
+   cover cases like x + y << z which readers are likely to
+   misinterpret.  We have seen an expression in which CODE is a binary
+   operator used to combine expressions headed by CODE_LEFT and
+   CODE_RIGHT.  CODE_LEFT and CODE_RIGHT may be ERROR_MARK, which
+   means that that side of the expression was not formed using a
+   binary operator, or it was enclosed in parentheses.  */
+
+void
+warn_about_parentheses (enum tree_code code, enum tree_code code_left,
+			enum tree_code code_right)
+{
+  if (!warn_parentheses)
+    return;
+
+  if (code == LSHIFT_EXPR || code == RSHIFT_EXPR)
+    {
+      if (code_left == PLUS_EXPR || code_left == MINUS_EXPR
+	  || code_right == PLUS_EXPR || code_right == MINUS_EXPR)
+	warning (OPT_Wparentheses,
+		 "suggest parentheses around + or - inside shift");
+    }
+
+  if (code == TRUTH_ORIF_EXPR)
+    {
+      if (code_left == TRUTH_ANDIF_EXPR
+	  || code_right == TRUTH_ANDIF_EXPR)
+	warning (OPT_Wparentheses,
+		 "suggest parentheses around && within ||");
+    }
+
+  if (code == BIT_IOR_EXPR)
+    {
+      if (code_left == BIT_AND_EXPR || code_left == BIT_XOR_EXPR
+	  || code_left == PLUS_EXPR || code_left == MINUS_EXPR
+	  || code_right == BIT_AND_EXPR || code_right == BIT_XOR_EXPR
+	  || code_right == PLUS_EXPR || code_right == MINUS_EXPR)
+	warning (OPT_Wparentheses,
+		 "suggest parentheses around arithmetic in operand of |");
+      /* Check cases like x|y==z */
+      if (TREE_CODE_CLASS (code_left) == tcc_comparison
+	  || TREE_CODE_CLASS (code_right) == tcc_comparison)
+	warning (OPT_Wparentheses,
+		 "suggest parentheses around comparison in operand of |");
+    }
+
+  if (code == BIT_XOR_EXPR)
+    {
+      if (code_left == BIT_AND_EXPR
+	  || code_left == PLUS_EXPR || code_left == MINUS_EXPR
+	  || code_right == BIT_AND_EXPR
+	  || code_right == PLUS_EXPR || code_right == MINUS_EXPR)
+	warning (OPT_Wparentheses,
+		 "suggest parentheses around arithmetic in operand of ^");
+      /* Check cases like x^y==z */
+      if (TREE_CODE_CLASS (code_left) == tcc_comparison
+	  || TREE_CODE_CLASS (code_right) == tcc_comparison)
+	warning (OPT_Wparentheses,
+		 "suggest parentheses around comparison in operand of ^");
+    }
+
+  if (code == BIT_AND_EXPR)
+    {
+      if (code_left == PLUS_EXPR || code_left == MINUS_EXPR
+	  || code_right == PLUS_EXPR || code_right == MINUS_EXPR)
+	warning (OPT_Wparentheses,
+		 "suggest parentheses around + or - in operand of &");
+      /* Check cases like x&y==z */
+      if (TREE_CODE_CLASS (code_left) == tcc_comparison
+	  || TREE_CODE_CLASS (code_right) == tcc_comparison)
+	warning (OPT_Wparentheses,
+		 "suggest parentheses around comparison in operand of &");
+    }
+
+  /* Similarly, check for cases like 1<=i<=10 that are probably errors.  */
+  if (TREE_CODE_CLASS (code) == tcc_comparison
+      && (TREE_CODE_CLASS (code_left) == tcc_comparison
+	  || TREE_CODE_CLASS (code_right) == tcc_comparison))
+    warning (OPT_Wparentheses, "comparisons like X<=Y<=Z do not "
+	     "have their mathematical meaning");
+}
+
 
 #include "gt-c-common.h"

Modified: head/contrib/gcc/c-common.h
==============================================================================
--- head/contrib/gcc/c-common.h	Wed Nov 13 03:50:31 2013	(r258080)
+++ head/contrib/gcc/c-common.h	Wed Nov 13 04:31:27 2013	(r258081)
@@ -850,6 +850,9 @@ extern int complete_array_type (tree *, 
 extern tree builtin_type_for_size (int, bool);
 
 extern void warn_array_subscript_with_type_char (tree);
+extern void warn_about_parentheses (enum tree_code, enum tree_code,
+				    enum tree_code);
+
 
 /* In c-gimplify.c  */
 extern void c_genericize (tree);

Modified: head/contrib/gcc/c-typeck.c
==============================================================================
--- head/contrib/gcc/c-typeck.c	Wed Nov 13 03:50:31 2013	(r258080)
+++ head/contrib/gcc/c-typeck.c	Wed Nov 13 04:31:27 2013	(r258081)
@@ -2631,73 +2631,7 @@ parser_build_binary_op (enum tree_code c
   /* Check for cases such as x+y<<z which users are likely
      to misinterpret.  */
   if (warn_parentheses)
-    {
-      if (code == LSHIFT_EXPR || code == RSHIFT_EXPR)
-	{
-	  if (code1 == PLUS_EXPR || code1 == MINUS_EXPR
-	      || code2 == PLUS_EXPR || code2 == MINUS_EXPR)
-	    warning (OPT_Wparentheses,
-		     "suggest parentheses around + or - inside shift");
-	}
-
-      if (code == TRUTH_ORIF_EXPR)
-	{
-	  if (code1 == TRUTH_ANDIF_EXPR
-	      || code2 == TRUTH_ANDIF_EXPR)
-	    warning (OPT_Wparentheses,
-		     "suggest parentheses around && within ||");
-	}
-
-      if (code == BIT_IOR_EXPR)
-	{
-	  if (code1 == BIT_AND_EXPR || code1 == BIT_XOR_EXPR
-	      || code1 == PLUS_EXPR || code1 == MINUS_EXPR
-	      || code2 == BIT_AND_EXPR || code2 == BIT_XOR_EXPR
-	      || code2 == PLUS_EXPR || code2 == MINUS_EXPR)
-	    warning (OPT_Wparentheses,
-		     "suggest parentheses around arithmetic in operand of |");
-	  /* Check cases like x|y==z */
-	  if (TREE_CODE_CLASS (code1) == tcc_comparison
-	      || TREE_CODE_CLASS (code2) == tcc_comparison)
-	    warning (OPT_Wparentheses,
-		     "suggest parentheses around comparison in operand of |");
-	}
-
-      if (code == BIT_XOR_EXPR)
-	{
-	  if (code1 == BIT_AND_EXPR
-	      || code1 == PLUS_EXPR || code1 == MINUS_EXPR
-	      || code2 == BIT_AND_EXPR
-	      || code2 == PLUS_EXPR || code2 == MINUS_EXPR)
-	    warning (OPT_Wparentheses,
-		     "suggest parentheses around arithmetic in operand of ^");
-	  /* Check cases like x^y==z */
-	  if (TREE_CODE_CLASS (code1) == tcc_comparison
-	      || TREE_CODE_CLASS (code2) == tcc_comparison)
-	    warning (OPT_Wparentheses,
-		     "suggest parentheses around comparison in operand of ^");
-	}
-
-      if (code == BIT_AND_EXPR)
-	{
-	  if (code1 == PLUS_EXPR || code1 == MINUS_EXPR
-	      || code2 == PLUS_EXPR || code2 == MINUS_EXPR)
-	    warning (OPT_Wparentheses,
-		     "suggest parentheses around + or - in operand of &");
-	  /* Check cases like x&y==z */
-	  if (TREE_CODE_CLASS (code1) == tcc_comparison
-	      || TREE_CODE_CLASS (code2) == tcc_comparison)
-	    warning (OPT_Wparentheses,
-		     "suggest parentheses around comparison in operand of &");
-	}
-      /* Similarly, check for cases like 1<=i<=10 that are probably errors.  */
-      if (TREE_CODE_CLASS (code) == tcc_comparison
-	  && (TREE_CODE_CLASS (code1) == tcc_comparison
-	      || TREE_CODE_CLASS (code2) == tcc_comparison))
-	warning (OPT_Wparentheses, "comparisons like X<=Y<=Z do not "
-		 "have their mathematical meaning");
-
-    }
+    warn_about_parentheses (code, code1, code2);
 
   /* Warn about comparisons against string literals, with the exception
      of testing for equality or inequality of a string literal with NULL.  */

Modified: head/contrib/gcc/cp/cp-tree.h
==============================================================================
--- head/contrib/gcc/cp/cp-tree.h	Wed Nov 13 03:50:31 2013	(r258080)
+++ head/contrib/gcc/cp/cp-tree.h	Wed Nov 13 04:31:27 2013	(r258081)
@@ -4460,8 +4460,9 @@ extern tree build_x_indirect_ref		(tree,
 extern tree build_indirect_ref			(tree, const char *);
 extern tree build_array_ref			(tree, tree);
 extern tree get_member_function_from_ptrfunc	(tree *, tree);
-extern tree build_x_binary_op			(enum tree_code, tree, tree,
-						 bool *);
+extern tree build_x_binary_op			(enum tree_code, tree,
+						 enum tree_code, tree,
+						 enum tree_code, bool *);
 extern tree build_x_unary_op			(enum tree_code, tree);
 extern tree unary_complex_lvalue		(enum tree_code, tree);
 extern tree build_x_conditional_expr		(tree, tree, tree);

Modified: head/contrib/gcc/cp/parser.c
==============================================================================
--- head/contrib/gcc/cp/parser.c	Wed Nov 13 03:50:31 2013	(r258080)
+++ head/contrib/gcc/cp/parser.c	Wed Nov 13 04:31:27 2013	(r258081)
@@ -1177,8 +1177,15 @@ typedef enum cp_parser_status_kind
 
 typedef struct cp_parser_expression_stack_entry
 {
+  /* Left hand side of the binary operation we are currently
+     parsing.  */
   tree lhs;
+  /* Original tree code for left hand side, if it was a binary
+     expression itself (used for -Wparentheses).  */
+  enum tree_code lhs_type;
+  /* Tree code for the binary operation we are parsing.  */
   enum tree_code tree_type;
+  /* Precedence of the binary operation we are parsing.  */
   int prec;
 } cp_parser_expression_stack_entry;
 
@@ -1536,7 +1543,7 @@ static tree cp_parser_builtin_offsetof
 /* Statements [gram.stmt.stmt]  */
 
 static void cp_parser_statement
-  (cp_parser *, tree, bool);
+  (cp_parser *, tree, bool, bool *);
 static void cp_parser_label_for_labeled_statement
   (cp_parser *);
 static tree cp_parser_expression_statement
@@ -1546,7 +1553,7 @@ static tree cp_parser_compound_statement
 static void cp_parser_statement_seq_opt
   (cp_parser *, tree);
 static tree cp_parser_selection_statement
-  (cp_parser *);
+  (cp_parser *, bool *);
 static tree cp_parser_condition
   (cp_parser *);
 static tree cp_parser_iteration_statement
@@ -1559,7 +1566,7 @@ static void cp_parser_declaration_statem
   (cp_parser *);
 
 static tree cp_parser_implicitly_scoped_statement
-  (cp_parser *);
+  (cp_parser *, bool *);
 static void cp_parser_already_scoped_statement
   (cp_parser *);
 
@@ -5730,12 +5737,13 @@ cp_parser_binary_expression (cp_parser* 
   cp_parser_expression_stack_entry *sp = &stack[0];
   tree lhs, rhs;
   cp_token *token;
-  enum tree_code tree_type;
+  enum tree_code tree_type, lhs_type, rhs_type;
   enum cp_parser_prec prec = PREC_NOT_OPERATOR, new_prec, lookahead_prec;
   bool overloaded_p;
 
   /* Parse the first expression.  */
   lhs = cp_parser_cast_expression (parser, /*address_p=*/false, cast_p);
+  lhs_type = ERROR_MARK;
 
   for (;;)
     {
@@ -5768,6 +5776,7 @@ cp_parser_binary_expression (cp_parser* 
       /* Extract another operand.  It may be the RHS of this expression
 	 or the LHS of a new, higher priority expression.  */
       rhs = cp_parser_simple_cast_expression (parser);
+      rhs_type = ERROR_MARK;
 
       /* Get another operator token.  Look up its precedence to avoid
 	 building a useless (immediately popped) stack entry for common
@@ -5783,8 +5792,10 @@ cp_parser_binary_expression (cp_parser* 
 	  sp->prec = prec;
 	  sp->tree_type = tree_type;
 	  sp->lhs = lhs;
+	  sp->lhs_type = lhs_type;
 	  sp++;
 	  lhs = rhs;
+	  lhs_type = rhs_type;
 	  prec = new_prec;
 	  new_prec = lookahead_prec;
 	  goto get_rhs;
@@ -5801,11 +5812,15 @@ cp_parser_binary_expression (cp_parser* 
 	  prec = sp->prec;
 	  tree_type = sp->tree_type;
 	  rhs = lhs;
+	  rhs_type = lhs_type;
 	  lhs = sp->lhs;
+	  lhs_type = sp->lhs_type;
 	}
 
       overloaded_p = false;
-      lhs = build_x_binary_op (tree_type, lhs, rhs, &overloaded_p);
+      lhs = build_x_binary_op (tree_type, lhs, lhs_type, rhs, rhs_type,
+			       &overloaded_p);
+      lhs_type = tree_type;
 
       /* If the binary operator required the use of an overloaded operator,
 	 then this expression cannot be an integral constant-expression.
@@ -6222,17 +6237,23 @@ cp_parser_builtin_offsetof (cp_parser *p
      try-block
 
   IN_COMPOUND is true when the statement is nested inside a
-  cp_parser_compound_statement; this matters for certain pragmas.  */
+  cp_parser_compound_statement; this matters for certain pragmas.
+
+  If IF_P is not NULL, *IF_P is set to indicate whether the statement
+  is a (possibly labeled) if statement which is not enclosed in braces
+  and has an else clause.  This is used to implement -Wparentheses.  */
 
 static void
 cp_parser_statement (cp_parser* parser, tree in_statement_expr,
-		     bool in_compound)
+		     bool in_compound, bool *if_p)
 {
   tree statement;
   cp_token *token;
   location_t statement_location;
 
  restart:
+  if (if_p != NULL)
+    *if_p = false;
   /* There is no statement yet.  */
   statement = NULL_TREE;
   /* Peek at the next token.  */
@@ -6257,7 +6278,7 @@ cp_parser_statement (cp_parser* parser, 
 
 	case RID_IF:
 	case RID_SWITCH:
-	  statement = cp_parser_selection_statement (parser);
+	  statement = cp_parser_selection_statement (parser, if_p);
 	  break;
 
 	case RID_WHILE:
@@ -6522,7 +6543,7 @@ cp_parser_statement_seq_opt (cp_parser* 
 	break;
 
       /* Parse the statement.  */
-      cp_parser_statement (parser, in_statement_expr, true);
+      cp_parser_statement (parser, in_statement_expr, true, NULL);
     }
 }
 
@@ -6533,14 +6554,22 @@ cp_parser_statement_seq_opt (cp_parser* 
      if ( condition ) statement else statement
      switch ( condition ) statement
 
-   Returns the new IF_STMT or SWITCH_STMT.  */
+   Returns the new IF_STMT or SWITCH_STMT.
+
+   If IF_P is not NULL, *IF_P is set to indicate whether the statement
+   is a (possibly labeled) if statement which is not enclosed in
+   braces and has an else clause.  This is used to implement
+   -Wparentheses.  */
 
 static tree
-cp_parser_selection_statement (cp_parser* parser)
+cp_parser_selection_statement (cp_parser* parser, bool *if_p)
 {
   cp_token *token;
   enum rid keyword;
 
+  if (if_p != NULL)
+    *if_p = false;
+
   /* Peek at the next token.  */
   token = cp_parser_require (parser, CPP_KEYWORD, "selection-statement");
 
@@ -6576,11 +6605,13 @@ cp_parser_selection_statement (cp_parser
 
 	if (keyword == RID_IF)
 	  {
+	    bool nested_if;
+
 	    /* Add the condition.  */
 	    finish_if_stmt_cond (condition, statement);
 
 	    /* Parse the then-clause.  */
-	    cp_parser_implicitly_scoped_statement (parser);
+	    cp_parser_implicitly_scoped_statement (parser, &nested_if);
 	    finish_then_clause (statement);
 
 	    /* If the next token is `else', parse the else-clause.  */
@@ -6591,8 +6622,28 @@ cp_parser_selection_statement (cp_parser
 		cp_lexer_consume_token (parser->lexer);
 		begin_else_clause (statement);
 		/* Parse the else-clause.  */
-		cp_parser_implicitly_scoped_statement (parser);
+		cp_parser_implicitly_scoped_statement (parser, NULL);
 		finish_else_clause (statement);
+
+		/* If we are currently parsing a then-clause, then
+		   IF_P will not be NULL.  We set it to true to
+		   indicate that this if statement has an else clause.
+		   This may trigger the Wparentheses warning below
+		   when we get back up to the parent if statement.  */
+		if (if_p != NULL)
+		  *if_p = true;
+	      }
+	    else
+	      {
+		/* This if statement does not have an else clause.  If
+		   NESTED_IF is true, then the then-clause is an if
+		   statement which does have an else clause.  We warn
+		   about the potential ambiguity.  */
+		if (nested_if)
+		  warning (OPT_Wparentheses,
+			   ("%Hsuggest explicit braces "
+			    "to avoid ambiguous %<else%>"),
+			   EXPR_LOCUS (statement));
 	      }
 
 	    /* Now we're all done with the if-statement.  */
@@ -6611,7 +6662,7 @@ cp_parser_selection_statement (cp_parser
 	    in_statement = parser->in_statement;
 	    parser->in_switch_statement_p = true;
 	    parser->in_statement |= IN_SWITCH_STMT;
-	    cp_parser_implicitly_scoped_statement (parser);
+	    cp_parser_implicitly_scoped_statement (parser, NULL);
 	    parser->in_switch_statement_p = in_switch_statement_p;
 	    parser->in_statement = in_statement;
 
@@ -6789,7 +6840,7 @@ cp_parser_iteration_statement (cp_parser
 	statement = begin_do_stmt ();
 	/* Parse the body of the do-statement.  */
 	parser->in_statement = IN_ITERATION_STMT;
-	cp_parser_implicitly_scoped_statement (parser);
+	cp_parser_implicitly_scoped_statement (parser, NULL);
 	parser->in_statement = in_statement;
 	finish_do_body (statement);
 	/* Look for the `while' keyword.  */
@@ -7031,13 +7082,21 @@ cp_parser_declaration_statement (cp_pars
    but ensures that is in its own scope, even if it is not a
    compound-statement.
 
+   If IF_P is not NULL, *IF_P is set to indicate whether the statement
+   is a (possibly labeled) if statement which is not enclosed in
+   braces and has an else clause.  This is used to implement
+   -Wparentheses.
+
    Returns the new statement.  */
 
 static tree
-cp_parser_implicitly_scoped_statement (cp_parser* parser)
+cp_parser_implicitly_scoped_statement (cp_parser* parser, bool *if_p)
 {
   tree statement;
 
+  if (if_p != NULL)
+    *if_p = false;
+
   /* Mark if () ; with a special NOP_EXPR.  */
   if (cp_lexer_next_token_is (parser->lexer, CPP_SEMICOLON))
     {
@@ -7053,7 +7112,7 @@ cp_parser_implicitly_scoped_statement (c
       /* Create a compound-statement.  */
       statement = begin_compound_stmt (0);
       /* Parse the dependent-statement.  */
-      cp_parser_statement (parser, NULL_TREE, false);
+      cp_parser_statement (parser, NULL_TREE, false, if_p);
       /* Finish the dummy compound-statement.  */
       finish_compound_stmt (statement);
     }
@@ -7072,7 +7131,7 @@ cp_parser_already_scoped_statement (cp_p
 {
   /* If the token is a `{', then we must take special action.  */
   if (cp_lexer_next_token_is_not (parser->lexer, CPP_OPEN_BRACE))
-    cp_parser_statement (parser, NULL_TREE, false);
+    cp_parser_statement (parser, NULL_TREE, false, NULL);
   else
     {
       /* Avoid calling cp_parser_compound_statement, so that we
@@ -18645,7 +18704,7 @@ cp_parser_omp_structured_block (cp_parse
   tree stmt = begin_omp_structured_block ();
   unsigned int save = cp_parser_begin_omp_structured_block (parser);
 
-  cp_parser_statement (parser, NULL_TREE, false);
+  cp_parser_statement (parser, NULL_TREE, false, NULL);
 
   cp_parser_end_omp_structured_block (parser, save);
   return finish_omp_structured_block (stmt);
@@ -18890,7 +18949,7 @@ cp_parser_omp_for_loop (cp_parser *parse
   /* Note that the grammar doesn't call for a structured block here,
      though the loop as a whole is a structured block.  */
   body = push_stmt_list ();
-  cp_parser_statement (parser, NULL_TREE, false);
+  cp_parser_statement (parser, NULL_TREE, false, NULL);
   body = pop_stmt_list (body);
 
   return finish_omp_for (loc, decl, init, cond, incr, body, pre_body);
@@ -18983,7 +19042,7 @@ cp_parser_omp_sections_scope (cp_parser 
 
       while (1)
 	{
-	  cp_parser_statement (parser, NULL_TREE, false);
+	  cp_parser_statement (parser, NULL_TREE, false, NULL);
 
 	  tok = cp_lexer_peek_token (parser->lexer);
 	  if (tok->pragma_kind == PRAGMA_OMP_SECTION)

Modified: head/contrib/gcc/cp/pt.c
==============================================================================
--- head/contrib/gcc/cp/pt.c	Wed Nov 13 03:50:31 2013	(r258080)
+++ head/contrib/gcc/cp/pt.c	Wed Nov 13 04:31:27 2013	(r258081)
@@ -9078,7 +9078,13 @@ tsubst_copy_and_build (tree t,
       return build_x_binary_op
 	(TREE_CODE (t),
 	 RECUR (TREE_OPERAND (t, 0)),
+	 (TREE_NO_WARNING (TREE_OPERAND (t, 0))
+	  ? ERROR_MARK
+	  : TREE_CODE (TREE_OPERAND (t, 0))),
 	 RECUR (TREE_OPERAND (t, 1)),
+	 (TREE_NO_WARNING (TREE_OPERAND (t, 1))
+	  ? ERROR_MARK
+	  : TREE_CODE (TREE_OPERAND (t, 1))),
 	 /*overloaded_p=*/NULL);
 
     case SCOPE_REF:
@@ -9087,7 +9093,14 @@ tsubst_copy_and_build (tree t,
     case ARRAY_REF:
       op1 = tsubst_non_call_postfix_expression (TREE_OPERAND (t, 0),
 						args, complain, in_decl);
-      return build_x_binary_op (ARRAY_REF, op1, RECUR (TREE_OPERAND (t, 1)),
+      return build_x_binary_op (ARRAY_REF, op1,
+				(TREE_NO_WARNING (TREE_OPERAND (t, 0))
+				 ? ERROR_MARK
+				 : TREE_CODE (TREE_OPERAND (t, 0))),
+				RECUR (TREE_OPERAND (t, 1)),
+				(TREE_NO_WARNING (TREE_OPERAND (t, 1))
+				 ? ERROR_MARK
+				 : TREE_CODE (TREE_OPERAND (t, 1))),
 				/*overloaded_p=*/NULL);
 
     case SIZEOF_EXPR:

Modified: head/contrib/gcc/cp/semantics.c
==============================================================================
--- head/contrib/gcc/cp/semantics.c	Wed Nov 13 03:50:31 2013	(r258080)
+++ head/contrib/gcc/cp/semantics.c	Wed Nov 13 04:31:27 2013	(r258081)
@@ -587,6 +587,16 @@ maybe_convert_cond (tree cond)
 
   /* Do the conversion.  */
   cond = convert_from_reference (cond);
+
+  if (TREE_CODE (cond) == MODIFY_EXPR
+      && !TREE_NO_WARNING (cond)
+      && warn_parentheses)
+    {
+      warning (OPT_Wparentheses,
+	       "suggest parentheses around assignment used as truth value");
+      TREE_NO_WARNING (cond) = 1;
+    }
+
   return condition_conversion (cond);
 }
 

Modified: head/contrib/gcc/cp/typeck.c
==============================================================================
--- head/contrib/gcc/cp/typeck.c	Wed Nov 13 03:50:31 2013	(r258080)
+++ head/contrib/gcc/cp/typeck.c	Wed Nov 13 04:31:27 2013	(r258081)
@@ -1690,17 +1690,20 @@ rationalize_conditional_expr (enum tree_
      are equal, so we know what conditional expression this used to be.  */
   if (TREE_CODE (t) == MIN_EXPR || TREE_CODE (t) == MAX_EXPR)
     {
+      tree op0 = TREE_OPERAND (t, 0);
+      tree op1 = TREE_OPERAND (t, 1);
+
       /* The following code is incorrect if either operand side-effects.  */
-      gcc_assert (!TREE_SIDE_EFFECTS (TREE_OPERAND (t, 0))
-		  && !TREE_SIDE_EFFECTS (TREE_OPERAND (t, 1)));
+      gcc_assert (!TREE_SIDE_EFFECTS (op0)
+		  && !TREE_SIDE_EFFECTS (op1));
       return
 	build_conditional_expr (build_x_binary_op ((TREE_CODE (t) == MIN_EXPR
 						    ? LE_EXPR : GE_EXPR),
-						   TREE_OPERAND (t, 0),
-						   TREE_OPERAND (t, 1),
+						   op0, TREE_CODE (op0),
+						   op1, TREE_CODE (op1),
 						   /*overloaded_p=*/NULL),
-			    build_unary_op (code, TREE_OPERAND (t, 0), 0),
-			    build_unary_op (code, TREE_OPERAND (t, 1), 0));
+			    build_unary_op (code, op0, 0),
+			    build_unary_op (code, op1, 0));
     }
 
   return
@@ -2908,8 +2911,8 @@ convert_arguments (tree typelist, tree v
    conversions on the operands.  CODE is the kind of expression to build.  */
 
 tree
-build_x_binary_op (enum tree_code code, tree arg1, tree arg2,
-		   bool *overloaded_p)
+build_x_binary_op (enum tree_code code, tree arg1, enum tree_code arg1_code,
+		   tree arg2, enum tree_code arg2_code, bool *overloaded_p)
 {
   tree orig_arg1;
   tree orig_arg2;
@@ -2933,6 +2936,17 @@ build_x_binary_op (enum tree_code code, 
     expr = build_new_op (code, LOOKUP_NORMAL, arg1, arg2, NULL_TREE,
 			 overloaded_p);
 
+  /* Check for cases such as x+y<<z which users are likely to
+     misinterpret.  But don't warn about obj << x + y, since that is a
+     common idiom for I/O.  */
+  if (warn_parentheses
+      && !processing_template_decl
+      && !error_operand_p (arg1)
+      && !error_operand_p (arg2)
+      && (code != LSHIFT_EXPR
+	  || !IS_AGGR_TYPE (TREE_TYPE (arg1))))
+    warn_about_parentheses (code, arg1_code, arg2_code);
+
   if (processing_template_decl && expr != error_mark_node)
     return build_min_non_dep (code, expr, orig_arg1, orig_arg2);
 
@@ -6280,6 +6294,19 @@ convert_for_assignment (tree type, tree 
 		 errtype);
     }
 
+  /* If -Wparentheses, warn about a = b = c when a has type bool and b
+     does not.  */
+  if (warn_parentheses
+      && type == boolean_type_node
+      && TREE_CODE (rhs) == MODIFY_EXPR
+      && !TREE_NO_WARNING (rhs)
+      && TREE_TYPE (rhs) != boolean_type_node)
+    {
+      warning (OPT_Wparentheses,
+	       "suggest parentheses around assignment used as truth value");
+      TREE_NO_WARNING (rhs) = 1;
+    }
+
   return perform_implicit_conversion (strip_top_quals (type), rhs);
 }
 

Modified: head/contrib/gcc/doc/invoke.texi
==============================================================================
--- head/contrib/gcc/doc/invoke.texi	Wed Nov 13 03:50:31 2013	(r258080)
+++ head/contrib/gcc/doc/invoke.texi	Wed Nov 13 04:31:27 2013	(r258081)
@@ -2212,9 +2212,7 @@ Warn if a user-supplied include director
 Warn if parentheses are omitted in certain contexts, such
 as when there is an assignment in a context where a truth value
 is expected, or when operators are nested whose precedence people
-often get confused about.  Only the warning for an assignment used as
-a truth value is supported when compiling C++; the other warnings are
-only supported when compiling C@.
+often get confused about.
 
 Also warn if a comparison like @samp{x<=y<=z} appears; this is
 equivalent to @samp{(x<=y ? 1 : 0) <= z}, which is a different
@@ -2236,14 +2234,15 @@ such a case:
 @end group
 @end smallexample
 
-In C, every @code{else} branch belongs to the innermost possible @code{if}
-statement, which in this example is @code{if (b)}.  This is often not
-what the programmer expected, as illustrated in the above example by
-indentation the programmer chose.  When there is the potential for this
-confusion, GCC will issue a warning when this flag is specified.
-To eliminate the warning, add explicit braces around the innermost
-@code{if} statement so there is no way the @code{else} could belong to
-the enclosing @code{if}.  The resulting code would look like this:
+In C/C++, every @code{else} branch belongs to the innermost possible
+@code{if} statement, which in this example is @code{if (b)}.  This is
+often not what the programmer expected, as illustrated in the above
+example by indentation the programmer chose.  When there is the
+potential for this confusion, GCC will issue a warning when this flag
+is specified.  To eliminate the warning, add explicit braces around
+the innermost @code{if} statement so there is no way the @code{else}
+could belong to the enclosing @code{if}.  The resulting code would
+look like this:
 
 @smallexample
 @group

From owner-svn-src-all@FreeBSD.ORG  Wed Nov 13 05:21:42 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 076798F4;
 Wed, 13 Nov 2013 05:21:42 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id D216523DB;
 Wed, 13 Nov 2013 05:21:41 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAD5LfnF074788;
 Wed, 13 Nov 2013 05:21:41 GMT (envelope-from kevlo@svn.freebsd.org)
Received: (from kevlo@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAD5LfW0074787;
 Wed, 13 Nov 2013 05:21:41 GMT (envelope-from kevlo@svn.freebsd.org)
Message-Id: <201311130521.rAD5LfW0074787@svn.freebsd.org>
From: Kevin Lo <kevlo@FreeBSD.org>
Date: Wed, 13 Nov 2013 05:21:41 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258082 - head/sys/dev/usb/wlan
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Nov 2013 05:21:42 -0000

Author: kevlo
Date: Wed Nov 13 05:21:41 2013
New Revision: 258082
URL: http://svnweb.freebsd.org/changeset/base/258082

Log:
  - Use bit twiddling macro to set IEEE80211_MODE_11A
  - On the RT3572 chipset, there's no need to configure BBP register 86

Modified:
  head/sys/dev/usb/wlan/if_run.c

Modified: head/sys/dev/usb/wlan/if_run.c
==============================================================================
--- head/sys/dev/usb/wlan/if_run.c	Wed Nov 13 04:31:27 2013	(r258081)
+++ head/sys/dev/usb/wlan/if_run.c	Wed Nov 13 05:21:41 2013	(r258082)
@@ -568,7 +568,7 @@ run_attach(device_t self)
 	struct ieee80211com *ic;
 	struct ifnet *ifp;
 	uint32_t ver;
-	int i, ntries, error;
+	int ntries, error;
 	uint8_t iface_index, bands;
 
 	device_set_usb_desc(self);
@@ -665,27 +665,11 @@ run_attach(device_t self)
 	bands = 0;
 	setbit(&bands, IEEE80211_MODE_11B);
 	setbit(&bands, IEEE80211_MODE_11G);
+	if (sc->rf_rev == RT2860_RF_2750 || sc->rf_rev == RT2860_RF_2850 ||
+	    sc->rf_rev == RT3070_RF_3052)
+		setbit(&bands, IEEE80211_MODE_11A);
 	ieee80211_init_channels(ic, NULL, &bands);
 
-	/*
-	 * Do this by own because h/w supports
-	 * more channels than ieee80211_init_channels()
-	 */
-	if (sc->rf_rev == RT2860_RF_2750 ||
-	    sc->rf_rev == RT2860_RF_2850 ||
-	    sc->rf_rev == RT3070_RF_3052) {
-		/* set supported .11a rates */
-		for (i = 14; i < nitems(rt2860_rf2850); i++) {
-			uint8_t chan = rt2860_rf2850[i].chan;
-			ic->ic_channels[ic->ic_nchans].ic_freq =
-			    ieee80211_ieee2mhz(chan, IEEE80211_CHAN_A);
-			ic->ic_channels[ic->ic_nchans].ic_ieee = chan;
-			ic->ic_channels[ic->ic_nchans].ic_flags = IEEE80211_CHAN_A;
-			ic->ic_channels[ic->ic_nchans].ic_extieee = 0;
-			ic->ic_nchans++;
-		}
-	}
-
 	ieee80211_ifattach(ic, sc->sc_bssid);
 
 	ic->ic_scan_start = run_scan_start;
@@ -3581,7 +3565,7 @@ run_select_chan_group(struct run_softc *
 	run_bbp_write(sc, 62, 0x37 - sc->lna[group]);
 	run_bbp_write(sc, 63, 0x37 - sc->lna[group]);
 	run_bbp_write(sc, 64, 0x37 - sc->lna[group]);
-	if (sc->mac_ver < 0x5390)
+	if (sc->mac_ver < 0x3572)
 		run_bbp_write(sc, 86, 0x00);
 
 	if (group == 0) {

From owner-svn-src-all@FreeBSD.ORG  Wed Nov 13 05:22:39 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id C3AAEA46;
 Wed, 13 Nov 2013 05:22:39 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id B348923EA;
 Wed, 13 Nov 2013 05:22:39 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAD5MdCP074984;
 Wed, 13 Nov 2013 05:22:39 GMT (envelope-from kevlo@svn.freebsd.org)
Received: (from kevlo@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAD5MdHS074983;
 Wed, 13 Nov 2013 05:22:39 GMT (envelope-from kevlo@svn.freebsd.org)
Message-Id: <201311130522.rAD5MdHS074983@svn.freebsd.org>
From: Kevin Lo <kevlo@FreeBSD.org>
Date: Wed, 13 Nov 2013 05:22:39 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258083 - head/sys/dev/usb/wlan
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Nov 2013 05:22:39 -0000

Author: kevlo
Date: Wed Nov 13 05:22:39 2013
New Revision: 258083
URL: http://svnweb.freebsd.org/changeset/base/258083

Log:
  Remove a couple of unused macros.

Modified:
  head/sys/dev/usb/wlan/if_runreg.h

Modified: head/sys/dev/usb/wlan/if_runreg.h
==============================================================================
--- head/sys/dev/usb/wlan/if_runreg.h	Wed Nov 13 05:21:41 2013	(r258082)
+++ head/sys/dev/usb/wlan/if_runreg.h	Wed Nov 13 05:22:39 2013	(r258083)
@@ -934,31 +934,6 @@ static const struct rt2860_rate {
 };
 
 /*
- * Control and status registers access macros.
- */
-#define RAL_READ(sc, reg)						\
-	bus_space_read_4((sc)->sc_st, (sc)->sc_sh, (reg))
-
-#define RAL_WRITE(sc, reg, val)						\
-	bus_space_write_4((sc)->sc_st, (sc)->sc_sh, (reg), (val))
-
-#define RAL_BARRIER_WRITE(sc)						\
-	bus_space_barrier((sc)->sc_st, (sc)->sc_sh, 0, 0x1800,		\
-	    BUS_SPACE_BARRIER_WRITE)
-
-#define RAL_BARRIER_READ_WRITE(sc)					\
-	bus_space_barrier((sc)->sc_st, (sc)->sc_sh, 0, 0x1800,		\
-	    BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE)
-
-#define RAL_WRITE_REGION_1(sc, offset, datap, count)			\
-	bus_space_write_region_1((sc)->sc_st, (sc)->sc_sh, (offset),	\
-	    (datap), (count))
-
-#define RAL_SET_REGION_4(sc, offset, val, count)			\
-	bus_space_set_region_4((sc)->sc_st, (sc)->sc_sh, (offset),	\
-	    (val), (count))
-
-/*
  * EEPROM access macro.
  */
 #define RT2860_EEPROM_CTL(sc, val) do {					\

From owner-svn-src-all@FreeBSD.ORG  Wed Nov 13 05:25:49 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id C30D8BAC;
 Wed, 13 Nov 2013 05:25:49 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id B34D323FF;
 Wed, 13 Nov 2013 05:25:49 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAD5PncN075353;
 Wed, 13 Nov 2013 05:25:49 GMT (envelope-from gjb@svn.freebsd.org)
Received: (from gjb@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAD5PnBS075352;
 Wed, 13 Nov 2013 05:25:49 GMT (envelope-from gjb@svn.freebsd.org)
Message-Id: <201311130525.rAD5PnBS075352@svn.freebsd.org>
From: Glen Barber <gjb@FreeBSD.org>
Date: Wed, 13 Nov 2013 05:25:49 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258084 - head/usr.bin/svn/svn
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Nov 2013 05:25:49 -0000

Author: gjb
Date: Wed Nov 13 05:25:49 2013
New Revision: 258084
URL: http://svnweb.freebsd.org/changeset/base/258084

Log:
  Somewhat mimic how the devel/subversion port prepopulates
  'Sponsored by:' in the FreeBSD commit template.
  
  Support for this has already existed ^/head/contrib/subversion
  but it was not enabled in usr.bin/svn/svn/Makefile.
  
  To use the pre-populated 'Sponsored by:' entry, set ORGANIZATION
  in make.conf(5), for example:
  
      ORGANIZATION=   "The FreeBSD Foundation"
  
  Reviewed by:	peter
  Sponsored by:	The FreeBSD Foundation

Modified:
  head/usr.bin/svn/svn/Makefile

Modified: head/usr.bin/svn/svn/Makefile
==============================================================================
--- head/usr.bin/svn/svn/Makefile	Wed Nov 13 05:22:39 2013	(r258083)
+++ head/usr.bin/svn/svn/Makefile	Wed Nov 13 05:25:49 2013	(r258084)
@@ -53,4 +53,13 @@ DPADD=	${LIBSVN_CLIENT} ${LIBSVN_WC} ${L
 	${LIBBSDXML} ${LIBAPR} ${LIBSQLITE} ${LIBZ} ${LIBCRYPT} ${LIBMAGIC} \
 	${LIBCRYPTO} ${LIBSSL} ${LIBPTHREAD}
 
+.if(defined(ORGANIZATION) && !empty(ORGANIZATION))
+DPSRCS+=	freebsd-organization.h
+CLEANFILES+=	freebsd-organization.h
+CFLAGS+=	-I. -DHAS_ORGANIZATION_NAME
+freebsd-organization.h:
+	@echo '#define ORGANIZATION_NAME ${ORGANIZATION}' \
+	    > freebsd-organization.h
+.endif
+
 .include <bsd.prog.mk>

From owner-svn-src-all@FreeBSD.ORG  Wed Nov 13 07:09:01 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 9550B1B2;
 Wed, 13 Nov 2013 07:09:01 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 6B451291A;
 Wed, 13 Nov 2013 07:09:01 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAD79134009352;
 Wed, 13 Nov 2013 07:09:01 GMT (envelope-from adrian@svn.freebsd.org)
Received: (from adrian@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAD791np009351;
 Wed, 13 Nov 2013 07:09:01 GMT (envelope-from adrian@svn.freebsd.org)
Message-Id: <201311130709.rAD791np009351@svn.freebsd.org>
From: Adrian Chadd <adrian@FreeBSD.org>
Date: Wed, 13 Nov 2013 07:09:01 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258085 - head/sys/dev/iwn
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Nov 2013 07:09:01 -0000

Author: adrian
Date: Wed Nov 13 07:09:00 2013
New Revision: 258085
URL: http://svnweb.freebsd.org/changeset/base/258085

Log:
  Correctly initialise the 2-chain antenna mask in the link quality table.
  
  The previous code simply hard-coded IWN_ANT_AB which is only correct for
  some of the NICs.
  
  Now, if the NIC is a 1-stream TX, you need to set IWN_ANT_AB and _not_
  just a single antenna.  The Intel 5100 firmware panics the moment the
  link quality table is updated.
  
  So!
  
  * no secondary antenna? Set it to IWN_ANT_AB;
  * two-stream device? Transmit on the full transmit antenna configuration.
  
  Tested:
  
  * Intel 5100, STA
  * Intel 2200 (eadler)
  
  Obtained from:	Linux iwlwifi

Modified:
  head/sys/dev/iwn/if_iwn.c

Modified: head/sys/dev/iwn/if_iwn.c
==============================================================================
--- head/sys/dev/iwn/if_iwn.c	Wed Nov 13 05:25:49 2013	(r258084)
+++ head/sys/dev/iwn/if_iwn.c	Wed Nov 13 07:09:00 2013	(r258085)
@@ -4788,11 +4788,49 @@ iwn_set_link_quality(struct iwn_softc *s
 	memset(&linkq, 0, sizeof linkq);
 	linkq.id = wn->id;
 	linkq.antmsk_1stream = txant;
-	linkq.antmsk_2stream = IWN_ANT_AB;
+
+	/*
+	 * The '2 stream' setup is a bit .. odd.
+	 *
+	 * For NICs that support only 1 antenna, default to IWN_ANT_AB or
+	 * the firmware panics (eg Intel 5100.)
+	 *
+	 * For NICs that support two antennas, we use ANT_AB.
+	 *
+	 * For NICs that support three antennas, we use the two that
+	 * wasn't the default one.
+	 *
+	 * XXX TODO: if bluetooth (full concurrent) is enabled, restrict
+	 * this to only one antenna.
+	 */
+
+	/* So - if there's no secondary antenna, assume IWN_ANT_AB */
+
+	/* Default - transmit on the other antennas */
+	linkq.antmsk_2stream = (sc->txchainmask & ~IWN_LSB(sc->txchainmask));
+
+	/* Now, if it's zero, set it to IWN_ANT_AB, so to not panic firmware */
+	if (linkq.antmsk_2stream == 0)
+		linkq.antmsk_2stream = IWN_ANT_AB;
+
+	/*
+	 * If the NIC is a two-stream TX NIC, configure the TX mask to
+	 * the default chainmask
+	 */
+	else if (sc->ntxchains == 2)
+		linkq.antmsk_2stream = sc->txchainmask;
+
 	linkq.ampdu_max = 32;		/* XXX negotiated? */
 	linkq.ampdu_threshold = 3;
 	linkq.ampdu_limit = htole16(4000);	/* 4ms */
 
+	DPRINTF(sc, IWN_DEBUG_XMIT,
+	    "%s: 1stream antenna=0x%02x, 2stream antenna=0x%02x, ntxstreams=%d\n",
+	    __func__,
+	    linkq.antmsk_1stream,
+	    linkq.antmsk_2stream,
+	    sc->ntxchains);
+
 	/*
 	 * Are we using 11n rates? Ensure the channel is
 	 * 11n _and_ we have some 11n rates, or don't

From owner-svn-src-all@FreeBSD.ORG  Wed Nov 13 07:28:30 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 9C0BE5B1;
 Wed, 13 Nov 2013 07:28:30 +0000 (UTC)
Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1])
 (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 2F9DF2A02;
 Wed, 13 Nov 2013 07:28:29 +0000 (UTC)
Received: from tom.home (kostik@localhost [127.0.0.1])
 by kib.kiev.ua (8.14.7/8.14.7) with ESMTP id rAD7SOEb020407;
 Wed, 13 Nov 2013 09:28:24 +0200 (EET)
 (envelope-from kostikbel@gmail.com)
DKIM-Filter: OpenDKIM Filter v2.8.3 kib.kiev.ua rAD7SOEb020407
Received: (from kostik@localhost)
 by tom.home (8.14.7/8.14.7/Submit) id rAD7SNC3020406;
 Wed, 13 Nov 2013 09:28:23 +0200 (EET)
 (envelope-from kostikbel@gmail.com)
X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com
 using -f
Date: Wed, 13 Nov 2013 09:28:23 +0200
From: Konstantin Belousov <kostikbel@gmail.com>
To: John-Mark Gurney <jmg@funkthat.com>
Subject: Re: svn commit: r258039 - in head/sys: kern vm
Message-ID: <20131113072823.GB59496@kib.kiev.ua>
References: <201311120847.rAC8lwi8053235@svn.freebsd.org>
 <20131112215200.Y1480@besplex.bde.org>
 <20131113002906.GZ2279@funkthat.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha1;
 protocol="application/pgp-signature"; boundary="dbNh/oC2ly3B0NQi"
Content-Disposition: inline
In-Reply-To: <20131113002906.GZ2279@funkthat.com>
User-Agent: Mutt/1.5.22 (2013-10-16)
X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00,
 DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no
 version=3.3.2
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on tom.home
Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org,
 src-committers@FreeBSD.org, Bruce Evans <brde@optusnet.com.au>
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Nov 2013 07:28:30 -0000


--dbNh/oC2ly3B0NQi
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, Nov 12, 2013 at 04:29:06PM -0800, John-Mark Gurney wrote:
> Bruce Evans wrote this message on Tue, Nov 12, 2013 at 22:13 +1100:
> > On Tue, 12 Nov 2013, Konstantin Belousov wrote:
> >=20
> > >Log:
> > > Avoid overflow for the page counts.
> > >
> > > Reported and tested by:	pho
> > > Sponsored by:	The FreeBSD Foundation
> > > MFC after:	1 week
> >=20
> > >Modified: head/sys/kern/vfs_vnops.c
> > >=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D
> > >--- head/sys/kern/vfs_vnops.c	Tue Nov 12 08:32:10 2013	(r258038)
> > >+++ head/sys/kern/vfs_vnops.c	Tue Nov 12 08:47:58 2013	(r258039)
> > >@@ -933,8 +933,9 @@ vn_io_fault(struct file *fp, struct uio
> > >	void *rl_cookie;
> > >	struct mount *mp;
> > >	vm_page_t *prev_td_ma;
> > >-	int cnt, error, save, saveheld, prev_td_ma_cnt;
> > >+	int error, save, saveheld, prev_td_ma_cnt;
> > >	vm_offset_t addr, end;
> > >+	vm_size_t cnt;
> >=20
> > int was correct for a count.  You can't possibly have the 8TB
> > of physical memory needed to overflow a 32-bit int page count.
>                     ^ today
> > It is reasonably to assume 32-bit ints.
>=20
> Except that the modern AMD64 arch now allows 52 bits of address for
> phyiscal memory, which does mean in a few years, we will be eclipsing
> 8TB in a single machine...
>=20
> Isn't someone running FreeBSD on a 1TB machine?  I'm pretty possitive
> I remeber someone running 512GB, so only 3/4 doublings away from hitting
> the limit...

The variable in question has no relation to the physical memory size.
I already noted to Bruce, in the private reply, that the variable must
hold the count of the page frames covering the i/o request.  As such,
it must be sized to be able to hold the page count for the whole address
space.

The variable is clamped later, but this is an implementation detail.

--dbNh/oC2ly3B0NQi
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (FreeBSD)

iQIcBAEBAgAGBQJSgyoWAAoJEJDCuSvBvK1BuQEP/RL5CcbyhL0gTSqBM/aHH+CH
WnqKPogIHAGum//8kbqvF5zdFUaSCnjKqCoGoIN/15jV0Y3XhbTc+06tlQJg4i83
H9srd+wO+isSxA3682oiebSkkzEYoW1tM0037QyQ/+8MKdGUR8u0K3aUcO30Ih1M
qdJXoTmmLm2IJCReSHYp311Yv9LXmkr3xCScOYisbnR3aL/dI+zvQAH5efvmNIks
yWTLkCpf/KxF6gpv/becBE3xVgh+K22yMl5e7rI/52tdFylOjeumcVhSL61zLDNW
nDSGslIJP39r3zeyRW0V3kpNa8ejOM4poyNeoPPpA6VD3ZQ9nrN7N+QZ3SYmfuJv
AR7IX2QXoJ9Tn/K4FYQa+j1OQf2tGkTkc1z0qqvx41gEiTZWNVn2C2Nv2GyAb0f+
hKJG92+M1n/bhZr/W5hJQF1h5LpSxzyPMLGr0qfcls48FcacC0Ymz653FIxbSk55
f5qiCQAmSiMzOtVyhj/n1msEDaF/ZCei3n2eSHLp6rgG93optL+OLdPkGrKcev0k
yCw0tPPDbNHJOeFGORCc6XeSiL+gCx6S/rNZk+1eSeNkt2zCFhpIqkuZUpOxyDsG
ozMDWx21EyUkzFwIhuNiXLRHAj6O/nG6uJpawJyHeuxUzrUchX4/Dxo4qgGfC1Hv
DoKdiT5qV/Bn1c5RSPFR
=TS3x
-----END PGP SIGNATURE-----

--dbNh/oC2ly3B0NQi--

From owner-svn-src-all@FreeBSD.ORG  Wed Nov 13 08:08:56 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 97715151;
 Wed, 13 Nov 2013 08:08:56 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 878A82C60;
 Wed, 13 Nov 2013 08:08:56 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAD88uck029418;
 Wed, 13 Nov 2013 08:08:56 GMT
 (envelope-from cperciva@svn.freebsd.org)
Received: (from cperciva@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAD88udm029417;
 Wed, 13 Nov 2013 08:08:56 GMT
 (envelope-from cperciva@svn.freebsd.org)
Message-Id: <201311130808.rAD88udm029417@svn.freebsd.org>
From: Colin Percival <cperciva@FreeBSD.org>
Date: Wed, 13 Nov 2013 08:08:56 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258086 - head
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Nov 2013 08:08:56 -0000

Author: cperciva
Date: Wed Nov 13 08:08:56 2013
New Revision: 258086
URL: http://svnweb.freebsd.org/changeset/base/258086

Log:
  Strip the -pN patch level from the VERSION string which gets encoded into
  CTF data.  Otherwise FreeBSD Update builds think every kernel file has
  changed every time there's a security advisory, since the FreeBSD Update
  build code isn't smart enough to look inside CTF data to ignore those
  changes.
  
  Pointy hat to:	cperciva
  MFC after:	1 day, or before the next BETA

Modified:
  head/Makefile.inc1

Modified: head/Makefile.inc1
==============================================================================
--- head/Makefile.inc1	Wed Nov 13 07:09:00 2013	(r258085)
+++ head/Makefile.inc1	Wed Nov 13 08:08:56 2013	(r258086)
@@ -136,7 +136,7 @@ REVISION!=	make -C ${SRCDIR}/release -V 
 BRANCH!=	make -C ${SRCDIR}/release -V BRANCH
 SRCRELDATE!=	awk '/^\#define[[:space:]]*__FreeBSD_version/ { print $$3 }' \
 		${SRCDIR}/sys/sys/param.h
-VERSION=	FreeBSD ${REVISION}-${BRANCH} ${TARGET_ARCH} ${SRCRELDATE}
+VERSION=	FreeBSD ${REVISION}-${BRANCH:C/-p[0-9]+$//} ${TARGET_ARCH} ${SRCRELDATE}
 .endif
 
 KNOWN_ARCHES?=	amd64 arm armeb/arm armv6/arm i386 i386/pc98 ia64 mips mipsel/mips mips64el/mips mips64/mips mipsn32el/mips mipsn32/mips powerpc powerpc64/powerpc sparc64

From owner-svn-src-all@FreeBSD.ORG  Wed Nov 13 08:55:09 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 8F82C2D4;
 Wed, 13 Nov 2013 08:55:09 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 7F90A2F2D;
 Wed, 13 Nov 2013 08:55:09 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAD8t9Fx047739;
 Wed, 13 Nov 2013 08:55:09 GMT (envelope-from kib@svn.freebsd.org)
Received: (from kib@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAD8t9nt047738;
 Wed, 13 Nov 2013 08:55:09 GMT (envelope-from kib@svn.freebsd.org)
Message-Id: <201311130855.rAD8t9nt047738@svn.freebsd.org>
From: Konstantin Belousov <kib@FreeBSD.org>
Date: Wed, 13 Nov 2013 08:55:09 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258088 - head/sys/fs/pseudofs
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Nov 2013 08:55:09 -0000

Author: kib
Date: Wed Nov 13 08:55:09 2013
New Revision: 258088
URL: http://svnweb.freebsd.org/changeset/base/258088

Log:
  Remove useless comparisions of assigned offset and resid with the
  sources from uio.  Both uio_offset and offset, and uio_resid and resid
  have the same types for some time.
  
  Add check for buflen overflow by comparing the buflen with both offset
  and resid (vs. comparing with offset only, as it is currently done).
  
  Reported and tested by:	pho
  Approved by:	des (pseudofs maintainer)
  Sponsored by:	The FreeBSD Foundation
  MFC after:	1 week

Modified:
  head/sys/fs/pseudofs/pseudofs_vnops.c

Modified: head/sys/fs/pseudofs/pseudofs_vnops.c
==============================================================================
--- head/sys/fs/pseudofs/pseudofs_vnops.c	Wed Nov 13 08:45:37 2013	(r258087)
+++ head/sys/fs/pseudofs/pseudofs_vnops.c	Wed Nov 13 08:55:09 2013	(r258088)
@@ -654,11 +654,13 @@ pfs_read(struct vop_read_args *va)
 		goto ret;
 	}
 
+	resid = uio->uio_resid;
+	offset = uio->uio_offset;
+	buflen = offset + resid;
+
 	/* beaucoup sanity checks so we don't ask for bogus allocation */
-	if (uio->uio_offset < 0 || uio->uio_resid < 0 ||
-	    (offset = uio->uio_offset) != uio->uio_offset ||
-	    (resid = uio->uio_resid) != uio->uio_resid ||
-	    (buflen = offset + resid) < offset || buflen >= INT_MAX) {
+	if (resid < 0 || buflen < offset || buflen < resid ||
+	    buflen >= INT_MAX) {
 		error = EINVAL;
 		goto ret;
 	}

From owner-svn-src-all@FreeBSD.ORG  Wed Nov 13 09:32:11 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id A34C7BA0;
 Wed, 13 Nov 2013 09:32:11 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 9374B218E;
 Wed, 13 Nov 2013 09:32:11 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAD9WBV5060827;
 Wed, 13 Nov 2013 09:32:11 GMT (envelope-from adrian@svn.freebsd.org)
Received: (from adrian@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAD9WBsU060826;
 Wed, 13 Nov 2013 09:32:11 GMT (envelope-from adrian@svn.freebsd.org)
Message-Id: <201311130932.rAD9WBsU060826@svn.freebsd.org>
From: Adrian Chadd <adrian@FreeBSD.org>
Date: Wed, 13 Nov 2013 09:32:11 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258089 - head/sys/dev/iwn
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Nov 2013 09:32:11 -0000

Author: adrian
Date: Wed Nov 13 09:32:11 2013
New Revision: 258089
URL: http://svnweb.freebsd.org/changeset/base/258089

Log:
  Leave a note that the 5300 is a 3x3 NIC.

Modified:
  head/sys/dev/iwn/if_iwn.c

Modified: head/sys/dev/iwn/if_iwn.c
==============================================================================
--- head/sys/dev/iwn/if_iwn.c	Wed Nov 13 08:55:09 2013	(r258088)
+++ head/sys/dev/iwn/if_iwn.c	Wed Nov 13 09:32:11 2013	(r258089)
@@ -607,6 +607,10 @@ iwn_attach(device_t dev)
 		 * This is a total hack to work around that until some
 		 * per-device method is implemented to return the
 		 * actual stream support.
+		 *
+		 * XXX Note: the 5350 is a 3x3 device; so we shouldn't
+		 * cap this!  But, anything that touches rates in the
+		 * driver needs to be audited first before 3x3 is enabled.
 		 */
 		if (ic->ic_rxstream > 2)
 			ic->ic_rxstream = 2;

From owner-svn-src-all@FreeBSD.ORG  Wed Nov 13 10:44:25 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id ECCFCAFE;
 Wed, 13 Nov 2013 10:44:24 +0000 (UTC)
Received: from mail105.syd.optusnet.com.au (mail105.syd.optusnet.com.au
 [211.29.132.249])
 by mx1.freebsd.org (Postfix) with ESMTP id 5A13B2607;
 Wed, 13 Nov 2013 10:44:24 +0000 (UTC)
Received: from c122-106-156-23.carlnfd1.nsw.optusnet.com.au
 (c122-106-156-23.carlnfd1.nsw.optusnet.com.au [122.106.156.23])
 by mail105.syd.optusnet.com.au (Postfix) with ESMTPS id F083E104224F;
 Wed, 13 Nov 2013 21:43:32 +1100 (EST)
Date: Wed, 13 Nov 2013 21:43:31 +1100 (EST)
From: Bruce Evans <brde@optusnet.com.au>
X-X-Sender: bde@besplex.bde.org
To: John Baldwin <jhb@FreeBSD.org>
Subject: Re: svn commit: r258053 - head/usr.sbin/mfiutil
In-Reply-To: <201311121322.46733.jhb@freebsd.org>
Message-ID: <20131113211029.O1034@besplex.bde.org>
References: <201311121710.rACHAuCI027408@svn.freebsd.org>
 <201311121322.46733.jhb@freebsd.org>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
X-Optus-CM-Score: 0
X-Optus-CM-Analysis: v=2.1 cv=bpB1Wiqi c=1 sm=1 tr=0
 a=ebeQFi2P/qHVC0Yw9JDJ4g==:117 a=PO7r1zJSAAAA:8 a=iPal_rS6wjAA:10
 a=kj9zAlcOel0A:10 a=JzwRw_2MAAAA:8 a=JUldux9VRoEA:10
 a=6_aYeVEia8bRkXMAfHIA:9 a=CjuIK1q_8ugA:10
Cc: svn-src-head@FreeBSD.org, Sean Bruno <sbruno@FreeBSD.org>,
 src-committers@FreeBSD.org, svn-src-all@FreeBSD.org
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Nov 2013 10:44:25 -0000

On Tue, 12 Nov 2013, John Baldwin wrote:

> On Tuesday, November 12, 2013 12:10:56 pm Sean Bruno wrote:
>> Author: sbruno
>> Log:
>>   Noted that the stripe_size argument was not being displayed in the usage
>>   message
>
> Does this need some wrapping to fit in 80 cols now?

Of course.  The output style is horrible enough without inconsostencies in
it.  It doesn't have to be as bad as the source.  Previous output:

% mptutil: illegal option -- ?
% usage: mptutil [-u unit] <command> ...

Oops, wrong command.  It has slightly different bugs.  E.g., the man page
says "-s stripe_size" while the usage message says "-s stripe".  There are
many more.

Perhaps this doesn't need further description, but verbose descriptions
are part of the non-KNF style here.

See the man page for splitting this after the addition.  But this and the
man page have other bugs:
- v and q are sorted backwards here.  The man page sorts them forwards, but
   doesn't group them

% mfiutil: illegal option -- ?
% usage: mfiutil [-de] [-u unit] <command> ...
% 
% Commands include:
%     version
%     show adapter              - display controller information
%     show battery              - display battery information
%     show config               - display RAID configuration
%     show drives               - list physical drives
%     show events               - display event log
%     show firmware             - list firmware images
%     show foreign              - display detected foreign volumes
%     show logstate             - display event log sequence numbers
%     show volumes              - list logical volumes
%     show patrol               - display patrol read status
%     show progress             - display status of active operations
%     fail <drive>              - fail a physical drive
%     good <drive>              - set a failed/SYSPD drive as UNCONFIGURED
%     rebuild <drive>           - mark failed drive ready for rebuild
%     syspd <drive>             - set drive into use as SYSPD JBOD
%     drive progress <drive>    - display status of active operations
%     drive clear <drive> <start|stop> - clear a drive with all 0x00

mptutil is more careful about formatting.  It starts a new line for the
description if necessary to align it.

%     start rebuild <drive>
%     abort rebuild <drive>

Some commands are missing descriptions.

%     locate <drive> <on|off>   - toggle drive LED
%     cache <volume> [command [setting]]
%     name <volume> <name>
%     volume progress <volume>  - display status of active operations
%     clear                     - clear volume configuration
%     create <type> [-v] <drive>[,<drive>[,...]] [<drive>[,<drive>[,...]]

This command needs a description more than the simple ones.

See the man page for (not very good) formatting of the line splitting.  It
aligns with the option before "create", but should align with the option
after "create".

The man page doesn't use angle brackets around parameters like <drive>.

The syntax for the 1 or 2 drive lists is complicated and perhaps not
worth giving in detaul here.

%     delete <volume>
%     add <drive> [volume]      - add a hot spare
%     remove <drive>            - remove a hot spare
%     patrol <disable|auto|manual> [interval [start]]
%     start patrol              - start a patrol read
%     stop patrol               - stop a patrol read

The order of at least the patrol-related commands is different to the man
page.

%     foreign scan              - scan for foreign configurations
%     foreign clear [volume]    - clear foreign configurations (default all)
%     foreign diag [volume]     - diagnostic display foreign configurations (default all)

This was already too long.

%     foreign preview [volume]  - preview foreign configurations (default all)
%     foreign import [volume]   - import foreign configurations (default all)
%     flash <firmware>
%     start learn               - start a BBU relearn
%     bbu <setting> <value>     - set BBU properties

Bruce

From owner-svn-src-all@FreeBSD.ORG  Wed Nov 13 12:07:32 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 8D1A8933;
 Wed, 13 Nov 2013 12:07:32 +0000 (UTC)
Received: from mail105.syd.optusnet.com.au (mail105.syd.optusnet.com.au
 [211.29.132.249])
 by mx1.freebsd.org (Postfix) with ESMTP id 35A212BF1;
 Wed, 13 Nov 2013 12:07:31 +0000 (UTC)
Received: from c122-106-156-23.carlnfd1.nsw.optusnet.com.au
 (c122-106-156-23.carlnfd1.nsw.optusnet.com.au [122.106.156.23])
 by mail105.syd.optusnet.com.au (Postfix) with ESMTPS id 951FF1041EAD;
 Wed, 13 Nov 2013 23:06:24 +1100 (EST)
Date: Wed, 13 Nov 2013 23:06:23 +1100 (EST)
From: Bruce Evans <brde@optusnet.com.au>
X-X-Sender: bde@besplex.bde.org
To: Konstantin Belousov <kostikbel@gmail.com>
Subject: Re: svn commit: r258039 - in head/sys: kern vm
In-Reply-To: <20131113072823.GB59496@kib.kiev.ua>
Message-ID: <20131113215529.G1034@besplex.bde.org>
References: <201311120847.rAC8lwi8053235@svn.freebsd.org>
 <20131112215200.Y1480@besplex.bde.org> <20131113002906.GZ2279@funkthat.com>
 <20131113072823.GB59496@kib.kiev.ua>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
X-Optus-CM-Score: 0
X-Optus-CM-Analysis: v=2.1 cv=YYGEuWhf c=1 sm=1 tr=0
 a=ebeQFi2P/qHVC0Yw9JDJ4g==:117 a=PO7r1zJSAAAA:8 a=rSyRge8hxN4A:10
 a=kj9zAlcOel0A:10 a=JzwRw_2MAAAA:8 a=Nkx1_21gIi4A:10
 a=2OIb2gemKuvdkepoPTEA:9 a=k5bvQiYZtKIgdZSI:21 a=xpfborYGrl_E7L2u:21
 a=CjuIK1q_8ugA:10
Cc: svn-src-head@FreeBSD.org, John-Mark Gurney <jmg@funkthat.com>,
 src-committers@FreeBSD.org, svn-src-all@FreeBSD.org,
 Bruce Evans <brde@optusnet.com.au>
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Nov 2013 12:07:32 -0000

On Wed, 13 Nov 2013, Konstantin Belousov wrote:

> On Tue, Nov 12, 2013 at 04:29:06PM -0800, John-Mark Gurney wrote:
>> Bruce Evans wrote this message on Tue, Nov 12, 2013 at 22:13 +1100:
>>> On Tue, 12 Nov 2013, Konstantin Belousov wrote:
>>>
>>>> Log:
>>>> Avoid overflow for the page counts.
>>>>
>>>> Reported and tested by:	pho
>>>> Sponsored by:	The FreeBSD Foundation
>>>> MFC after:	1 week
>>>
>>>> Modified: head/sys/kern/vfs_vnops.c
>>>> ==============================================================================
>>>> --- head/sys/kern/vfs_vnops.c	Tue Nov 12 08:32:10 2013	(r258038)
>>>> +++ head/sys/kern/vfs_vnops.c	Tue Nov 12 08:47:58 2013	(r258039)
>>>> @@ -933,8 +933,9 @@ vn_io_fault(struct file *fp, struct uio
>>>> 	void *rl_cookie;
>>>> 	struct mount *mp;
>>>> 	vm_page_t *prev_td_ma;
>>>> -	int cnt, error, save, saveheld, prev_td_ma_cnt;
>>>> +	int error, save, saveheld, prev_td_ma_cnt;
>>>> 	vm_offset_t addr, end;
>>>> +	vm_size_t cnt;
>>>
>>> int was correct for a count.  You can't possibly have the 8TB
>>> of physical memory needed to overflow a 32-bit int page count.
>>                     ^ today
>>> It is reasonably to assume 32-bit ints.
>>
>> Except that the modern AMD64 arch now allows 52 bits of address for
>> phyiscal memory, which does mean in a few years, we will be eclipsing
>> 8TB in a single machine...
>>
>> Isn't someone running FreeBSD on a 1TB machine?  I'm pretty possitive
>> I remeber someone running 512GB, so only 3/4 doublings away from hitting
>> the limit...

8 TB at $10/GB costs $82K (but would cost a lot more for the quality needed
for that much).  Not very affordable for a few more than 3-4 doublings.

> The variable in question has no relation to the physical memory size.
> I already noted to Bruce, in the private reply, that the variable must
> hold the count of the page frames covering the i/o request.  As such,
> it must be sized to be able to hold the page count for the whole address
> space.
>
> The variable is clamped later, but this is an implementation detail.

An up-front clamp would work well:

% 	while (uio_clone->uio_resid != 0) {
% 		len = uio_clone->uio_iov->iov_len;
% 		if (len == 0) {
% 			KASSERT(uio_clone->uio_iovcnt >= 1,
% 			    ("iovcnt underflow"));
% 			uio_clone->uio_iov++;
% 			uio_clone->uio_iovcnt--;
% 			continue;
% 		}

Clamp len to (io_hold_cnt + 2) * PAGE_SIZE here.

% 		addr = (vm_offset_t)uio_clone->uio_iov->iov_base;
% 		end = round_page(addr + len);

There are still problems with this possibly overflowing...

% 		cnt = howmany(end - trunc_page(addr), PAGE_SIZE);

... and this.  Note that using unsigned types doesn't necessarily
avoid these problems, depending on the relative sizes of the types.
Unsigned types may be promoted to signed types, or vm_size_t might be
too small to hold a difference of addresses.  With the up-front clamp,
overflow is only possible if addr is so high that adding the clamped
len to it overflows.  addr being that high is only slightly more likely
than an unusual type combination that breaks the overflow checking.

These problems can be avoided by checking that end >= addr.  Then
end - trunc_page(addr) >= 0 and is <= (io_hold_cnt + 2 + 2) * PAGE_SIZE
by the clamp.  Equivalently, 0 <= howmany(...) <= io_hold_cnt + 2 + 2.

After rounding addr + len up and addr down, end - trunc_page(addr) is
an exact multiple of PAGE_SIZE, and it is a style bug to not use a
standard macro for converting sizes to page counts on it.  Alternatively,
howmany() is designed to be used with fractional objects, so you could
skip the round_page() on addr + len and use howmany() to round up.  This
avoids using the standard vm APIs more consistently.

% 		/*
% 		 * A perfectly misaligned address and length could cause
% 		 * both the start and the end of the chunk to use partial
% 		 * page.  +2 accounts for such a situation.
% 		 */
% 		if (cnt > io_hold_cnt + 2) {

After clamping and checking more carefully up front, this is unnecessary
unless you want to restrict from io_hold_count + 2 + 2 to io_hold_count.
I added the 2 up-front since I don't want to change the semantics, but
it probably doesn't matter.

% 			len = io_hold_cnt * PAGE_SIZE;
% 			KASSERT(howmany(round_page(addr + len) -
% 			    trunc_page(addr), PAGE_SIZE) <= io_hold_cnt + 2,
% 			    ("cnt overflow"));

The round_page() step is not needed here, as above.  'end' in the above
is only used once now, and is only needed for doing the careful wraparound
check above.  If we let howmany() do the rounding up, then we can't do
this wraparound check so clearly, and if we do a delayed check then we
don't need a variable for 'end', as here.

% 		}

Untested cleanups:

@ 	while (uio_clone->uio_resid != 0) {
@ 		len = uio_clone->uio_iov->iov_len;
@ 		if (len == 0) {
@ 			KASSERT(uio_clone->uio_iovcnt >= 1,
@ 			    ("iovcnt underflow"));
@ 			uio_clone->uio_iov++;
@ 			uio_clone->uio_iovcnt--;
@ 			continue;
@ 		}
@ 		if (len > io_hold_cnt * PAGE_SIZE)
@ 			len = io_hold_cnt * PAGE_SIZE;
@ 		addr = (uintptr_t)uio_clone->uio_iov->iov_base;
@ 		end = round_page(addr + len);
@ 		/* XXX shouldn't panic, but we did before: */
@ 		KASSERT(end >= addr, ("address wrap"));
@ 		cnt = atop(end - trunc_page(addr));
@ 		/*
@ 		 * A perfectly misaligned address and length could cause
@ 		 * both the start and the end of the chunk to use partial
@ 		 * page.  +2 accounts for such a situation.
@ 		 */

The comment is now about the +2 in the vm_fault_quick_hold_pages() call.

Other changes in this:
- fix cast for addr.  Only MD and central vm code should assume that
   vm_offset_t is precisely uintmax_t.
- fix some style bugs (extra blank line).

Bruce

From owner-svn-src-all@FreeBSD.ORG  Wed Nov 13 14:46:42 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 7079DBC3;
 Wed, 13 Nov 2013 14:46:42 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 45DE326BF;
 Wed, 13 Nov 2013 14:46:42 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rADEkg0d066066;
 Wed, 13 Nov 2013 14:46:42 GMT (envelope-from emaste@svn.freebsd.org)
Received: (from emaste@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rADEkgCN066065;
 Wed, 13 Nov 2013 14:46:42 GMT (envelope-from emaste@svn.freebsd.org)
Message-Id: <201311131446.rADEkgCN066065@svn.freebsd.org>
From: Ed Maste <emaste@FreeBSD.org>
Date: Wed, 13 Nov 2013 14:46:42 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258094 - head/contrib/llvm/tools/lldb/source/Host/common
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Nov 2013 14:46:42 -0000

Author: emaste
Date: Wed Nov 13 14:46:41 2013
New Revision: 258094
URL: http://svnweb.freebsd.org/changeset/base/258094

Log:
  lldb: Correct a standalone debug file path
  
  For a file /bin/ls with a .gnu_debuglink entry of "ls.debug" the path
  should be /usr/lib/debug/bin/ls.debug, not /usr/lib/debug/bin/ls.
  
  ref: https://sourceware.org/gdb/onlinedocs/gdb/Separate-Debug-Files.html
  
  Upstream defect pr17903 (http://llvm.org/pr17903)
  
  Sponsored by:	DARPA, AFRL

Modified:
  head/contrib/llvm/tools/lldb/source/Host/common/Symbols.cpp

Modified: head/contrib/llvm/tools/lldb/source/Host/common/Symbols.cpp
==============================================================================
--- head/contrib/llvm/tools/lldb/source/Host/common/Symbols.cpp	Wed Nov 13 14:35:00 2013	(r258093)
+++ head/contrib/llvm/tools/lldb/source/Host/common/Symbols.cpp	Wed Nov 13 14:46:41 2013	(r258094)
@@ -61,9 +61,9 @@ Symbols::LocateExecutableSymbolFile (con
         uuid_str = uuid_str + ".debug";
     }
 
-    // Get full path to our module. Needed to check debug files like this:
-    //   /usr/lib/debug/usr/lib/libboost_date_time.so.1.46.1
-    std::string module_filename = module_spec.GetFileSpec().GetPath();
+    // Get directory of our module. Needed to check debug files like this:
+    //   /usr/lib/debug/usr/lib/library.so.debug
+    std::string module_directory = module_spec.GetFileSpec().GetDirectory().AsCString();
 
     size_t num_directories = debug_file_search_paths.GetSize();
     for (size_t idx = 0; idx < num_directories; ++idx)
@@ -79,7 +79,7 @@ Symbols::LocateExecutableSymbolFile (con
         files.push_back (dirname + "/" + symbol_filename);
         files.push_back (dirname + "/.debug/" + symbol_filename);
         files.push_back (dirname + "/.build-id/" + uuid_str);
-        files.push_back (dirname + module_filename);
+        files.push_back (dirname + module_directory + "/" + symbol_filename);
 
         const uint32_t num_files = files.size();
         for (size_t idx_file = 0; idx_file < num_files; ++idx_file)

From owner-svn-src-all@FreeBSD.ORG  Wed Nov 13 15:10:33 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 4E04776A;
 Wed, 13 Nov 2013 15:10:33 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 23F342893;
 Wed, 13 Nov 2013 15:10:33 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rADFAX0V073840;
 Wed, 13 Nov 2013 15:10:33 GMT (envelope-from sjg@svn.freebsd.org)
Received: (from sjg@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rADFAW7s073839;
 Wed, 13 Nov 2013 15:10:32 GMT (envelope-from sjg@svn.freebsd.org)
Message-Id: <201311131510.rADFAW7s073839@svn.freebsd.org>
From: "Simon J. Gerraty" <sjg@FreeBSD.org>
Date: Wed, 13 Nov 2013 15:10:32 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258095 - head/share/mk
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Nov 2013 15:10:33 -0000

Author: sjg
Date: Wed Nov 13 15:10:32 2013
New Revision: 258095
URL: http://svnweb.freebsd.org/changeset/base/258095

Log:
  Allow this to work with fmake
  Based on patch from Garret Cooper.

Modified:
  head/share/mk/bsd.progs.mk

Modified: head/share/mk/bsd.progs.mk
==============================================================================
--- head/share/mk/bsd.progs.mk	Wed Nov 13 14:46:41 2013	(r258094)
+++ head/share/mk/bsd.progs.mk	Wed Nov 13 15:10:32 2013	(r258095)
@@ -16,14 +16,20 @@
 
 .MAIN: all
 
-.if defined(PROGS)
+.if defined(PROGS) || defined(PROGS_CXX)
+# we really only use PROGS below...
+PROGS += ${PROGS_CXX}
 
 # In meta mode, we can capture dependenices for _one_ of the progs.
 # if makefile doesn't nominate one, we use the first.
+.if defined(.PARSEDIR)
 .ifndef UPDATE_DEPENDFILE_PROG
 UPDATE_DEPENDFILE_PROG = ${PROGS:[1]}
 .export UPDATE_DEPENDFILE_PROG
 .endif
+.else
+UPDATE_DEPENDFILE_PROG?= no
+.endif
 
 .ifndef PROG
 # They may have asked us to build just one
@@ -40,11 +46,13 @@ PROG_VARS += BINDIR CFLAGS CPPFLAGS CXXF
 .for v in ${PROG_VARS:O:u}
 .if defined(${v}.${PROG})
 $v += ${${v}_${PROG}:U${${v}.${PROG}}}
+.else
+$v ?=
 .endif
 .endfor
 
 # for meta mode, there can be only one!
-.if ${PROG} == ${UPDATE_DEPENDFILE_PROG:Uno}
+.if ${PROG} == ${UPDATE_DEPENDFILE_PROG}
 UPDATE_DEPENDFILE ?= yes
 .endif
 UPDATE_DEPENDFILE ?= NO
@@ -63,7 +71,7 @@ UPDATE_DEPENDFILE = NO
 .endif
 
 # handle being called [bsd.]progs.mk
-.include <${.PARSEFILE:S,progs,prog,}>
+.include <bsd.prog.mk>
 
 .ifndef PROG
 # tell progs.mk we might want to install things
@@ -76,11 +84,11 @@ x.$p= PROG_CXX=$p
 .endif
 
 $p ${p}_p: .PHONY .MAKE
-	(cd ${.CURDIR} && ${.MAKE} -f ${MAKEFILE} PROG=$p ${x.$p})
+	(cd ${.CURDIR} && ${MAKE} -f ${MAKEFILE} PROG=$p ${x.$p})
 
 .for t in ${PROGS_TARGETS:O:u}
 $p.$t: .PHONY .MAKE
-	(cd ${.CURDIR} && ${.MAKE} -f ${MAKEFILE} PROG=$p ${x.$p} ${@:E})
+	(cd ${.CURDIR} && ${MAKE} -f ${MAKEFILE} PROG=$p ${x.$p} ${@:E})
 .endfor
 .endfor
 

From owner-svn-src-all@FreeBSD.ORG  Wed Nov 13 16:17:06 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 5488CCFB;
 Wed, 13 Nov 2013 16:17:06 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 2A8152C8D;
 Wed, 13 Nov 2013 16:17:06 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rADGH62N097017;
 Wed, 13 Nov 2013 16:17:06 GMT (envelope-from br@svn.freebsd.org)
Received: (from br@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rADGH5ur097014;
 Wed, 13 Nov 2013 16:17:05 GMT (envelope-from br@svn.freebsd.org)
Message-Id: <201311131617.rADGH5ur097014@svn.freebsd.org>
From: Ruslan Bukin <br@FreeBSD.org>
Date: Wed, 13 Nov 2013 16:17:05 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258096 - head/sys/arm/samsung/exynos
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Nov 2013 16:17:06 -0000

Author: br
Date: Wed Nov 13 16:17:05 2013
New Revision: 258096
URL: http://svnweb.freebsd.org/changeset/base/258096

Log:
  o Use common ARMv6/v7 bus_space tag.
  o Use new helper routines for arm static device mapping.
  o style(9) tweaks.

Deleted:
  head/sys/arm/samsung/exynos/bus_space.c
Modified:
  head/sys/arm/samsung/exynos/exynos5_machdep.c
  head/sys/arm/samsung/exynos/files.exynos5

Modified: head/sys/arm/samsung/exynos/exynos5_machdep.c
==============================================================================
--- head/sys/arm/samsung/exynos/exynos5_machdep.c	Wed Nov 13 15:10:32 2013	(r258095)
+++ head/sys/arm/samsung/exynos/exynos5_machdep.c	Wed Nov 13 16:17:05 2013	(r258096)
@@ -30,27 +30,25 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD$");
 
-#define _ARM32_BUS_DMA_PRIVATE
+#define	_ARM32_BUS_DMA_PRIVATE
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/bus.h>
 
 #include <vm/vm.h>
-#include <vm/pmap.h>
 
+#include <machine/armreg.h>
 #include <machine/bus.h>
 #include <machine/devmap.h>
 #include <machine/machdep.h>
 
 #include <dev/fdt/fdt_common.h>
 
-#define	DEVMAP_BOOTSTRAP_MAP_START 0xF0000000
-
 vm_offset_t
 initarm_lastaddr(void)
 {
 
-	return (DEVMAP_BOOTSTRAP_MAP_START);
+	return (arm_devmap_lastaddr());
 }
 
 void
@@ -62,35 +60,22 @@ initarm_early_init(void)
 void
 initarm_gpio_init(void)
 {
+
 }
 
 void
 initarm_late_init(void)
 {
+
 }
 
-#define FDT_DEVMAP_MAX	(1 + 2 + 1 + 1)	/* FIXME */
-static struct arm_devmap_entry fdt_devmap[FDT_DEVMAP_MAX] = {
-	{ 0, 0, 0, 0, 0, }
-};
-
-/*
- * Construct pmap_devmap[] with DT-derived config data.
- */
 int
 initarm_devmap_init(void)
 {
-	int i;
 
-	i = 0;
-	fdt_devmap[i].pd_va = 0xf2C00000;
-	fdt_devmap[i].pd_pa = 0x12C00000;
-	fdt_devmap[i].pd_size = 0x100000;
-	fdt_devmap[i].pd_prot = VM_PROT_READ | VM_PROT_WRITE;
-	fdt_devmap[i].pd_cache = PTE_NOCACHE;
-	i++;
+	/* UART */
+	arm_devmap_add_entry(0x12C00000, 0x100000);
 
-	arm_devmap_register_table(&fdt_devmap[0]);
 	return (0);
 }
 

Modified: head/sys/arm/samsung/exynos/files.exynos5
==============================================================================
--- head/sys/arm/samsung/exynos/files.exynos5	Wed Nov 13 15:10:32 2013	(r258095)
+++ head/sys/arm/samsung/exynos/files.exynos5	Wed Nov 13 16:17:05 2013	(r258096)
@@ -10,12 +10,12 @@ arm/arm/cpufunc_asm_arm11.S			standard
 arm/arm/cpufunc_asm_armv7.S			standard
 arm/arm/irq_dispatch.S				standard
 
+arm/arm/bus_space-v6.c				standard
 arm/arm/gic.c					standard
 arm/arm/generic_timer.c				standard
 
 arm/samsung/exynos/arch_timer.c			standard
 arm/samsung/exynos/exynos5_mp.c			optional	smp
-arm/samsung/exynos/bus_space.c			standard
 arm/samsung/exynos/common.c			standard
 arm/samsung/exynos/exynos5_machdep.c		standard
 arm/samsung/exynos/uart.c			optional	uart

From owner-svn-src-all@FreeBSD.ORG  Wed Nov 13 16:50:19 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id CC3C478A;
 Wed, 13 Nov 2013 16:50:19 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id BCAC62EB1;
 Wed, 13 Nov 2013 16:50:19 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rADGoJlB007817;
 Wed, 13 Nov 2013 16:50:19 GMT (envelope-from jhb@svn.freebsd.org)
Received: (from jhb@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rADGoJ10007816;
 Wed, 13 Nov 2013 16:50:19 GMT (envelope-from jhb@svn.freebsd.org)
Message-Id: <201311131650.rADGoJ10007816@svn.freebsd.org>
From: John Baldwin <jhb@FreeBSD.org>
Date: Wed, 13 Nov 2013 16:50:19 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258097 - head/usr.sbin/etcupdate
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Nov 2013 16:50:19 -0000

Author: jhb
Date: Wed Nov 13 16:50:19 2013
New Revision: 258097
URL: http://svnweb.freebsd.org/changeset/base/258097

Log:
  Escape a newline added in the previous commit when verifying the flags
  passed to the build, diff, or status commands.

Modified:
  head/usr.sbin/etcupdate/etcupdate.sh

Modified: head/usr.sbin/etcupdate/etcupdate.sh
==============================================================================
--- head/usr.sbin/etcupdate/etcupdate.sh	Wed Nov 13 16:17:05 2013	(r258096)
+++ head/usr.sbin/etcupdate/etcupdate.sh	Wed Nov 13 16:50:19 2013	(r258097)
@@ -1698,7 +1698,7 @@ case $command in
 		fi
 		;;
 	build|diff|status)
-		if [ -n "$dryrun" -o -n "$rerun" -o -n "$tarball" -o
+		if [ -n "$dryrun" -o -n "$rerun" -o -n "$tarball" -o \
 		     -n "$preworld" ]; then
 			usage
 		fi

From owner-svn-src-all@FreeBSD.ORG  Wed Nov 13 17:06:27 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 558C4DB3;
 Wed, 13 Nov 2013 17:06:27 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 2B0AB2FD4;
 Wed, 13 Nov 2013 17:06:27 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rADH6RNQ013842;
 Wed, 13 Nov 2013 17:06:27 GMT (envelope-from emaste@svn.freebsd.org)
Received: (from emaste@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rADH6QuZ013840;
 Wed, 13 Nov 2013 17:06:26 GMT (envelope-from emaste@svn.freebsd.org)
Message-Id: <201311131706.rADH6QuZ013840@svn.freebsd.org>
From: Ed Maste <emaste@FreeBSD.org>
Date: Wed, 13 Nov 2013 17:06:26 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258098 - head/contrib/llvm/tools/lldb/source/Target
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Nov 2013 17:06:27 -0000

Author: emaste
Date: Wed Nov 13 17:06:26 2013
New Revision: 258098
URL: http://svnweb.freebsd.org/changeset/base/258098

Log:
  Merge upstream LLDB r194487:
  
    Log failure to restore thread state in ThreadPlanCallFunction::DoTakedown
  
    In order to help track down llvm.org/pr17226.
  
  Sponsored by:	DARPA, AFRL

Modified:
  head/contrib/llvm/tools/lldb/source/Target/Thread.cpp
  head/contrib/llvm/tools/lldb/source/Target/ThreadPlanCallFunction.cpp

Modified: head/contrib/llvm/tools/lldb/source/Target/Thread.cpp
==============================================================================
--- head/contrib/llvm/tools/lldb/source/Target/Thread.cpp	Wed Nov 13 16:50:19 2013	(r258097)
+++ head/contrib/llvm/tools/lldb/source/Target/Thread.cpp	Wed Nov 13 17:06:26 2013	(r258098)
@@ -511,8 +511,7 @@ Thread::CheckpointThreadState (ThreadSta
 bool
 Thread::RestoreRegisterStateFromCheckpoint (ThreadStateCheckpoint &saved_state)
 {
-    RestoreSaveFrameZero(saved_state.register_backup);
-    return true;
+    return RestoreSaveFrameZero(saved_state.register_backup);
 }
 
 bool

Modified: head/contrib/llvm/tools/lldb/source/Target/ThreadPlanCallFunction.cpp
==============================================================================
--- head/contrib/llvm/tools/lldb/source/Target/ThreadPlanCallFunction.cpp	Wed Nov 13 16:50:19 2013	(r258097)
+++ head/contrib/llvm/tools/lldb/source/Target/ThreadPlanCallFunction.cpp	Wed Nov 13 17:06:26 2013	(r258098)
@@ -299,7 +299,11 @@ ThreadPlanCallFunction::DoTakedown (bool
         m_takedown_done = true;
         m_stop_address = m_thread.GetStackFrameAtIndex(0)->GetRegisterContext()->GetPC();
         m_real_stop_info_sp = GetPrivateStopInfo ();
-        m_thread.RestoreRegisterStateFromCheckpoint(m_stored_thread_state);
+        if (!m_thread.RestoreRegisterStateFromCheckpoint(m_stored_thread_state))
+        {
+            if (log)
+                log->Printf("ThreadPlanCallFunction(%p): DoTakedown failed to restore register state", this);
+        }
         SetPlanComplete(success);
         ClearBreakpoints();
         if (log && log->GetVerbose())

From owner-svn-src-all@FreeBSD.ORG  Wed Nov 13 17:08:37 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id D53E715E;
 Wed, 13 Nov 2013 17:08:37 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id C4C6B2FFF;
 Wed, 13 Nov 2013 17:08:37 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rADH8b0r014262;
 Wed, 13 Nov 2013 17:08:37 GMT (envelope-from jhb@svn.freebsd.org)
Received: (from jhb@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rADH8bcc014261;
 Wed, 13 Nov 2013 17:08:37 GMT (envelope-from jhb@svn.freebsd.org)
Message-Id: <201311131708.rADH8bcc014261@svn.freebsd.org>
From: John Baldwin <jhb@FreeBSD.org>
Date: Wed, 13 Nov 2013 17:08:37 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject: svn commit: r258099 - stable/9/sys/kern
X-SVN-Group: stable-9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Nov 2013 17:08:37 -0000

Author: jhb
Date: Wed Nov 13 17:08:37 2013
New Revision: 258099
URL: http://svnweb.freebsd.org/changeset/base/258099

Log:
  MFC 254699,255030:
  Use tvtohz() to convert a socket buffer timeout to a tick value rather
  than using a home-rolled version.  The home-rolled version could result
  in shorter-than-requested sleeps.
  
  PR:		kern/181416

Modified:
  stable/9/sys/kern/uipc_socket.c
Directory Properties:
  stable/9/sys/   (props changed)

Modified: stable/9/sys/kern/uipc_socket.c
==============================================================================
--- stable/9/sys/kern/uipc_socket.c	Wed Nov 13 17:06:26 2013	(r258098)
+++ stable/9/sys/kern/uipc_socket.c	Wed Nov 13 17:08:37 2013	(r258099)
@@ -2654,22 +2654,12 @@ sosetopt(struct socket *so, struct socko
 				    sizeof tv);
 			if (error)
 				goto bad;
-
-			/* assert(hz > 0); */
-			if (tv.tv_sec < 0 || tv.tv_sec > INT_MAX / hz ||
-			    tv.tv_usec < 0 || tv.tv_usec >= 1000000) {
-				error = EDOM;
-				goto bad;
-			}
-			/* assert(tick > 0); */
-			/* assert(ULONG_MAX - INT_MAX >= 1000000); */
-			val = (u_long)(tv.tv_sec * hz) + tv.tv_usec / tick;
-			if (val > INT_MAX) {
+			if (tv.tv_sec < 0 || tv.tv_usec < 0 ||
+			    tv.tv_usec >= 1000000) {
 				error = EDOM;
 				goto bad;
 			}
-			if (val == 0 && tv.tv_usec != 0)
-				val = 1;
+			val = tvtohz(&tv);
 
 			switch (sopt->sopt_name) {
 			case SO_SNDTIMEO:

From owner-svn-src-all@FreeBSD.ORG  Wed Nov 13 17:10:19 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 2B0F2305;
 Wed, 13 Nov 2013 17:10:19 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 1A10C2023;
 Wed, 13 Nov 2013 17:10:19 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rADHAI5X014816;
 Wed, 13 Nov 2013 17:10:18 GMT (envelope-from jhb@svn.freebsd.org)
Received: (from jhb@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rADHAI3Q014815;
 Wed, 13 Nov 2013 17:10:18 GMT (envelope-from jhb@svn.freebsd.org)
Message-Id: <201311131710.rADHAI3Q014815@svn.freebsd.org>
From: John Baldwin <jhb@FreeBSD.org>
Date: Wed, 13 Nov 2013 17:10:18 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org
Subject: svn commit: r258100 - stable/8/sys/kern
X-SVN-Group: stable-8
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Nov 2013 17:10:19 -0000

Author: jhb
Date: Wed Nov 13 17:10:18 2013
New Revision: 258100
URL: http://svnweb.freebsd.org/changeset/base/258100

Log:
  MFC 254699,255030:
  Use tvtohz() to convert a socket buffer timeout to a tick value rather
  than using a home-rolled version.  The home-rolled version could result
  in shorter-than-requested sleeps.
  
  PR:		kern/181416

Modified:
  stable/8/sys/kern/uipc_socket.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/kern/   (props changed)

Modified: stable/8/sys/kern/uipc_socket.c
==============================================================================
--- stable/8/sys/kern/uipc_socket.c	Wed Nov 13 17:08:37 2013	(r258099)
+++ stable/8/sys/kern/uipc_socket.c	Wed Nov 13 17:10:18 2013	(r258100)
@@ -2570,22 +2570,12 @@ sosetopt(struct socket *so, struct socko
 				    sizeof tv);
 			if (error)
 				goto bad;
-
-			/* assert(hz > 0); */
-			if (tv.tv_sec < 0 || tv.tv_sec > INT_MAX / hz ||
-			    tv.tv_usec < 0 || tv.tv_usec >= 1000000) {
-				error = EDOM;
-				goto bad;
-			}
-			/* assert(tick > 0); */
-			/* assert(ULONG_MAX - INT_MAX >= 1000000); */
-			val = (u_long)(tv.tv_sec * hz) + tv.tv_usec / tick;
-			if (val > INT_MAX) {
+			if (tv.tv_sec < 0 || tv.tv_usec < 0 ||
+			    tv.tv_usec >= 1000000) {
 				error = EDOM;
 				goto bad;
 			}
-			if (val == 0 && tv.tv_usec != 0)
-				val = 1;
+			val = tvtohz(&tv);
 
 			switch (sopt->sopt_name) {
 			case SO_SNDTIMEO:

From owner-svn-src-all@FreeBSD.ORG  Wed Nov 13 17:49:07 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 9A89DDD8;
 Wed, 13 Nov 2013 17:49:07 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 89C4422E7;
 Wed, 13 Nov 2013 17:49:07 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rADHn73q027947;
 Wed, 13 Nov 2013 17:49:07 GMT (envelope-from gjb@svn.freebsd.org)
Received: (from gjb@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rADHn7Dd027946;
 Wed, 13 Nov 2013 17:49:07 GMT (envelope-from gjb@svn.freebsd.org)
Message-Id: <201311131749.rADHn7Dd027946@svn.freebsd.org>
From: Glen Barber <gjb@FreeBSD.org>
Date: Wed, 13 Nov 2013 17:49:07 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258101 - head/release
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Nov 2013 17:49:07 -0000

Author: gjb
Date: Wed Nov 13 17:49:07 2013
New Revision: 258101
URL: http://svnweb.freebsd.org/changeset/base/258101

Log:
  Since the doc/ toolchain conversion to docbook 5.0, JADETEX
  is no longer a valid option, so remove 'WITHOUT_JADETEX=yes'
  from PBUILD_FLAGS.
  
  While here, also remove 'WITHOUT_X11=yes', since it will
  cause a dependency conflict by requiring both print/ghostscript9
  and print/ghostscript9-nox11.
  
  Switch to OPTIONSNG format (WITHOUT_* -> OPTIONS_UNSET='FOO'),
  and unset the FOP option, which requires Java (although it is
  disabled by default).  Also unset the 'IGOR' option, since
  textproc/igor is a validation tool, not necessarily a dependency
  of the doc/ build itself.
  
  While here, reduce the line length of PBUILD_FLAGS.
  
  MFC after:	3 days
  Sponsored by:	The FreeBSD Foundation

Modified:
  head/release/release.sh

Modified: head/release/release.sh
==============================================================================
--- head/release/release.sh	Wed Nov 13 17:10:18 2013	(r258100)
+++ head/release/release.sh	Wed Nov 13 17:49:07 2013	(r258101)
@@ -174,7 +174,8 @@ build_doc_ports() {
 	## Trick the ports 'run-autotools-fixup' target to do the right thing.
 	_OSVERSION=$(sysctl -n kern.osreldate)
 	if [ -d ${CHROOTDIR}/usr/doc ] && [ "x${NODOC}" = "x" ]; then
-		PBUILD_FLAGS="OSVERSION=${_OSVERSION} WITHOUT_JADETEX=yes WITHOUT_X11=yes BATCH=yes"
+		PBUILD_FLAGS="OSVERSION=${_OSVERSION} BATCH=yes"
+		PBUILD_FLAGS="${PBUILD_FLAGS} OPTIONS_UNSET='FOP IGOR'"
 		chroot ${CHROOTDIR} make -C /usr/ports/textproc/docproj \
 			${PBUILD_FLAGS} install clean distclean
 	fi

From owner-svn-src-all@FreeBSD.ORG  Wed Nov 13 18:33:15 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 70C9ADE6;
 Wed, 13 Nov 2013 18:33:15 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 4577E263F;
 Wed, 13 Nov 2013 18:33:15 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rADIXFV9044116;
 Wed, 13 Nov 2013 18:33:15 GMT (envelope-from jhb@svn.freebsd.org)
Received: (from jhb@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rADIXEFR044114;
 Wed, 13 Nov 2013 18:33:14 GMT (envelope-from jhb@svn.freebsd.org)
Message-Id: <201311131833.rADIXEFR044114@svn.freebsd.org>
From: John Baldwin <jhb@FreeBSD.org>
Date: Wed, 13 Nov 2013 18:33:14 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject: svn commit: r258102 - in stable/9/sys: netinet netinet6
X-SVN-Group: stable-9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Nov 2013 18:33:15 -0000

Author: jhb
Date: Wed Nov 13 18:33:14 2013
New Revision: 258102
URL: http://svnweb.freebsd.org/changeset/base/258102

Log:
  MFC 255248:
  Use an unsigned long when indexing into mfchashtbl[] and mf6ctable[].  This
  matches the types used when computing hash indices and the type of the
  maximum size of mfchashtbl[].
  
  PR:		kern/181821

Modified:
  stable/9/sys/netinet/ip_mroute.c
  stable/9/sys/netinet6/ip6_mroute.c
Directory Properties:
  stable/9/sys/   (props changed)

Modified: stable/9/sys/netinet/ip_mroute.c
==============================================================================
--- stable/9/sys/netinet/ip_mroute.c	Wed Nov 13 17:49:07 2013	(r258101)
+++ stable/9/sys/netinet/ip_mroute.c	Wed Nov 13 18:33:14 2013	(r258102)
@@ -608,7 +608,7 @@ static void
 if_detached_event(void *arg __unused, struct ifnet *ifp)
 {
     vifi_t vifi;
-    int i;
+    u_long i;
 
     MROUTER_LOCK();
 
@@ -704,7 +704,7 @@ static int
 X_ip_mrouter_done(void)
 {
     struct ifnet *ifp;
-    int i;
+    u_long i;
     vifi_t vifi;
 
     MROUTER_LOCK();
@@ -796,7 +796,7 @@ set_assert(int i)
 int
 set_api_config(uint32_t *apival)
 {
-    int i;
+    u_long i;
 
     /*
      * We can set the API capabilities only if it is the first operation
@@ -1431,7 +1431,7 @@ non_fatal:
 static void
 expire_upcalls(void *arg)
 {
-    int i;
+    u_long i;
 
     CURVNET_SET((struct vnet *) arg);
 

Modified: stable/9/sys/netinet6/ip6_mroute.c
==============================================================================
--- stable/9/sys/netinet6/ip6_mroute.c	Wed Nov 13 17:49:07 2013	(r258101)
+++ stable/9/sys/netinet6/ip6_mroute.c	Wed Nov 13 18:33:14 2013	(r258102)
@@ -573,7 +573,7 @@ int
 X_ip6_mrouter_done(void)
 {
 	mifi_t mifi;
-	int i;
+	u_long i;
 	struct mf6c *rt;
 	struct rtdetq *rte;
 
@@ -1338,7 +1338,7 @@ expire_upcalls(void *unused)
 {
 	struct rtdetq *rte;
 	struct mf6c *mfc, **nptr;
-	int i;
+	u_long i;
 
 	MFC6_LOCK();
 	for (i = 0; i < MF6CTBLSIZ; i++) {

From owner-svn-src-all@FreeBSD.ORG  Wed Nov 13 18:35:07 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 0962FF83;
 Wed, 13 Nov 2013 18:35:07 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id D15B92660;
 Wed, 13 Nov 2013 18:35:06 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rADIZ6TT044388;
 Wed, 13 Nov 2013 18:35:06 GMT (envelope-from jhb@svn.freebsd.org)
Received: (from jhb@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rADIZ6TU044386;
 Wed, 13 Nov 2013 18:35:06 GMT (envelope-from jhb@svn.freebsd.org)
Message-Id: <201311131835.rADIZ6TU044386@svn.freebsd.org>
From: John Baldwin <jhb@FreeBSD.org>
Date: Wed, 13 Nov 2013 18:35:06 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org
Subject: svn commit: r258103 - in stable/8/sys: netinet netinet6
X-SVN-Group: stable-8
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Nov 2013 18:35:07 -0000

Author: jhb
Date: Wed Nov 13 18:35:06 2013
New Revision: 258103
URL: http://svnweb.freebsd.org/changeset/base/258103

Log:
  MFC 255248:
  Use an unsigned long when indexing into mfchashtbl[] and mf6ctable[].  This
  matches the types used when computing hash indices and the type of the
  maximum size of mfchashtbl[].
  
  PR:		kern/181821

Modified:
  stable/8/sys/netinet/ip_mroute.c
  stable/8/sys/netinet6/ip6_mroute.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/netinet/   (props changed)
  stable/8/sys/netinet6/   (props changed)

Modified: stable/8/sys/netinet/ip_mroute.c
==============================================================================
--- stable/8/sys/netinet/ip_mroute.c	Wed Nov 13 18:33:14 2013	(r258102)
+++ stable/8/sys/netinet/ip_mroute.c	Wed Nov 13 18:35:06 2013	(r258103)
@@ -610,7 +610,7 @@ static void
 if_detached_event(void *arg __unused, struct ifnet *ifp)
 {
     vifi_t vifi;
-    int i;
+    u_long i;
 
     MROUTER_LOCK();
 
@@ -706,7 +706,7 @@ static int
 X_ip_mrouter_done(void)
 {
     struct ifnet *ifp;
-    int i;
+    u_long i;
     vifi_t vifi;
 
     MROUTER_LOCK();
@@ -798,7 +798,7 @@ set_assert(int i)
 int
 set_api_config(uint32_t *apival)
 {
-    int i;
+    u_long i;
 
     /*
      * We can set the API capabilities only if it is the first operation
@@ -1432,7 +1432,7 @@ non_fatal:
 static void
 expire_upcalls(void *arg)
 {
-    int i;
+    u_long i;
 
     CURVNET_SET((struct vnet *) arg);
 

Modified: stable/8/sys/netinet6/ip6_mroute.c
==============================================================================
--- stable/8/sys/netinet6/ip6_mroute.c	Wed Nov 13 18:33:14 2013	(r258102)
+++ stable/8/sys/netinet6/ip6_mroute.c	Wed Nov 13 18:35:06 2013	(r258103)
@@ -571,7 +571,7 @@ int
 X_ip6_mrouter_done(void)
 {
 	mifi_t mifi;
-	int i;
+	u_long i;
 	struct mf6c *rt;
 	struct rtdetq *rte;
 
@@ -1337,7 +1337,7 @@ expire_upcalls(void *unused)
 {
 	struct rtdetq *rte;
 	struct mf6c *mfc, **nptr;
-	int i;
+	u_long i;
 
 	MFC6_LOCK();
 	for (i = 0; i < MF6CTBLSIZ; i++) {

From owner-svn-src-all@FreeBSD.ORG  Wed Nov 13 20:35:10 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id C5209718;
 Wed, 13 Nov 2013 20:35:10 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id B42402D74;
 Wed, 13 Nov 2013 20:35:10 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rADKZA1o085273;
 Wed, 13 Nov 2013 20:35:10 GMT (envelope-from ed@svn.freebsd.org)
Received: (from ed@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rADKZAXD085272;
 Wed, 13 Nov 2013 20:35:10 GMT (envelope-from ed@svn.freebsd.org)
Message-Id: <201311132035.rADKZAXD085272@svn.freebsd.org>
From: Ed Schouten <ed@FreeBSD.org>
Date: Wed, 13 Nov 2013 20:35:10 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258105 - head/usr.bin/login
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Nov 2013 20:35:10 -0000

Author: ed
Date: Wed Nov 13 20:35:10 2013
New Revision: 258105
URL: http://svnweb.freebsd.org/changeset/base/258105

Log:
  Fix whitespace.

Modified:
  head/usr.bin/login/login.c

Modified: head/usr.bin/login/login.c
==============================================================================
--- head/usr.bin/login/login.c	Wed Nov 13 19:40:34 2013	(r258104)
+++ head/usr.bin/login/login.c	Wed Nov 13 20:35:10 2013	(r258105)
@@ -103,8 +103,8 @@ static void		 usage(void);
 #define	DEFAULT_PASSWD_PROMPT	"Password:"
 #define	TERM_UNKNOWN		"su"
 #define	DEFAULT_WARN		(2L * 7L * 86400L)	/* Two weeks */
-#define NO_SLEEP_EXIT		0
-#define SLEEP_EXIT		5
+#define	NO_SLEEP_EXIT		0
+#define	SLEEP_EXIT		5
 
 /*
  * This bounds the time given to login.  Not a define so it can
@@ -380,12 +380,12 @@ main(int argc, char *argv[])
 		au_login_success();
 #endif
 
-        /*
-         * This needs to happen before login_getpwclass to support
-         * home directories on GSS-API authenticated NFS where the
-         * kerberos credentials need to be saved so that the kernel
-         * can authenticate to the NFS server.
-         */
+	/*
+	 * This needs to happen before login_getpwclass to support
+	 * home directories on GSS-API authenticated NFS where the
+	 * kerberos credentials need to be saved so that the kernel
+	 * can authenticate to the NFS server.
+	 */
 	pam_err = pam_setcred(pamh, pam_silent|PAM_ESTABLISH_CRED);
 	if (pam_err != PAM_SUCCESS) {
 		pam_syslog("pam_setcred()");

From owner-svn-src-all@FreeBSD.ORG  Wed Nov 13 22:31:57 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 2A4AF265;
 Wed, 13 Nov 2013 22:31:57 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 1980C25BC;
 Wed, 13 Nov 2013 22:31:57 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rADMVuIu024828;
 Wed, 13 Nov 2013 22:31:56 GMT (envelope-from jhb@svn.freebsd.org)
Received: (from jhb@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rADMVu0J024826;
 Wed, 13 Nov 2013 22:31:56 GMT (envelope-from jhb@svn.freebsd.org)
Message-Id: <201311132231.rADMVu0J024826@svn.freebsd.org>
From: John Baldwin <jhb@FreeBSD.org>
Date: Wed, 13 Nov 2013 22:31:56 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject: svn commit: r258106 - stable/9/sys/kern
X-SVN-Group: stable-9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Nov 2013 22:31:57 -0000

Author: jhb
Date: Wed Nov 13 22:31:56 2013
New Revision: 258106
URL: http://svnweb.freebsd.org/changeset/base/258106

Log:
  MFC 255490,255491:
  Fix the type of the idtype argument to wait6() in syscalls.master.

Modified:
  stable/9/sys/kern/makesyscalls.sh
  stable/9/sys/kern/syscalls.master
Directory Properties:
  stable/9/sys/   (props changed)

Modified: stable/9/sys/kern/makesyscalls.sh
==============================================================================
--- stable/9/sys/kern/makesyscalls.sh	Wed Nov 13 20:35:10 2013	(r258105)
+++ stable/9/sys/kern/makesyscalls.sh	Wed Nov 13 22:31:56 2013	(r258106)
@@ -153,7 +153,8 @@ s/\$//g
 		printf "#include <sys/acl.h>\n" > sysarg
 		printf "#include <sys/cpuset.h>\n" > sysarg
 		printf "#include <sys/_semaphore.h>\n" > sysarg
-		printf "#include <sys/ucontext.h>\n\n" > sysarg
+		printf "#include <sys/ucontext.h>\n" > sysarg
+		printf "#include <sys/wait.h>\n\n" > sysarg
 		printf "#include <bsm/audit_kevents.h>\n\n" > sysarg
 		printf "struct proc;\n\n" > sysarg
 		printf "struct thread;\n\n" > sysarg

Modified: stable/9/sys/kern/syscalls.master
==============================================================================
--- stable/9/sys/kern/syscalls.master	Wed Nov 13 20:35:10 2013	(r258105)
+++ stable/9/sys/kern/syscalls.master	Wed Nov 13 22:31:56 2013	(r258106)
@@ -949,7 +949,7 @@
 				    off_t offset, off_t len); }
 531	AUE_NULL	STD	{ int posix_fadvise(int fd, off_t offset, \
 				    off_t len, int advice); }
-532	AUE_WAIT6	STD	{ int wait6(int idtype, id_t id, \
+532	AUE_WAIT6	STD	{ int wait6(idtype_t idtype, id_t id, \
 				    int *status, int options, \
 				    struct __wrusage *wrusage, \
 				    siginfo_t *info); }

From owner-svn-src-all@FreeBSD.ORG  Wed Nov 13 22:32:37 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 78C883DD;
 Wed, 13 Nov 2013 22:32:37 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 6792925C7;
 Wed, 13 Nov 2013 22:32:37 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rADMWb4m024962;
 Wed, 13 Nov 2013 22:32:37 GMT (envelope-from jhb@svn.freebsd.org)
Received: (from jhb@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rADMWaF6024955;
 Wed, 13 Nov 2013 22:32:36 GMT (envelope-from jhb@svn.freebsd.org)
Message-Id: <201311132232.rADMWaF6024955@svn.freebsd.org>
From: John Baldwin <jhb@FreeBSD.org>
Date: Wed, 13 Nov 2013 22:32:36 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject: svn commit: r258107 - in stable/9/sys: kern sys
X-SVN-Group: stable-9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Nov 2013 22:32:37 -0000

Author: jhb
Date: Wed Nov 13 22:32:35 2013
New Revision: 258107
URL: http://svnweb.freebsd.org/changeset/base/258107

Log:
  Regen.

Modified:
  stable/9/sys/kern/init_sysent.c
  stable/9/sys/kern/syscalls.c
  stable/9/sys/kern/systrace_args.c
  stable/9/sys/sys/syscall.h
  stable/9/sys/sys/syscall.mk
  stable/9/sys/sys/sysproto.h

Modified: stable/9/sys/kern/init_sysent.c
==============================================================================
--- stable/9/sys/kern/init_sysent.c	Wed Nov 13 22:31:56 2013	(r258106)
+++ stable/9/sys/kern/init_sysent.c	Wed Nov 13 22:32:35 2013	(r258107)
@@ -3,7 +3,7 @@
  *
  * DO NOT EDIT-- this file is automatically generated.
  * $FreeBSD$
- * created from FreeBSD: stable/9/sys/kern/syscalls.master 254398 2013-08-16 06:40:12Z davidxu 
+ * created from FreeBSD: stable/9/sys/kern/syscalls.master 258106 2013-11-13 22:31:56Z jhb 
  */
 
 #include "opt_compat.h"

Modified: stable/9/sys/kern/syscalls.c
==============================================================================
--- stable/9/sys/kern/syscalls.c	Wed Nov 13 22:31:56 2013	(r258106)
+++ stable/9/sys/kern/syscalls.c	Wed Nov 13 22:32:35 2013	(r258107)
@@ -3,7 +3,7 @@
  *
  * DO NOT EDIT-- this file is automatically generated.
  * $FreeBSD$
- * created from FreeBSD: stable/9/sys/kern/syscalls.master 254398 2013-08-16 06:40:12Z davidxu 
+ * created from FreeBSD: stable/9/sys/kern/syscalls.master 258106 2013-11-13 22:31:56Z jhb 
  */
 
 const char *syscallnames[] = {

Modified: stable/9/sys/kern/systrace_args.c
==============================================================================
--- stable/9/sys/kern/systrace_args.c	Wed Nov 13 22:31:56 2013	(r258106)
+++ stable/9/sys/kern/systrace_args.c	Wed Nov 13 22:32:35 2013	(r258107)
@@ -3256,7 +3256,7 @@ systrace_args(int sysnum, void *params, 
 	/* wait6 */
 	case 532: {
 		struct wait6_args *p = params;
-		iarg[0] = p->idtype; /* int */
+		iarg[0] = p->idtype; /* idtype_t */
 		iarg[1] = p->id; /* id_t */
 		uarg[2] = (intptr_t) p->status; /* int * */
 		iarg[3] = p->options; /* int */
@@ -8673,7 +8673,7 @@ systrace_setargdesc(int sysnum, int ndx,
 	case 532:
 		switch(ndx) {
 		case 0:
-			p = "int";
+			p = "idtype_t";
 			break;
 		case 1:
 			p = "id_t";

Modified: stable/9/sys/sys/syscall.h
==============================================================================
--- stable/9/sys/sys/syscall.h	Wed Nov 13 22:31:56 2013	(r258106)
+++ stable/9/sys/sys/syscall.h	Wed Nov 13 22:32:35 2013	(r258107)
@@ -3,7 +3,7 @@
  *
  * DO NOT EDIT-- this file is automatically generated.
  * $FreeBSD$
- * created from FreeBSD: stable/9/sys/kern/syscalls.master 254398 2013-08-16 06:40:12Z davidxu 
+ * created from FreeBSD: stable/9/sys/kern/syscalls.master 258106 2013-11-13 22:31:56Z jhb 
  */
 
 #define	SYS_syscall	0

Modified: stable/9/sys/sys/syscall.mk
==============================================================================
--- stable/9/sys/sys/syscall.mk	Wed Nov 13 22:31:56 2013	(r258106)
+++ stable/9/sys/sys/syscall.mk	Wed Nov 13 22:32:35 2013	(r258107)
@@ -1,7 +1,7 @@
 # FreeBSD system call names.
 # DO NOT EDIT-- this file is automatically generated.
 # $FreeBSD$
-# created from FreeBSD: stable/9/sys/kern/syscalls.master 254398 2013-08-16 06:40:12Z davidxu 
+# created from FreeBSD: stable/9/sys/kern/syscalls.master 258106 2013-11-13 22:31:56Z jhb 
 MIASM =  \
 	syscall.o \
 	exit.o \

Modified: stable/9/sys/sys/sysproto.h
==============================================================================
--- stable/9/sys/sys/sysproto.h	Wed Nov 13 22:31:56 2013	(r258106)
+++ stable/9/sys/sys/sysproto.h	Wed Nov 13 22:32:35 2013	(r258107)
@@ -3,7 +3,7 @@
  *
  * DO NOT EDIT-- this file is automatically generated.
  * $FreeBSD$
- * created from FreeBSD: stable/9/sys/kern/syscalls.master 254398 2013-08-16 06:40:12Z davidxu 
+ * created from FreeBSD: stable/9/sys/kern/syscalls.master 258106 2013-11-13 22:31:56Z jhb 
  */
 
 #ifndef _SYS_SYSPROTO_H_
@@ -14,6 +14,7 @@
 #include <sys/cpuset.h>
 #include <sys/_semaphore.h>
 #include <sys/ucontext.h>
+#include <sys/wait.h>
 
 #include <bsm/audit_kevents.h>
 
@@ -1745,7 +1746,7 @@ struct posix_fadvise_args {
 	char advice_l_[PADL_(int)]; int advice; char advice_r_[PADR_(int)];
 };
 struct wait6_args {
-	char idtype_l_[PADL_(int)]; int idtype; char idtype_r_[PADR_(int)];
+	char idtype_l_[PADL_(idtype_t)]; idtype_t idtype; char idtype_r_[PADR_(idtype_t)];
 	char id_l_[PADL_(id_t)]; id_t id; char id_r_[PADR_(id_t)];
 	char status_l_[PADL_(int *)]; int * status; char status_r_[PADR_(int *)];
 	char options_l_[PADL_(int)]; int options; char options_r_[PADR_(int)];

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 00:06:45 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 672AADDF;
 Thu, 14 Nov 2013 00:06:45 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 56DFF2C67;
 Thu, 14 Nov 2013 00:06:45 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAE06jqw056222;
 Thu, 14 Nov 2013 00:06:45 GMT (envelope-from sjg@svn.freebsd.org)
Received: (from sjg@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAE06j2J056221;
 Thu, 14 Nov 2013 00:06:45 GMT (envelope-from sjg@svn.freebsd.org)
Message-Id: <201311140006.rAE06j2J056221@svn.freebsd.org>
From: "Simon J. Gerraty" <sjg@FreeBSD.org>
Date: Thu, 14 Nov 2013 00:06:45 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258113 - head/contrib/bmake/lst.lib
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 00:06:45 -0000

Author: sjg
Date: Thu Nov 14 00:06:44 2013
New Revision: 258113
URL: http://svnweb.freebsd.org/changeset/base/258113

Log:
  Avoid SEGV when passed NULL for list

Modified:
  head/contrib/bmake/lst.lib/lstMember.c

Modified: head/contrib/bmake/lst.lib/lstMember.c
==============================================================================
--- head/contrib/bmake/lst.lib/lstMember.c	Thu Nov 14 00:02:18 2013	(r258112)
+++ head/contrib/bmake/lst.lib/lstMember.c	Thu Nov 14 00:06:44 2013	(r258113)
@@ -58,6 +58,9 @@ Lst_Member(Lst l, void *d)
     List    	  	list = l;
     ListNode	lNode;
 
+    if (list == NULL) {
+	return NULL;
+    }
     lNode = list->firstPtr;
     if (lNode == NULL) {
 	return NULL;

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 00:29:49 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 6EE3B5ED;
 Thu, 14 Nov 2013 00:29:49 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 5E12F2DAB;
 Thu, 14 Nov 2013 00:29:49 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAE0Tnet063362;
 Thu, 14 Nov 2013 00:29:49 GMT (envelope-from sjg@svn.freebsd.org)
Received: (from sjg@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAE0TnOQ063361;
 Thu, 14 Nov 2013 00:29:49 GMT (envelope-from sjg@svn.freebsd.org)
Message-Id: <201311140029.rAE0TnOQ063361@svn.freebsd.org>
From: "Simon J. Gerraty" <sjg@FreeBSD.org>
Date: Thu, 14 Nov 2013 00:29:49 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258114 - head/contrib/bmake
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 00:29:49 -0000

Author: sjg
Date: Thu Nov 14 00:29:48 2013
New Revision: 258114
URL: http://svnweb.freebsd.org/changeset/base/258114

Log:
  Don't SEGV when Hash_Table is uninitialized

Modified:
  head/contrib/bmake/hash.c

Modified: head/contrib/bmake/hash.c
==============================================================================
--- head/contrib/bmake/hash.c	Thu Nov 14 00:06:44 2013	(r258113)
+++ head/contrib/bmake/hash.c	Thu Nov 14 00:29:48 2013	(r258114)
@@ -221,6 +221,9 @@ Hash_FindEntry(Hash_Table *t, const char
 	unsigned h;
 	const char *p;
 
+	if (t == NULL || t->bucketPtr == NULL) {
+	    return NULL;
+	}
 	for (h = 0, p = key; *p;)
 		h = (h << 5) - h + *p++;
 	p = key;

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 00:57:21 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 9E686F14;
 Thu, 14 Nov 2013 00:57:21 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 8D7752F4A;
 Thu, 14 Nov 2013 00:57:21 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAE0vLZS072866;
 Thu, 14 Nov 2013 00:57:21 GMT (envelope-from pfg@svn.freebsd.org)
Received: (from pfg@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAE0vKt8072856;
 Thu, 14 Nov 2013 00:57:20 GMT (envelope-from pfg@svn.freebsd.org)
Message-Id: <201311140057.rAE0vKt8072856@svn.freebsd.org>
From: "Pedro F. Giffuni" <pfg@FreeBSD.org>
Date: Thu, 14 Nov 2013 00:57:20 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258115 - in head/contrib/gperf: doc src
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 00:57:21 -0000

Author: pfg
Date: Thu Nov 14 00:57:20 2013
New Revision: 258115
URL: http://svnweb.freebsd.org/changeset/base/258115

Log:
  gperf: bring small update from Apple Developers tools 4.4
  
  From [1]
  
  offset.patch
  Makes use the C offsetof() macro.
  
  size_type.patch
  Lets you specify the type for length parameters.
  
  [1] http://opensource.apple.com/source/gperf/gperf-9/patches/
  
  MFC after:	3 weeks

Modified:
  head/contrib/gperf/doc/gperf.1
  head/contrib/gperf/src/options.cc
  head/contrib/gperf/src/options.h
  head/contrib/gperf/src/options.icc
  head/contrib/gperf/src/output.cc

Modified: head/contrib/gperf/doc/gperf.1
==============================================================================
--- head/contrib/gperf/doc/gperf.1	Thu Nov 14 00:29:48 2013	(r258114)
+++ head/contrib/gperf/doc/gperf.1	Thu Nov 14 00:57:20 2013	(r258115)
@@ -1,7 +1,7 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.23.
-.TH GPERF "1" "May 2007" "GNU gperf 3.0.3" FSF
+.TH GPERF "1" "October 2011" "GNU gperf 3.0.3" FSF
 .SH NAME
-gperf \- generate a perfect hash function from a key set
+gperf \- manual page for gperf 3.0.3
 .SH SYNOPSIS
 .B gperf
 [\fIOPTION\fR]... [\fIINPUT-FILE\fR]
@@ -129,6 +129,10 @@ binary search.
 Prevents the transfer of the type declaration to the
 output file. Use this option if the type is already
 defined elsewhere.
+.TP
+\fB\-\-size\-type\fR=\fITYPE\fR
+Specify the type for length parameters. Default type is
+\&'unsigned int'.
 .SS "Algorithm employed by gperf:"
 .TP
 \fB\-k\fR, \fB\-\-key\-positions\fR=\fIKEYS\fR

Modified: head/contrib/gperf/src/options.cc
==============================================================================
--- head/contrib/gperf/src/options.cc	Thu Nov 14 00:29:48 2013	(r258114)
+++ head/contrib/gperf/src/options.cc	Thu Nov 14 00:57:20 2013	(r258115)
@@ -67,6 +67,8 @@ static const char *const DEFAULT_STRINGP
 /* Default delimiters that separate keywords from their attributes.  */
 static const char *const DEFAULT_DELIMITERS = ",";
 
+static const char *const DEFAULT_SIZE_TYPE = "unsigned int";
+
 /* Prints program usage to given stream.  */
 
 void
@@ -202,6 +204,9 @@ Options::long_usage (FILE * stream)
            "                         Prevents the transfer of the type declaration to the\n"
            "                         output file. Use this option if the type is already\n"
            "                         defined elsewhere.\n");
+  fprintf (stream,
+           "      --size-type=TYPE   Specify the type for length parameters. Default type is\n"
+	   "                         'unsigned int'.\n");
   fprintf (stream, "\n");
   fprintf (stream,
            "Algorithm employed by gperf:\n");
@@ -470,6 +475,7 @@ Options::Options ()
     _lengthtable_name (DEFAULT_LENGTHTABLE_NAME),
     _stringpool_name (DEFAULT_STRINGPOOL_NAME),
     _delimiters (DEFAULT_DELIMITERS),
+    _size_type (DEFAULT_SIZE_TYPE),
     _key_positions ()
 {
 }
@@ -514,6 +520,7 @@ Options::~Options ()
                "\nhash table size multiplier = %g"
                "\ninitial associated value = %d"
                "\ndelimiters = %s"
+	       "\nsize type = %s"
                "\nnumber of switch statements = %d\n",
                _option_word & TYPE ? "enabled" : "disabled",
                _option_word & UPPERLOWER ? "enabled" : "disabled",
@@ -539,7 +546,7 @@ Options::~Options ()
                _function_name, _hash_name, _wordlist_name, _lengthtable_name,
                _stringpool_name, _slot_name, _initializer_suffix,
                _asso_iterations, _jump, _size_multiple, _initial_asso_value,
-               _delimiters, _total_switches);
+               _delimiters, _size_type, _total_switches);
       if (_key_positions.is_useall())
         fprintf (stderr, "all characters are used in the hash function\n");
       else
@@ -668,6 +675,12 @@ Options::set_delimiters (const char *del
     _delimiters = delimiters;
 }
 
+void
+Options::set_size_type (const char *size_type)
+{
+  if (_size_type == DEFAULT_SIZE_TYPE) 
+    _size_type = size_type;
+}
 
 /* Parses the command line Options and sets appropriate flags in option_word.  */
 
@@ -693,6 +706,7 @@ static const struct option long_options[
   { "global-table", no_argument, NULL, 'G' },
   { "word-array-name", required_argument, NULL, 'W' },
   { "length-table-name", required_argument, NULL, CHAR_MAX + 4 },
+  { "size-type", required_argument, NULL, CHAR_MAX + 5 },
   { "switch", required_argument, NULL, 'S' },
   { "omit-struct-type", no_argument, NULL, 'T' },
   { "key-positions", required_argument, NULL, 'k' },
@@ -1046,6 +1060,11 @@ warranty; not even for MERCHANTABILITY o
             _lengthtable_name = /*getopt*/optarg;
             break;
           }
+        case CHAR_MAX + 5:      /* Sets the name for the length table array.  */
+          {
+            _size_type = /*getopt*/optarg;
+            break;
+          }
         default:
           short_usage (stderr);
           exit (1);

Modified: head/contrib/gperf/src/options.h
==============================================================================
--- head/contrib/gperf/src/options.h	Thu Nov 14 00:29:48 2013	(r258114)
+++ head/contrib/gperf/src/options.h	Thu Nov 14 00:57:20 2013	(r258115)
@@ -209,6 +209,9 @@ public:
   /* Sets the delimiters string, if not already set.  */
   void                  set_delimiters (const char *delimiters);
 
+  const char *		get_size_type() const;
+  void			set_size_type(const char*);
+
   /* Returns key positions.  */
   const Positions&      get_key_positions () const;
 
@@ -279,6 +282,8 @@ private:
   /* Separates keywords from other attributes.  */
   const char *          _delimiters;
 
+  const char *		_size_type;
+
   /* Contains user-specified key choices.  */
   Positions             _key_positions;
 };

Modified: head/contrib/gperf/src/options.icc
==============================================================================
--- head/contrib/gperf/src/options.icc	Thu Nov 14 00:29:48 2013	(r258114)
+++ head/contrib/gperf/src/options.icc	Thu Nov 14 00:57:20 2013	(r258115)
@@ -155,3 +155,9 @@ Options::get_key_positions () const
 {
   return _key_positions;
 }
+
+INLINE const char *
+Options::get_size_type() const
+{
+	return _size_type;
+}

Modified: head/contrib/gperf/src/output.cc
==============================================================================
--- head/contrib/gperf/src/output.cc	Thu Nov 14 00:29:48 2013	(r258114)
+++ head/contrib/gperf/src/output.cc	Thu Nov 14 00:57:20 2013	(r258115)
@@ -772,14 +772,14 @@ Output::output_hash_function () const
   printf (option[KRC] ?
                  "(str, len)\n"
             "     register char *str;\n"
-            "     register unsigned int len;\n" :
+            "     register %s len;\n" :
           option[C] ?
                  "(str, len)\n"
             "     register const char *str;\n"
-            "     register unsigned int len;\n" :
+            "     register %s len;\n" :
           option[ANSIC] | option[CPLUSPLUS] ?
-                 "(register const char *str, register unsigned int len)\n" :
-          "");
+                 "(register const char *str, register %s len)\n" :
+          "", option.get_size_type());
 
   /* Note that when the hash function is called, it has already been verified
      that  min_key_len <= len <= max_key_len.  */
@@ -875,7 +875,7 @@ Output::output_hash_function () const
                   "  switch (%s)\n"
                   "    {\n"
                   "      default:\n",
-                  option[NOLENGTH] ? "0" : "len",
+                  option[NOLENGTH] ? "0" : "(int)len",
                   option[NOLENGTH] ? "len" : "hval");
 
           while (key_pos != Positions::LASTCHAR && key_pos >= _max_key_len)
@@ -1106,9 +1106,7 @@ output_keyword_entry (KeywordExt *temp, 
   if (option[TYPE])
     printf ("{");
   if (option[SHAREDLIB])
-    printf ("(int)(long)&((struct %s_t *)0)->%s_str%d",
-            option.get_stringpool_name (), option.get_stringpool_name (),
-            stringpool_index);
+    printf("offsetof(struct %s_t, %s_str%d)", option.get_stringpool_name (), option.get_stringpool_name (), stringpool_index);
   else
     output_string (temp->_allchars, temp->_allchars_length);
   if (option[TYPE])
@@ -1902,14 +1900,14 @@ Output::output_lookup_function () const
   printf (option[KRC] ?
                  "(str, len)\n"
             "     register char *str;\n"
-            "     register unsigned int len;\n" :
+            "     register %s len;\n" :
           option[C] ?
                  "(str, len)\n"
             "     register const char *str;\n"
-            "     register unsigned int len;\n" :
+            "     register %s len;\n" :
           option[ANSIC] | option[CPLUSPLUS] ?
-                 "(register const char *str, register unsigned int len)\n" :
-          "");
+                 "(register const char *str, register %s len)\n" :
+          "", option.get_size_type());
 
   /* Output the function's body.  */
   printf ("{\n");
@@ -2035,8 +2033,11 @@ Output::output ()
       printf ("%s\n", _struct_decl);
     }
 
-  if (option[INCLUDE])
+  if (option[INCLUDE]) {
     printf ("#include <string.h>\n"); /* Declare strlen(), strcmp(), strncmp(). */
+    if (option[SHAREDLIB])
+      printf("#include <stddef.h>\n"); /* Declare offsetof() */
+  }
 
   if (!option[ENUM])
     {
@@ -2073,13 +2074,14 @@ Output::output ()
     printf ("class %s\n"
             "{\n"
             "private:\n"
-            "  static inline unsigned int %s (const char *str, unsigned int len);\n"
+            "  static inline unsigned int %s (const char *str, %s len);\n"
             "public:\n"
-            "  static %s%s%s (const char *str, unsigned int len);\n"
+            "  static %s%s%s (const char *str, %s len);\n"
             "};\n"
             "\n",
-            option.get_class_name (), option.get_hash_name (),
-            const_for_struct, _return_type, option.get_function_name ());
+            option.get_class_name (), option.get_hash_name (), option.get_size_type(),
+            const_for_struct, _return_type, option.get_function_name (),
+	    option.get_size_type());
 
   output_hash_function ();
 

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 07:21:09 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id DBF715A7;
 Thu, 14 Nov 2013 07:21:09 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id CBE6F2300;
 Thu, 14 Nov 2013 07:21:09 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAE7L98e002884;
 Thu, 14 Nov 2013 07:21:09 GMT (envelope-from adrian@svn.freebsd.org)
Received: (from adrian@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAE7L9tW002883;
 Thu, 14 Nov 2013 07:21:09 GMT (envelope-from adrian@svn.freebsd.org)
Message-Id: <201311140721.rAE7L9tW002883@svn.freebsd.org>
From: Adrian Chadd <adrian@FreeBSD.org>
Date: Thu, 14 Nov 2013 07:21:09 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258117 - head/sys/dev/iwn
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 07:21:09 -0000

Author: adrian
Date: Thu Nov 14 07:21:09 2013
New Revision: 258117
URL: http://svnweb.freebsd.org/changeset/base/258117

Log:
  This is "scan_flags" from Linux.

Modified:
  head/sys/dev/iwn/if_iwnreg.h

Modified: head/sys/dev/iwn/if_iwnreg.h
==============================================================================
--- head/sys/dev/iwn/if_iwnreg.h	Thu Nov 14 02:20:35 2013	(r258116)
+++ head/sys/dev/iwn/if_iwnreg.h	Thu Nov 14 07:21:09 2013	(r258117)
@@ -885,7 +885,7 @@ struct iwn_scan_essid {
 
 struct iwn_scan_hdr {
 	uint16_t	len;
-	uint8_t		reserved1;
+	uint8_t		scan_flags;
 	uint8_t		nchan;
 	uint16_t	quiet_time;
 	uint16_t	quiet_threshold;

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 07:27:01 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 1765076A;
 Thu, 14 Nov 2013 07:27:01 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 071622325;
 Thu, 14 Nov 2013 07:27:01 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAE7R09R003557;
 Thu, 14 Nov 2013 07:27:00 GMT (envelope-from adrian@svn.freebsd.org)
Received: (from adrian@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAE7R0PY003556;
 Thu, 14 Nov 2013 07:27:00 GMT (envelope-from adrian@svn.freebsd.org)
Message-Id: <201311140727.rAE7R0PY003556@svn.freebsd.org>
From: Adrian Chadd <adrian@FreeBSD.org>
Date: Thu, 14 Nov 2013 07:27:00 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258118 - head/sys/dev/iwn
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 07:27:01 -0000

Author: adrian
Date: Thu Nov 14 07:27:00 2013
New Revision: 258118
URL: http://svnweb.freebsd.org/changeset/base/258118

Log:
  Fix (I think!) the scan timeouts on the intel NICs.
  
  This field needs to be (a) set, and (b) greater than the other timeouts
  (passive, active, maxquiet, etc.)  It also is in microseconds, not
  milliseconds.
  
  I hope this will fix the scan hangs that people are seeing.
  
  Obtained from:	Linux iwlwifi

Modified:
  head/sys/dev/iwn/if_iwn.c

Modified: head/sys/dev/iwn/if_iwn.c
==============================================================================
--- head/sys/dev/iwn/if_iwn.c	Thu Nov 14 07:21:09 2013	(r258117)
+++ head/sys/dev/iwn/if_iwn.c	Thu Nov 14 07:27:00 2013	(r258118)
@@ -6184,6 +6184,11 @@ iwn_scan(struct iwn_softc *sc)
 	 */
 	hdr->quiet_time = htole16(10);		/* timeout in milliseconds */
 	hdr->quiet_threshold = htole16(1);	/* min # of packets */
+	/*
+	 * Max needs to be greater than active and passive and quiet!
+	 * It's also in microseconds!
+	 */
+	hdr->max_svc = htole32(250 * 1000);
 
 	/* Select antennas for scanning. */
 	rxchain =

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 07:41:52 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id D93B2B6E;
 Thu, 14 Nov 2013 07:41:52 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id BE53C2405;
 Thu, 14 Nov 2013 07:41:52 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAE7fqeA009347;
 Thu, 14 Nov 2013 07:41:52 GMT
 (envelope-from jhibbits@svn.freebsd.org)
Received: (from jhibbits@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAE7fqJo009346;
 Thu, 14 Nov 2013 07:41:52 GMT
 (envelope-from jhibbits@svn.freebsd.org)
Message-Id: <201311140741.rAE7fqJo009346@svn.freebsd.org>
From: Justin Hibbits <jhibbits@FreeBSD.org>
Date: Thu, 14 Nov 2013 07:41:52 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258119 - head/sys/powerpc/aim
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 07:41:52 -0000

Author: jhibbits
Date: Thu Nov 14 07:41:52 2013
New Revision: 258119
URL: http://svnweb.freebsd.org/changeset/base/258119

Log:
  Fix copy+paste-o, OEA64 uses LPTE, not PTE.
  
  X-MFC with:	r257941

Modified:
  head/sys/powerpc/aim/mmu_oea64.c

Modified: head/sys/powerpc/aim/mmu_oea64.c
==============================================================================
--- head/sys/powerpc/aim/mmu_oea64.c	Thu Nov 14 07:27:00 2013	(r258118)
+++ head/sys/powerpc/aim/mmu_oea64.c	Thu Nov 14 07:41:52 2013	(r258119)
@@ -2642,7 +2642,7 @@ moea64_scan_md(mmu_t mmu, struct pmap_md
 				pvo = moea64_pvo_find_va(kernel_pmap,
 				    va & ~ADDR_POFF);
 				if (pvo != NULL &&
-				    (pvo->pvo_pte.pte.pte_hi & PTE_VALID))
+				    (pvo->pvo_pte.lpte.pte_hi & LPTE_VALID))
 					break;
 				va += PAGE_SIZE;
 			}
@@ -2657,7 +2657,7 @@ moea64_scan_md(mmu_t mmu, struct pmap_md
 					pvo = moea64_pvo_find_va(kernel_pmap,
 					    va & ~ADDR_POFF);
 					if (pvo == NULL ||
-					    !(pvo->pvo_pte.pte.pte_hi & PTE_VALID))
+					    !(pvo->pvo_pte.lpte.pte_hi & LPTE_VALID))
 						break;
 					va += PAGE_SIZE;
 				}

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 08:07:55 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id D871A152;
 Thu, 14 Nov 2013 08:07:55 +0000 (UTC)
Received: from cyrus.watson.org (cyrus.watson.org [198.74.231.69])
 by mx1.freebsd.org (Postfix) with ESMTP id B0DD5251A;
 Thu, 14 Nov 2013 08:07:55 +0000 (UTC)
Received: from fledge.watson.org (fledge.watson.org [198.74.231.63])
 by cyrus.watson.org (Postfix) with ESMTPS id 6D1C446B3C;
 Thu, 14 Nov 2013 03:07:54 -0500 (EST)
Date: Thu, 14 Nov 2013 08:07:54 +0000 (GMT)
From: Robert Watson <rwatson@FreeBSD.org>
X-X-Sender: robert@fledge.watson.org
To: Edward Tomasz Napierala <trasz@FreeBSD.org>
Subject: Re: svn commit: r258041 - head/lib/libc/posix1e
In-Reply-To: <201311121044.rACAigGi093973@svn.freebsd.org>
Message-ID: <alpine.BSF.2.00.1311140807000.10113@fledge.watson.org>
References: <201311121044.rACAigGi093973@svn.freebsd.org>
User-Agent: Alpine 2.00 (BSF 1167 2008-08-23)
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org,
 src-committers@freebsd.org
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 08:07:55 -0000

On Tue, 12 Nov 2013, Edward Tomasz Napierala wrote:

>  Mention acl_get_brand_np(3).
>
>  MFC after:	2 weeks
>  Sponsored by:	The FreeBSD Foundation

Doing some writing recently, I did wonder if acl(3) and some of the other ACL 
API man pages might need a bit more updating to be clear about support for 
NFSv4 ACLs.  The user-facing man pages (getfacl(1), setfacl(1)) appear fully 
updated, but not much mention of NFSv4 in the programmer documentation.

Robert

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 09:11:54 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id DEB436D8;
 Thu, 14 Nov 2013 09:11:54 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id CE845293A;
 Thu, 14 Nov 2013 09:11:54 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAE9BsME039803;
 Thu, 14 Nov 2013 09:11:54 GMT (envelope-from glebius@svn.freebsd.org)
Received: (from glebius@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAE9BsWk039802;
 Thu, 14 Nov 2013 09:11:54 GMT (envelope-from glebius@svn.freebsd.org)
Message-Id: <201311140911.rAE9BsWk039802@svn.freebsd.org>
From: Gleb Smirnoff <glebius@FreeBSD.org>
Date: Thu, 14 Nov 2013 09:11:54 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject: svn commit: r258120 - stable/10/sys/dev/ipmi
X-SVN-Group: stable-10
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 09:11:55 -0000

Author: glebius
Date: Thu Nov 14 09:11:54 2013
New Revision: 258120
URL: http://svnweb.freebsd.org/changeset/base/258120

Log:
  Merge r257421 from head:
  
    Provide a crutch that prevents watchdog to interrupt dumping
    on a box with IPMI enabled.
  
  Approved by:	re (kib)

Modified:
  stable/10/sys/dev/ipmi/ipmi.c
Directory Properties:
  stable/10/sys/   (props changed)

Modified: stable/10/sys/dev/ipmi/ipmi.c
==============================================================================
--- stable/10/sys/dev/ipmi/ipmi.c	Thu Nov 14 07:41:52 2013	(r258119)
+++ stable/10/sys/dev/ipmi/ipmi.c	Thu Nov 14 09:11:54 2013	(r258120)
@@ -647,6 +647,9 @@ ipmi_wd_event(void *arg, unsigned int cm
 	unsigned int timeout;
 	int e;
 
+	if (dumping)
+		return;
+
 	cmd &= WD_INTERVAL;
 	if (cmd > 0 && cmd <= 63) {
 		timeout = ((uint64_t)1 << cmd) / 1000000000;

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 09:14:35 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id D39F484D;
 Thu, 14 Nov 2013 09:14:35 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id B5431295B;
 Thu, 14 Nov 2013 09:14:35 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAE9EZfT040227;
 Thu, 14 Nov 2013 09:14:35 GMT (envelope-from glebius@svn.freebsd.org)
Received: (from glebius@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAE9EYVP040220;
 Thu, 14 Nov 2013 09:14:34 GMT (envelope-from glebius@svn.freebsd.org)
Message-Id: <201311140914.rAE9EYVP040220@svn.freebsd.org>
From: Gleb Smirnoff <glebius@FreeBSD.org>
Date: Thu, 14 Nov 2013 09:14:34 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject: svn commit: r258121 - in stable/10/etc: . defaults namedb
 periodic/daily rc.d
X-SVN-Group: stable-10
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 09:14:35 -0000

Author: glebius
Date: Thu Nov 14 09:14:33 2013
New Revision: 258121
URL: http://svnweb.freebsd.org/changeset/base/258121

Log:
  Merge r257694 from head:
  
    Remove remnants of BIND from /etc, since there is no BIND in base now.
  
    Sorry, that would break users running head and BIND from ports, since
    ports rely on these scripts. The ports will be fixed soon.
  
  Approved by:	re (kib)

Deleted:
  stable/10/etc/namedb/
  stable/10/etc/periodic/daily/470.status-named
  stable/10/etc/rc.d/named
Modified:
  stable/10/etc/defaults/periodic.conf
  stable/10/etc/defaults/rc.conf
  stable/10/etc/freebsd-update.conf
  stable/10/etc/rc.d/Makefile
  stable/10/etc/rc.d/ntpdate
  stable/10/etc/rc.d/rpcbind
  stable/10/etc/rc.d/syslogd
Directory Properties:
  stable/10/etc/   (props changed)
  stable/10/etc/rc.d/   (props changed)

Modified: stable/10/etc/defaults/periodic.conf
==============================================================================
--- stable/10/etc/defaults/periodic.conf	Thu Nov 14 09:11:54 2013	(r258120)
+++ stable/10/etc/defaults/periodic.conf	Thu Nov 14 09:14:33 2013	(r258121)
@@ -137,10 +137,6 @@ daily_status_mail_rejects_enable="YES"		
 daily_status_mail_rejects_logs=3			# How many logs to check
 daily_status_mail_rejects_shorten="NO"			# Shorten output
 
-# 470.status-named
-daily_status_named_enable="YES"
-daily_status_named_usedns="YES"				# DNS lookups are ok
-
 # 480.status-ntpd
 daily_status_ntpd_enable="NO"				# Check NTP status
 

Modified: stable/10/etc/defaults/rc.conf
==============================================================================
--- stable/10/etc/defaults/rc.conf	Thu Nov 14 09:11:54 2013	(r258120)
+++ stable/10/etc/defaults/rc.conf	Thu Nov 14 09:14:33 2013	(r258121)
@@ -260,6 +260,7 @@ hostapd_enable="NO"		# Run hostap daemon
 syslogd_enable="YES"		# Run syslog daemon (or NO).
 syslogd_program="/usr/sbin/syslogd" # path to syslogd, if you want a different one.
 syslogd_flags="-s"		# Flags to syslogd (if enabled).
+altlog_proglist=""		# List of chrooted applicatioins in /var
 inetd_enable="NO"		# Run the network daemon dispatcher (YES/NO).
 inetd_program="/usr/sbin/inetd"	# path to inetd, if you want a different one.
 inetd_flags="-wW -C 60"		# Optional flags to inetd
@@ -271,23 +272,6 @@ hastd_program="/sbin/hastd"	# path to ha
 hastd_flags=""			# Optional flags to hastd.
 ctld_enable="NO"		# CAM Target Layer / iSCSI target daemon.
 local_unbound_enable="NO"	# local caching resolver
-#
-# named.  It may be possible to run named in a sandbox, man security for
-# details.
-#
-named_enable="NO"		# Run named, the DNS server (or NO).
-named_program="/usr/sbin/named" # Path to named, if you want a different one.
-named_conf="/etc/namedb/named.conf" 	# Path to the configuration file
-#named_flags=""			# Use this for flags OTHER than -u and -c
-named_uid="bind" 		# User to run named as
-named_chrootdir="/var/named"	# Chroot directory (or "" not to auto-chroot it)
-named_chroot_autoupdate="YES"	# Automatically install/update chrooted
-				# components of named. See /etc/rc.d/named.
-named_symlink_enable="YES"	# Symlink the chrooted pid file
-named_wait="NO" 		# Wait for working name service before exiting
-named_wait_host="localhost" 	# Hostname to check if named_wait is enabled
-named_auto_forward="NO" 	# Set up forwarders from /etc/resolv.conf
-named_auto_forward_only="NO" 	# Do "forward only" instead of "forward first"
 
 #
 # kerberos. Do not run the admin daemons on slave servers

Modified: stable/10/etc/freebsd-update.conf
==============================================================================
--- stable/10/etc/freebsd-update.conf	Thu Nov 14 09:11:54 2013	(r258120)
+++ stable/10/etc/freebsd-update.conf	Thu Nov 14 09:14:33 2013	(r258121)
@@ -35,7 +35,7 @@ UpdateIfUnmodified /etc/ /var/ /root/ /.
 
 # When upgrading to a new FreeBSD release, files which match MergeChanges
 # will have any local changes merged into the version from the new release.
-MergeChanges /etc/ /var/named/etc/ /boot/device.hints
+MergeChanges /etc/ /boot/device.hints
 
 ### Default configuration options:
 

Modified: stable/10/etc/rc.d/Makefile
==============================================================================
--- stable/10/etc/rc.d/Makefile	Thu Nov 14 09:11:54 2013	(r258120)
+++ stable/10/etc/rc.d/Makefile	Thu Nov 14 09:14:33 2013	(r258121)
@@ -90,7 +90,6 @@ FILES=	DAEMON \
 	mroute6d \
 	mrouted \
 	msgs \
-	named \
 	natd \
 	netif \
 	netoptions \

Modified: stable/10/etc/rc.d/ntpdate
==============================================================================
--- stable/10/etc/rc.d/ntpdate	Thu Nov 14 09:11:54 2013	(r258120)
+++ stable/10/etc/rc.d/ntpdate	Thu Nov 14 09:14:33 2013	(r258121)
@@ -4,7 +4,7 @@
 #
 
 # PROVIDE: ntpdate
-# REQUIRE: NETWORKING syslogd named
+# REQUIRE: NETWORKING syslogd
 # KEYWORD: nojail
 
 . /etc/rc.subr

Modified: stable/10/etc/rc.d/rpcbind
==============================================================================
--- stable/10/etc/rc.d/rpcbind	Thu Nov 14 09:11:54 2013	(r258120)
+++ stable/10/etc/rc.d/rpcbind	Thu Nov 14 09:14:33 2013	(r258121)
@@ -4,7 +4,7 @@
 #
 
 # PROVIDE: rpcbind
-# REQUIRE: NETWORKING ntpdate syslogd named
+# REQUIRE: NETWORKING ntpdate syslogd
 # KEYWORD: shutdown
 
 . /etc/rc.subr

Modified: stable/10/etc/rc.d/syslogd
==============================================================================
--- stable/10/etc/rc.d/syslogd	Thu Nov 14 09:11:54 2013	(r258120)
+++ stable/10/etc/rc.d/syslogd	Thu Nov 14 09:14:33 2013	(r258121)
@@ -21,7 +21,6 @@ extra_commands="reload"
 
 sockfile="/var/run/syslogd.sockets"
 evalargs="rc_flags=\"\`set_socketlist\` \$rc_flags\""
-altlog_proglist="named"
 
 syslogd_precmd()
 {

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 09:17:27 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id A031D9C3;
 Thu, 14 Nov 2013 09:17:27 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 8E51C297A;
 Thu, 14 Nov 2013 09:17:27 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAE9HRBI040624;
 Thu, 14 Nov 2013 09:17:27 GMT (envelope-from glebius@svn.freebsd.org)
Received: (from glebius@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAE9HRQl040623;
 Thu, 14 Nov 2013 09:17:27 GMT (envelope-from glebius@svn.freebsd.org)
Message-Id: <201311140917.rAE9HRQl040623@svn.freebsd.org>
From: Gleb Smirnoff <glebius@FreeBSD.org>
Date: Thu, 14 Nov 2013 09:17:27 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258122 - head/share/man/man4
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 09:17:27 -0000

Author: glebius
Date: Thu Nov 14 09:17:27 2013
New Revision: 258122
URL: http://svnweb.freebsd.org/changeset/base/258122

Log:
  Emphasize that pf(4) in FreeBSD doesn't match pf(4) in
  OpenBSD 4.5, but is derived from it, and got some
  important local changes.
  
  Wording by:	cperciva

Modified:
  head/share/man/man4/pf.4

Modified: head/share/man/man4/pf.4
==============================================================================
--- head/share/man/man4/pf.4	Thu Nov 14 09:14:33 2013	(r258121)
+++ head/share/man/man4/pf.4	Thu Nov 14 09:17:27 2013	(r258122)
@@ -28,7 +28,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd September 18 2012
+.Dd November 14, 2013
 .Dt PF 4
 .Os
 .Sh NAME
@@ -1181,5 +1181,8 @@ packet filtering mechanism first appeare
 and then
 .Fx 5.2 .
 .Pp
-This implementation matches
+This implementation is derived from
 .Ox 4.5 .
+It has been heavily modified to be capable of running in multithreaded
+.Fx
+kernel and scale its performance on multiple CPUs.

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 09:19:50 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id D669CC23;
 Thu, 14 Nov 2013 09:19:50 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id C60C3299D;
 Thu, 14 Nov 2013 09:19:50 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAE9Jopo040989;
 Thu, 14 Nov 2013 09:19:50 GMT (envelope-from glebius@svn.freebsd.org)
Received: (from glebius@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAE9Jok2040988;
 Thu, 14 Nov 2013 09:19:50 GMT (envelope-from glebius@svn.freebsd.org)
Message-Id: <201311140919.rAE9Jok2040988@svn.freebsd.org>
From: Gleb Smirnoff <glebius@FreeBSD.org>
Date: Thu, 14 Nov 2013 09:19:50 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject: svn commit: r258123 - stable/10/sys/netsmb
X-SVN-Group: stable-10
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 09:19:50 -0000

Author: glebius
Date: Thu Nov 14 09:19:50 2013
New Revision: 258123
URL: http://svnweb.freebsd.org/changeset/base/258123

Log:
  Merge r257841 from head:
  
    Catch up with sb_timeo type change in r255138. This fixes
    smbfs operation.
  
  PR:		kern/182963
  Approved by:	re (kib)

Modified:
  stable/10/sys/netsmb/smb_trantcp.c
Directory Properties:
  stable/10/sys/   (props changed)

Modified: stable/10/sys/netsmb/smb_trantcp.c
==============================================================================
--- stable/10/sys/netsmb/smb_trantcp.c	Thu Nov 14 09:17:27 2013	(r258122)
+++ stable/10/sys/netsmb/smb_trantcp.c	Thu Nov 14 09:19:50 2013	(r258123)
@@ -155,8 +155,8 @@ nb_connect_in(struct nbpcb *nbp, struct 
 	SOCKBUF_LOCK(&so->so_rcv);
 	soupcall_set(so, SO_RCV, nb_upcall, nbp);
 	SOCKBUF_UNLOCK(&so->so_rcv);
-	so->so_rcv.sb_timeo = (5 * hz);
-	so->so_snd.sb_timeo = (5 * hz);
+	so->so_rcv.sb_timeo = (5 * SBT_1S);
+	so->so_snd.sb_timeo = (5 * SBT_1S);
 	error = soreserve(so, nbp->nbp_sndbuf, nbp->nbp_rcvbuf);
 	if (error)
 		goto bad;

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 09:22:32 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id AF349D8A;
 Thu, 14 Nov 2013 09:22:32 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 9F73229D9;
 Thu, 14 Nov 2013 09:22:32 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAE9MWX7043457;
 Thu, 14 Nov 2013 09:22:32 GMT
 (envelope-from cperciva@svn.freebsd.org)
Received: (from cperciva@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAE9MW39043456;
 Thu, 14 Nov 2013 09:22:32 GMT
 (envelope-from cperciva@svn.freebsd.org)
Message-Id: <201311140922.rAE9MW39043456@svn.freebsd.org>
From: Colin Percival <cperciva@FreeBSD.org>
Date: Thu, 14 Nov 2013 09:22:32 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258124 - head/usr.sbin/portsnap/portsnap
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 09:22:32 -0000

Author: cperciva
Date: Thu Nov 14 09:22:32 2013
New Revision: 258124
URL: http://svnweb.freebsd.org/changeset/base/258124

Log:
  When verifying that files we need are present, also check that they don't
  have zero length.  Filesystem corruption will tend to truncate files, and
  since these are short that's likely to result in them becoming empty.
  
  Suggested by:	Richard Clayton
  Convinced by:	rwatson
  MFC after:	3 weeks

Modified:
  head/usr.sbin/portsnap/portsnap/portsnap.sh

Modified: head/usr.sbin/portsnap/portsnap/portsnap.sh
==============================================================================
--- head/usr.sbin/portsnap/portsnap/portsnap.sh	Thu Nov 14 09:19:50 2013	(r258123)
+++ head/usr.sbin/portsnap/portsnap/portsnap.sh	Thu Nov 14 09:22:32 2013	(r258124)
@@ -952,7 +952,7 @@ extract_run() {
 			cat ${WORKDIR}/INDEX
 		fi | while read FILE HASH; do
 		echo ${PORTSDIR}/${FILE}
-		if ! [ -r "${WORKDIR}/files/${HASH}.gz" ]; then
+		if ! [ -s "${WORKDIR}/files/${HASH}.gz" ]; then
 			echo "files/${HASH}.gz not found -- snapshot corrupt."
 			return 1
 		fi
@@ -996,7 +996,7 @@ update_run_extract() {
 	    comm -13 ${PORTSDIR}/.portsnap.INDEX - |
 	    while read FILE HASH; do
 		echo ${PORTSDIR}/${FILE}
-		if ! [ -r "${WORKDIR}/files/${HASH}.gz" ]; then
+		if ! [ -s "${WORKDIR}/files/${HASH}.gz" ]; then
 			echo "files/${HASH}.gz not found -- snapshot corrupt."
 			return 1
 		fi

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 09:25:30 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id AA884EED;
 Thu, 14 Nov 2013 09:25:30 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 9968629EA;
 Thu, 14 Nov 2013 09:25:30 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAE9PUNL043846;
 Thu, 14 Nov 2013 09:25:30 GMT (envelope-from glebius@svn.freebsd.org)
Received: (from glebius@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAE9PUf2043842;
 Thu, 14 Nov 2013 09:25:30 GMT (envelope-from glebius@svn.freebsd.org)
Message-Id: <201311140925.rAE9PUf2043842@svn.freebsd.org>
From: Gleb Smirnoff <glebius@FreeBSD.org>
Date: Thu, 14 Nov 2013 09:25:30 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject: svn commit: r258125 - in stable/10: contrib/smbfs/lib/smb lib/libsmb
 usr.sbin/mount_smbfs
X-SVN-Group: stable-10
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 09:25:30 -0000

Author: glebius
Date: Thu Nov 14 09:25:29 2013
New Revision: 258125
URL: http://svnweb.freebsd.org/changeset/base/258125

Log:
  Merge r257888, r258049 from head:
  
    - Use system libiconv, instead of trying to dlopen() it.
    - Just disable recoding support in libsmb if built WITHOUT_ICONV.
  
  PR:		183153
  Approved by:	re (kib)

Modified:
  stable/10/contrib/smbfs/lib/smb/nls.c
  stable/10/lib/libsmb/Makefile
  stable/10/usr.sbin/mount_smbfs/Makefile
Directory Properties:
  stable/10/contrib/smbfs/   (props changed)
  stable/10/lib/libsmb/   (props changed)
  stable/10/usr.sbin/mount_smbfs/   (props changed)

Modified: stable/10/contrib/smbfs/lib/smb/nls.c
==============================================================================
--- stable/10/contrib/smbfs/lib/smb/nls.c	Thu Nov 14 09:22:32 2013	(r258124)
+++ stable/10/contrib/smbfs/lib/smb/nls.c	Thu Nov 14 09:25:29 2013	(r258125)
@@ -36,12 +36,8 @@
 __FBSDID("$FreeBSD$");
 
 #include <sys/types.h>
-#include <sys/iconv.h>
 #include <sys/sysctl.h>
 #include <ctype.h>
-#ifndef APPLE
-#include <dlfcn.h>
-#endif
 #include <errno.h>
 #include <stdio.h>
 #include <string.h>
@@ -50,21 +46,16 @@ __FBSDID("$FreeBSD$");
 #include <err.h>
 #include <netsmb/smb_lib.h>
 
-/*
- * prototype iconv* functions
- */
-typedef void *iconv_t;
-
-static iconv_t (*my_iconv_open)(const char *, const char *);
-static size_t(*my_iconv)(iconv_t, const char **, size_t *, char **, size_t *);
-static int(*my_iconv_close)(iconv_t);
+#ifdef HAVE_ICONV
+#include <iconv.h>
+#endif
 
 u_char nls_lower[256];
 u_char nls_upper[256];
 
+#ifdef HAVE_ICONV
 static iconv_t nls_toext, nls_toloc;
-static int iconv_loaded;
-static void *iconv_lib;
+#endif
 
 int
 nls_setlocale(const char *name)
@@ -85,117 +76,107 @@ nls_setlocale(const char *name)
 int
 nls_setrecode(const char *local, const char *external)
 {
-#ifdef APPLE
-	return ENOENT;
-#else
+#ifdef HAVE_ICONV
 	iconv_t icd;
 
-	if (iconv_loaded == 2)
-		return ENOENT;
-	else if (iconv_loaded == 0) {
-		iconv_loaded++;
-		iconv_lib = dlopen("libiconv.so", RTLD_LAZY | RTLD_GLOBAL);
-		if (iconv_lib == NULL) {
-			warn("Unable to load iconv library: %s\n", dlerror());
-			iconv_loaded++;
-			return ENOENT;
-		}
-		my_iconv_open = dlsym(iconv_lib, "iconv_open");
-		my_iconv = dlsym(iconv_lib, "iconv");
-		my_iconv_close = dlsym(iconv_lib, "iconv_close");
-	}
 	if (nls_toext)
-		my_iconv_close(nls_toext);
+		iconv_close(nls_toext);
 	if (nls_toloc)
-		my_iconv_close(nls_toloc);
+		iconv_close(nls_toloc);
 	nls_toext = nls_toloc = (iconv_t)0;
-	icd = my_iconv_open(external, local);
+	icd = iconv_open(external, local);
 	if (icd == (iconv_t)-1)
 		return errno;
 	nls_toext = icd;
-	icd = my_iconv_open(local, external);
+	icd = iconv_open(local, external);
 	if (icd == (iconv_t)-1) {
-		my_iconv_close(nls_toext);
+		iconv_close(nls_toext);
 		nls_toext = (iconv_t)0;
 		return errno;
 	}
 	nls_toloc = icd;
 	return 0;
+#else
+	return ENOENT;
 #endif
 }
 
 char *
 nls_str_toloc(char *dst, const char *src)
 {
+#ifdef HAVE_ICONV
 	char *p = dst;
 	size_t inlen, outlen;
 
-	if (!iconv_loaded)
-		return strcpy(dst, src);
-
 	if (nls_toloc == (iconv_t)0)
 		return strcpy(dst, src);
 	inlen = outlen = strlen(src);
-	my_iconv(nls_toloc, NULL, NULL, &p, &outlen);
-	while (my_iconv(nls_toloc, &src, &inlen, &p, &outlen) == -1) {
+	iconv(nls_toloc, NULL, NULL, &p, &outlen);
+	while (iconv(nls_toloc, &src, &inlen, &p, &outlen) == -1) {
 		*p++ = *src++;
 		inlen--;
 		outlen--;
 	}
 	*p = 0;
 	return dst;
+#else
+	return strcpy(dst, src);
+#endif
 }
 
 char *
 nls_str_toext(char *dst, const char *src)
 {
+#ifdef HAVE_ICONV
 	char *p = dst;
 	size_t inlen, outlen;
 
-	if (!iconv_loaded)
-		return strcpy(dst, src);
-
 	if (nls_toext == (iconv_t)0)
 		return strcpy(dst, src);
 	inlen = outlen = strlen(src);
-	my_iconv(nls_toext, NULL, NULL, &p, &outlen);
-	while (my_iconv(nls_toext, &src, &inlen, &p, &outlen) == -1) {
+	iconv(nls_toext, NULL, NULL, &p, &outlen);
+	while (iconv(nls_toext, &src, &inlen, &p, &outlen) == -1) {
 		*p++ = *src++;
 		inlen--;
 		outlen--;
 	}
 	*p = 0;
 	return dst;
+#else
+	return strcpy(dst, src);
+#endif
 }
 
 void *
 nls_mem_toloc(void *dst, const void *src, int size)
 {
+#ifdef HAVE_ICONV
 	char *p = dst;
 	const char *s = src;
 	size_t inlen, outlen;
 
-	if (!iconv_loaded)
-		return memcpy(dst, src, size);
-
 	if (size == 0)
 		return NULL;
 
 	if (nls_toloc == (iconv_t)0)
 		return memcpy(dst, src, size);
 	inlen = outlen = size;
-	my_iconv(nls_toloc, NULL, NULL, &p, &outlen);
-	while (my_iconv(nls_toloc, &s, &inlen, &p, &outlen) == -1) {
+	iconv(nls_toloc, NULL, NULL, &p, &outlen);
+	while (iconv(nls_toloc, &s, &inlen, &p, &outlen) == -1) {
 		*p++ = *s++;
 		inlen--;
 		outlen--;
 	}
 	return dst;
+#else
+	return memcpy(dst, src, size);
+#endif
 }
 
 void *
 nls_mem_toext(void *dst, const void *src, int size)
 {
+#ifdef HAVE_ICONV
 	char *p = dst;
 	const char *s = src;
 	size_t inlen, outlen;
@@ -203,17 +184,20 @@ nls_mem_toext(void *dst, const void *src
 	if (size == 0)
 		return NULL;
 
-	if (!iconv_loaded || nls_toext == (iconv_t)0)
+	if (nls_toext == (iconv_t)0)
 		return memcpy(dst, src, size);
 
 	inlen = outlen = size;
-	my_iconv(nls_toext, NULL, NULL, &p, &outlen);
-	while (my_iconv(nls_toext, &s, &inlen, &p, &outlen) == -1) {
+	iconv(nls_toext, NULL, NULL, &p, &outlen);
+	while (iconv(nls_toext, &s, &inlen, &p, &outlen) == -1) {
 		*p++ = *s++;
 		inlen--;
 		outlen--;
 	}
 	return dst;
+#else
+	return memcpy(dst, src, size);
+#endif
 }
 
 char *

Modified: stable/10/lib/libsmb/Makefile
==============================================================================
--- stable/10/lib/libsmb/Makefile	Thu Nov 14 09:22:32 2013	(r258124)
+++ stable/10/lib/libsmb/Makefile	Thu Nov 14 09:25:29 2013	(r258125)
@@ -1,5 +1,7 @@
 # $FreeBSD$
 
+.include <bsd.own.mk>
+
 CONTRIBDIR=	${.CURDIR}/../../contrib/smbfs
 .PATH: ${CONTRIBDIR}/lib/smb
 
@@ -16,4 +18,8 @@ SRCS=	rcfile.c ctx.c cfopt.c subr.c nls.
 WARNS?=	1
 CFLAGS+= -DSMB_CFG_FILE=\"/etc/nsmb.conf\" -I${CONTRIBDIR}/include
 
+.if ${MK_ICONV} != "no"
+CFLAGS+= -DHAVE_ICONV=1
+.endif
+
 .include <bsd.lib.mk>

Modified: stable/10/usr.sbin/mount_smbfs/Makefile
==============================================================================
--- stable/10/usr.sbin/mount_smbfs/Makefile	Thu Nov 14 09:22:32 2013	(r258124)
+++ stable/10/usr.sbin/mount_smbfs/Makefile	Thu Nov 14 09:25:29 2013	(r258125)
@@ -11,11 +11,6 @@ CFLAGS+=	-DSMBFS -I${MOUNTDIR} -I${CONTR
 LDADD=	-lsmb -lkiconv
 DPADD=	${LIBSMB} ${LIBKICONV}
 
-# Needs to be dynamically linked for optional dlopen() access to
-# userland libiconv (see the -E option).
-#
-NO_SHARED?=	NO
-
 .PATH:	${CONTRIBDIR}/mount_smbfs
 .PATH:  ${MOUNTDIR}
 

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 09:26:52 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id E083BA4;
 Thu, 14 Nov 2013 09:26:52 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id D035629F6;
 Thu, 14 Nov 2013 09:26:52 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAE9QqbZ044028;
 Thu, 14 Nov 2013 09:26:52 GMT (envelope-from glebius@svn.freebsd.org)
Received: (from glebius@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAE9QqV0044027;
 Thu, 14 Nov 2013 09:26:52 GMT (envelope-from glebius@svn.freebsd.org)
Message-Id: <201311140926.rAE9QqV0044027@svn.freebsd.org>
From: Gleb Smirnoff <glebius@FreeBSD.org>
Date: Thu, 14 Nov 2013 09:26:52 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject: svn commit: r258126 - stable/10/usr.sbin/pkg
X-SVN-Group: stable-10
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 09:26:53 -0000

Author: glebius
Date: Thu Nov 14 09:26:52 2013
New Revision: 258126
URL: http://svnweb.freebsd.org/changeset/base/258126

Log:
  Merge r257945 from head:
  
    Do not use just freed memory.
  
  Approved by:	re (kib)

Modified:
  stable/10/usr.sbin/pkg/pkg.c
Directory Properties:
  stable/10/usr.sbin/pkg/   (props changed)

Modified: stable/10/usr.sbin/pkg/pkg.c
==============================================================================
--- stable/10/usr.sbin/pkg/pkg.c	Thu Nov 14 09:25:29 2013	(r258125)
+++ stable/10/usr.sbin/pkg/pkg.c	Thu Nov 14 09:26:52 2013	(r258126)
@@ -326,9 +326,9 @@ parse_fingerprint(yaml_document_t *doc, 
 static void
 free_fingerprint_list(struct fingerprint_list* list)
 {
-	struct fingerprint* fingerprint;
+	struct fingerprint *fingerprint, *tmp;
 
-	STAILQ_FOREACH(fingerprint, list, next) {
+	STAILQ_FOREACH_SAFE(fingerprint, list, next, tmp) {
 		if (fingerprint->name)
 			free(fingerprint->name);
 		free(fingerprint);

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 09:33:54 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id E2D4634F;
 Thu, 14 Nov 2013 09:33:54 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id D24D42A75;
 Thu, 14 Nov 2013 09:33:54 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAE9XsQ6046983;
 Thu, 14 Nov 2013 09:33:54 GMT (envelope-from pluknet@svn.freebsd.org)
Received: (from pluknet@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAE9XsTG046981;
 Thu, 14 Nov 2013 09:33:54 GMT (envelope-from pluknet@svn.freebsd.org)
Message-Id: <201311140933.rAE9XsTG046981@svn.freebsd.org>
From: Sergey Kandaurov <pluknet@FreeBSD.org>
Date: Thu, 14 Nov 2013 09:33:54 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject: svn commit: r258127 - in stable/10/sys: kern sys
X-SVN-Group: stable-10
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 09:33:55 -0000

Author: pluknet
Date: Thu Nov 14 09:33:54 2013
New Revision: 258127
URL: http://svnweb.freebsd.org/changeset/base/258127

Log:
  Merge r257996,r258001,r258069 from head: fixes for HyperV guest.
  
  - Set description string for VM_GUEST_HV (HyperV guest).
  - Add a brief comment about VM_GUEST and vm_guest_sysctl_names relationship.
  - CTASSERT that vm_guest range is covered by vm_guest_sysctl_names.
  
  Approved by:	re (glebius)

Modified:
  stable/10/sys/kern/subr_param.c
  stable/10/sys/sys/systm.h
Directory Properties:
  stable/10/sys/   (props changed)

Modified: stable/10/sys/kern/subr_param.c
==============================================================================
--- stable/10/sys/kern/subr_param.c	Thu Nov 14 09:26:52 2013	(r258126)
+++ stable/10/sys/kern/subr_param.c	Thu Nov 14 09:33:54 2013	(r258127)
@@ -153,8 +153,10 @@ static const char *const vm_guest_sysctl
 	"none",
 	"generic",
 	"xen",
+	"hv",
 	NULL
 };
+CTASSERT(nitems(vm_guest_sysctl_names) - 1 == VM_LAST);
 
 #ifndef XEN
 static const char *const vm_bnames[] = {

Modified: stable/10/sys/sys/systm.h
==============================================================================
--- stable/10/sys/sys/systm.h	Thu Nov 14 09:26:52 2013	(r258126)
+++ stable/10/sys/sys/systm.h	Thu Nov 14 09:33:54 2013	(r258127)
@@ -70,8 +70,10 @@ extern int vm_guest;		/* Running as virt
  * Detected virtual machine guest types. The intention is to expand
  * and/or add to the VM_GUEST_VM type if specific VM functionality is
  * ever implemented (e.g. vendor-specific paravirtualization features).
+ * Keep in sync with vm_guest_sysctl_names[].
  */
-enum VM_GUEST { VM_GUEST_NO = 0, VM_GUEST_VM, VM_GUEST_XEN, VM_GUEST_HV };
+enum VM_GUEST { VM_GUEST_NO = 0, VM_GUEST_VM, VM_GUEST_XEN, VM_GUEST_HV,
+		VM_LAST };
 
 #if defined(WITNESS) || defined(INVARIANTS)
 void	kassert_panic(const char *fmt, ...)  __printflike(1, 2);

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 09:45:34 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 62EA374B;
 Thu, 14 Nov 2013 09:45:34 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 52E5B2AFB;
 Thu, 14 Nov 2013 09:45:34 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAE9jYAJ050519;
 Thu, 14 Nov 2013 09:45:34 GMT (envelope-from glebius@svn.freebsd.org)
Received: (from glebius@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAE9jYcA050518;
 Thu, 14 Nov 2013 09:45:34 GMT (envelope-from glebius@svn.freebsd.org)
Message-Id: <201311140945.rAE9jYcA050518@svn.freebsd.org>
From: Gleb Smirnoff <glebius@FreeBSD.org>
Date: Thu, 14 Nov 2013 09:45:34 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258128 - head/sys/kern
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 09:45:34 -0000

Author: glebius
Date: Thu Nov 14 09:45:33 2013
New Revision: 258128
URL: http://svnweb.freebsd.org/changeset/base/258128

Log:
  Fix a very bad typo from r248887.
  
  Submitted by:	art

Modified:
  head/sys/kern/uipc_mbuf.c

Modified: head/sys/kern/uipc_mbuf.c
==============================================================================
--- head/sys/kern/uipc_mbuf.c	Thu Nov 14 09:33:54 2013	(r258127)
+++ head/sys/kern/uipc_mbuf.c	Thu Nov 14 09:45:33 2013	(r258128)
@@ -1196,6 +1196,7 @@ m_split(struct mbuf *m0, int len0, int w
 	remain = m->m_len - len;
 	if (m0->m_flags & M_PKTHDR && remain == 0) {
 		n = m_gethdr(wait, m0->m_type);
+		if (n == NULL)
 			return (NULL);
 		n->m_next = m->m_next;
 		m->m_next = NULL;

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 09:47:18 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 7BC318CE;
 Thu, 14 Nov 2013 09:47:18 +0000 (UTC)
Received: from cyrus.watson.org (cyrus.watson.org [198.74.231.69])
 by mx1.freebsd.org (Postfix) with ESMTP id 59E942B1E;
 Thu, 14 Nov 2013 09:47:18 +0000 (UTC)
Received: from fledge.watson.org (fledge.watson.org [198.74.231.63])
 by cyrus.watson.org (Postfix) with ESMTPS id D3E1746B52;
 Thu, 14 Nov 2013 04:47:16 -0500 (EST)
Date: Thu, 14 Nov 2013 09:47:16 +0000 (GMT)
From: Robert Watson <rwatson@FreeBSD.org>
X-X-Sender: robert@fledge.watson.org
To: Colin Percival <cperciva@FreeBSD.org>
Subject: Re: svn commit: r258124 - head/usr.sbin/portsnap/portsnap
In-Reply-To: <201311140922.rAE9MW39043456@svn.freebsd.org>
Message-ID: <alpine.BSF.2.00.1311140945560.10113@fledge.watson.org>
References: <201311140922.rAE9MW39043456@svn.freebsd.org>
User-Agent: Alpine 2.00 (BSF 1167 2008-08-23)
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org,
 src-committers@freebsd.org
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 09:47:18 -0000

On Thu, 14 Nov 2013, Colin Percival wrote:

> Log:
>  When verifying that files we need are present, also check that they don't
>  have zero length.  Filesystem corruption will tend to truncate files, and
>  since these are short that's likely to result in them becoming empty.
>
>  Suggested by:	Richard Clayton
>  Convinced by:	rwatson
>  MFC after:	3 weeks

I think I'd probably express this slightly differently: the filesystem isn't 
corrupted, it just doesn't contain the data you expect.  As filesystems don't 
guarantee data is there until fsync() has returned, it is actually meeting all 
its promises -- e.g., vs corrupted inode contents due to a filesystem bug.

Robert

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 09:51:21 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id B12B5C08
 for <svn-src-all@freebsd.org>; Thu, 14 Nov 2013 09:51:21 +0000 (UTC)
Received: from o3.shared.sendgrid.net (o3.shared.sendgrid.net [208.117.48.85])
 by mx1.freebsd.org (Postfix) with SMTP id 4A4842B89
 for <svn-src-all@freebsd.org>; Thu, 14 Nov 2013 09:51:21 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sendgrid.info; 
 h=from:mime-version:to:cc:subject:references:in-reply-to:content-type:content-transfer-encoding;
 s=smtpapi; bh=65aUa31MBPq/AQ1HRz4W6z5j8GE=; b=RtpSPku6roduFJblNh
 Ao6IpFJWhh5Y1oeZsA3jLvSg1dFrQKjwB+7XpReHTAjsK+fzOJJu6SqwWNZTkb33
 ev4TQZsb0RBuJHqxZgRVOR9HiYn+8GDinqU8J1+dHbS3izW2Ecr06uhMsCjD0FG5
 n5PLVbkmsg5MZHDiBjecbnS5s=
Received: by mf20.sendgrid.net with SMTP id mf20.664.52849D133
 Thu, 14 Nov 2013 09:51:15 +0000 (GMT)
Received: from mail.tarsnap.com (unknown [10.60.208.13])
 by mi37 (SG) with ESMTP id 142560592d3.288a.b1369a
 for <svn-src-all@freebsd.org>; Thu, 14 Nov 2013 03:51:15 -0600 (CST)
Received: (qmail 58027 invoked from network); 14 Nov 2013 09:51:14 -0000
Received: from unknown (HELO clamshell.daemonology.net) (127.0.0.1)
 by ec2-107-20-205-189.compute-1.amazonaws.com with ESMTP;
 14 Nov 2013 09:51:14 -0000
Received: (qmail 39560 invoked from network); 14 Nov 2013 09:49:07 -0000
Received: from unknown (HELO clamshell.daemonology.net) (127.0.0.1)
 by clamshell.daemonology.net with SMTP; 14 Nov 2013 09:49:07 -0000
Message-ID: <52849C93.5010500@freebsd.org>
Date: Thu, 14 Nov 2013 01:49:07 -0800
From: Colin Percival <cperciva@freebsd.org>
User-Agent: Mozilla/5.0 (X11; FreeBSD amd64;
 rv:24.0) Gecko/20100101 Thunderbird/24.0
MIME-Version: 1.0
To: Robert Watson <rwatson@FreeBSD.org>
Subject: Re: svn commit: r258124 - head/usr.sbin/portsnap/portsnap
References: <201311140922.rAE9MW39043456@svn.freebsd.org>
 <alpine.BSF.2.00.1311140945560.10113@fledge.watson.org>
In-Reply-To: <alpine.BSF.2.00.1311140945560.10113@fledge.watson.org>
X-Enigmail-Version: 1.5.2
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
X-SG-EID: A6W2xSVPHetogaU8rnzccWwgBYtN+QvIzXyjfe/10PFGEIPYJiiBTfs3V4AmhqJwQ3oqutrhXsnDRsGDZbsDLMR2AOuabbSakPm13Gbrnau7NYP4jFDUyO5FJnFAezyxpYtVoTHaLHT8uTM2p9fuMxoxjsdUYHbt9g7rZgUu3NA=
Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org,
 src-committers@freebsd.org
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 09:51:21 -0000

On 11/14/13 01:47, Robert Watson wrote:
> On Thu, 14 Nov 2013, Colin Percival wrote:
>>  When verifying that files we need are present, also check that they don't
>>  have zero length.  Filesystem corruption will tend to truncate files, and
>>  since these are short that's likely to result in them becoming empty.
> 
> I think I'd probably express this slightly differently: the filesystem isn't
> corrupted, it just doesn't contain the data you expect.  As filesystems don't
> guarantee data is there until fsync() has returned, it is actually meeting all
> its promises -- e.g., vs corrupted inode contents due to a filesystem bug.

True, I should have written "crashes resulting in data loss".

-- 
Colin Percival
Security Officer Emeritus, FreeBSD | The power to serve
Founder, Tarsnap | www.tarsnap.com | Online backups for the truly paranoid


From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 11:06:32 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 360289BE;
 Thu, 14 Nov 2013 11:06:32 +0000 (UTC)
Received: from mail-we0-x233.google.com (mail-we0-x233.google.com
 [IPv6:2a00:1450:400c:c03::233])
 (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 58B40208C;
 Thu, 14 Nov 2013 11:06:31 +0000 (UTC)
Received: by mail-we0-f179.google.com with SMTP id x55so1716567wes.24
 for <multiple recipients>; Thu, 14 Nov 2013 03:06:29 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
 h=sender:subject:mime-version:content-type:from:in-reply-to:date:cc
 :content-transfer-encoding:message-id:references:to;
 bh=OeP5haEq2GKUmPewVr1MCkxKJCHvLa8NtEvlBCZhrEs=;
 b=cEzSQbEnNEbu8sENYdDB2yFrzMiXkTpfN6pf1P21kNEA7MF8CMpWOCq2cCG17qf3SJ
 euqBzV5Jjha1LogQPlodju5vsc+ZZsS9CR1WBFYLbvoqSJnvBlyuTh0BZOnocVN6LYcV
 ctJBlSNWviwlfnQ3ly8VNxF00SNsbV5G2xpW523ScWv9z/D6QuLZ61YudNdKLG547FhF
 4EKywAIX+2ClkLoTZksxy+1X6mRZcHfUhAB9CThyCekkfQLFQdLVRPb7fv5AqnOFAAxc
 eUr9l3DeMlNBS7atNidq0vfqI3HNcOvINafky0s5EFkMK/NpbzO9EMtztyioFq5fNuIR
 tU5A==
X-Received: by 10.180.212.51 with SMTP id nh19mr1797265wic.52.1384427189708;
 Thu, 14 Nov 2013 03:06:29 -0800 (PST)
Received: from [192.168.1.102] (45.81.datacomsa.pl. [195.34.81.45])
 by mx.google.com with ESMTPSA id 8sm98353740eem.15.2013.11.14.03.06.28
 for <multiple recipients>
 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
 Thu, 14 Nov 2013 03:06:29 -0800 (PST)
Sender: =?UTF-8?Q?Edward_Tomasz_Napiera=C5=82a?= <etnapierala@gmail.com>
Subject: Re: svn commit: r258041 - head/lib/libc/posix1e
Mime-Version: 1.0 (Apple Message framework v1283)
Content-Type: text/plain; charset=iso-8859-2
From: =?iso-8859-2?Q?Edward_Tomasz_Napiera=B3a?= <trasz@FreeBSD.org>
In-Reply-To: <alpine.BSF.2.00.1311140807000.10113@fledge.watson.org>
Date: Thu, 14 Nov 2013 12:06:23 +0100
Content-Transfer-Encoding: quoted-printable
Message-Id: <3C657070-0470-4107-81D8-73C6138F612C@FreeBSD.org>
References: <201311121044.rACAigGi093973@svn.freebsd.org>
 <alpine.BSF.2.00.1311140807000.10113@fledge.watson.org>
To: Robert Watson <rwatson@FreeBSD.org>
X-Mailer: Apple Mail (2.1283)
Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org,
 src-committers@freebsd.org
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 11:06:32 -0000

Wiadomo=B6=E6 napisana przez Robert Watson w dniu 14 lis 2013, o godz. =
09:07:
> On Tue, 12 Nov 2013, Edward Tomasz Napierala wrote:
>=20
>> Mention acl_get_brand_np(3).
>>=20
>> MFC after:	2 weeks
>> Sponsored by:	The FreeBSD Foundation
>=20
> Doing some writing recently, I did wonder if acl(3) and some of the =
other ACL API man pages might need a bit more updating to be clear about =
support for NFSv4 ACLs.  The user-facing man pages (getfacl(1), =
setfacl(1)) appear fully updated, but not much mention of NFSv4 in the =
programmer documentation.

Hm, it should be already documented - from updated list of constants
in acl_add_perm(3) or acl_set_tag_type(3), to new functions, such as
acl_add_flag_np(3) or acl_set_entry_type_np(3).

--=20
If you cut off my head, what would I say?  Me and my head, or me and my =
body?


From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 11:15:25 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id A9F58E35;
 Thu, 14 Nov 2013 11:15:25 +0000 (UTC)
Received: from cyrus.watson.org (cyrus.watson.org [198.74.231.69])
 by mx1.freebsd.org (Postfix) with ESMTP id 86D4A2129;
 Thu, 14 Nov 2013 11:15:25 +0000 (UTC)
Received: from c0188.aw.cl.cam.ac.uk (c0188.aw.cl.cam.ac.uk [128.232.100.188])
 by cyrus.watson.org (Postfix) with ESMTPSA id 423DB46B45;
 Thu, 14 Nov 2013 06:15:22 -0500 (EST)
Content-Type: text/plain; charset=iso-8859-2
Mime-Version: 1.0 (Mac OS X Mail 7.0 \(1822\))
Subject: Re: svn commit: r258041 - head/lib/libc/posix1e
From: "Robert N. M. Watson" <rwatson@FreeBSD.org>
In-Reply-To: <3C657070-0470-4107-81D8-73C6138F612C@FreeBSD.org>
Date: Thu, 14 Nov 2013 11:15:19 +0000
Content-Transfer-Encoding: quoted-printable
Message-Id: <8E1D58E8-7625-4D4A-AB77-D8C48EA3BB1E@FreeBSD.org>
References: <201311121044.rACAigGi093973@svn.freebsd.org>
 <alpine.BSF.2.00.1311140807000.10113@fledge.watson.org>
 <3C657070-0470-4107-81D8-73C6138F612C@FreeBSD.org>
To: =?iso-8859-2?Q?Edward_Tomasz_Napiera=B3a?= <trasz@FreeBSD.org>
X-Mailer: Apple Mail (2.1822)
Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org,
 src-committers@freebsd.org
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 11:15:25 -0000


On 14 Nov 2013, at 11:06, Edward Tomasz Napiera=B3a <trasz@FreeBSD.org> =
wrote:

> Wiadomo=B6=E6 napisana przez Robert Watson w dniu 14 lis 2013, o godz. =
09:07:
>> On Tue, 12 Nov 2013, Edward Tomasz Napierala wrote:
>>=20
>>> Mention acl_get_brand_np(3).
>>>=20
>>> MFC after:	2 weeks
>>> Sponsored by:	The FreeBSD Foundation
>>=20
>> Doing some writing recently, I did wonder if acl(3) and some of the =
other ACL API man pages might need a bit more updating to be clear about =
support for NFSv4 ACLs.  The user-facing man pages (getfacl(1), =
setfacl(1)) appear fully updated, but not much mention of NFSv4 in the =
programmer documentation.
>=20
> Hm, it should be already documented - from updated list of constants
> in acl_add_perm(3) or acl_set_tag_type(3), to new functions, such as
> acl_add_flag_np(3) or acl_set_entry_type_np(3).

Less a question of missing documentation than missing advertising. For =
example, acl(5) makes it really obvious that POSIX.1e semantics are =
supported, and the first mention of NFSv4 is in a long list of other =
unsupported types. We might want to begin simply by saying ".Fx supports =
POSIX.1e and NFSv4 ACLs" and expand a bit on the differences.

Robert=

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 12:14:27 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id A3F13C72;
 Thu, 14 Nov 2013 12:14:27 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 93A6B25E4;
 Thu, 14 Nov 2013 12:14:27 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAECERDd007181;
 Thu, 14 Nov 2013 12:14:27 GMT (envelope-from trasz@svn.freebsd.org)
Received: (from trasz@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAECERim007180;
 Thu, 14 Nov 2013 12:14:27 GMT (envelope-from trasz@svn.freebsd.org)
Message-Id: <201311141214.rAECERim007180@svn.freebsd.org>
From: Edward Tomasz Napierala <trasz@FreeBSD.org>
Date: Thu, 14 Nov 2013 12:14:27 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject: svn commit: r258129 - stable/10/usr.sbin/ctld
X-SVN-Group: stable-10
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 12:14:27 -0000

Author: trasz
Date: Thu Nov 14 12:14:27 2013
New Revision: 258129
URL: http://svnweb.freebsd.org/changeset/base/258129

Log:
  Fix typo.
  
  Approved by:	re (gjb)
  Sponsored by:	The FreeBSD Foundation

Modified:
  stable/10/usr.sbin/ctld/ctl.conf.5
Directory Properties:
  stable/10/usr.sbin/ctld/   (props changed)

Modified: stable/10/usr.sbin/ctld/ctl.conf.5
==============================================================================
--- stable/10/usr.sbin/ctld/ctl.conf.5	Thu Nov 14 09:45:33 2013	(r258128)
+++ stable/10/usr.sbin/ctld/ctl.conf.5	Thu Nov 14 12:14:27 2013	(r258129)
@@ -27,7 +27,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd April 24, 2013
+.Dd November 10, 2013
 .Dt CTL.CONF 5
 .Os
 .Sh NAME
@@ -98,7 +98,7 @@ will be forcibly terminated.
 The default is 60.
 Setting it to 0 disables the timeout.
 .El
-.Ss auth-grup level
+.Ss auth-group level
 The following statements are available at the auth-group level:
 .Bl -tag -width indent
 .It Ic chap Ao Ar user Ac Aq Ar secret

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 13:33:23 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 4E592284;
 Thu, 14 Nov 2013 13:33:23 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 3DD282B5D;
 Thu, 14 Nov 2013 13:33:23 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAEDXNeQ036086;
 Thu, 14 Nov 2013 13:33:23 GMT (envelope-from trasz@svn.freebsd.org)
Received: (from trasz@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAEDXNAw036085;
 Thu, 14 Nov 2013 13:33:23 GMT (envelope-from trasz@svn.freebsd.org)
Message-Id: <201311141333.rAEDXNAw036085@svn.freebsd.org>
From: Edward Tomasz Napierala <trasz@FreeBSD.org>
Date: Thu, 14 Nov 2013 13:33:23 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject: svn commit: r258131 - stable/10/usr.bin/iscsictl
X-SVN-Group: stable-10
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 13:33:23 -0000

Author: trasz
Date: Thu Nov 14 13:33:22 2013
New Revision: 258131
URL: http://svnweb.freebsd.org/changeset/base/258131

Log:
  MFC r257917:
  
  Fix typo in "iscsictl -v".
  
  Approved by:	re (gjb)
  Sponsored by:	The FreeBSD Foundation

Modified:
  stable/10/usr.bin/iscsictl/iscsictl.c
Directory Properties:
  stable/10/usr.bin/iscsictl/   (props changed)

Modified: stable/10/usr.bin/iscsictl/iscsictl.c
==============================================================================
--- stable/10/usr.bin/iscsictl/iscsictl.c	Thu Nov 14 13:25:47 2013	(r258130)
+++ stable/10/usr.bin/iscsictl/iscsictl.c	Thu Nov 14 13:33:22 2013	(r258131)
@@ -425,7 +425,7 @@ kernel_list(int iscsi_fd, const struct t
 			printf("Secret:           %s\n", conf->isc_secret);
 			printf("Mutual user:      %s\n",
 			    conf->isc_mutual_user);
-			printf("Mutual secret :   %s\n",
+			printf("Mutual secret:    %s\n",
 			    conf->isc_mutual_secret);
 			printf("Session type:     %s\n",
 			    conf->isc_discovery ? "Discovery" : "Normal");

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 13:51:54 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 7052AB81;
 Thu, 14 Nov 2013 13:51:54 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 466ED2CB3;
 Thu, 14 Nov 2013 13:51:54 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAEDpsUs042417;
 Thu, 14 Nov 2013 13:51:54 GMT (envelope-from mav@svn.freebsd.org)
Received: (from mav@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAEDpswE042416;
 Thu, 14 Nov 2013 13:51:54 GMT (envelope-from mav@svn.freebsd.org)
Message-Id: <201311141351.rAEDpswE042416@svn.freebsd.org>
From: Alexander Motin <mav@FreeBSD.org>
Date: Thu, 14 Nov 2013 13:51:54 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258132 - head/sys/rpc
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 13:51:54 -0000

Author: mav
Date: Thu Nov 14 13:51:53 2013
New Revision: 258132
URL: http://svnweb.freebsd.org/changeset/base/258132

Log:
  Some minor tuning to rpc/svc.c:
   - close cosmetic race in svc_exit();
   - do not set wait timeout for idle threads if we have no use for wakeups;
   - create new requested thread sooner, not only after some another thread
  wakeup, that may happen later under constant load.

Modified:
  head/sys/rpc/svc.c

Modified: head/sys/rpc/svc.c
==============================================================================
--- head/sys/rpc/svc.c	Thu Nov 14 13:33:22 2013	(r258131)
+++ head/sys/rpc/svc.c	Thu Nov 14 13:51:53 2013	(r258132)
@@ -1011,6 +1011,18 @@ svc_run_internal(SVCPOOL *pool, bool_t i
 
 	while (pool->sp_state != SVCPOOL_CLOSING) {
 		/*
+		 * Create new thread if requested.
+		 */
+		if (pool->sp_state == SVCPOOL_THREADWANTED) {
+			pool->sp_state = SVCPOOL_THREADSTARTING;
+			pool->sp_lastcreatetime = time_uptime;
+			mtx_unlock(&pool->sp_lock);
+			svc_new_thread(pool);
+			mtx_lock(&pool->sp_lock);
+			continue;
+		}
+
+		/*
 		 * Check for idle transports once per second.
 		 */
 		if (time_uptime > pool->sp_lastidlecheck) {
@@ -1046,8 +1058,13 @@ svc_run_internal(SVCPOOL *pool, bool_t i
 				continue;
 
 			LIST_INSERT_HEAD(&pool->sp_idlethreads, st, st_ilink);
-			error = cv_timedwait_sig(&st->st_cond, &pool->sp_lock,
-				5 * hz);
+			if (ismaster || (!ismaster &&
+			    pool->sp_threadcount > pool->sp_minthreads))
+				error = cv_timedwait_sig(&st->st_cond,
+				    &pool->sp_lock, 5 * hz);
+			else
+				error = cv_wait_sig(&st->st_cond,
+				    &pool->sp_lock);
 			LIST_REMOVE(st, st_ilink);
 
 			/*
@@ -1060,24 +1077,11 @@ svc_run_internal(SVCPOOL *pool, bool_t i
 					&& !st->st_xprt
 					&& STAILQ_EMPTY(&st->st_reqs))
 					break;
-			}
-			if (error == EWOULDBLOCK)
-				continue;
-			if (error) {
-				if (pool->sp_state != SVCPOOL_CLOSING) {
-					mtx_unlock(&pool->sp_lock);
-					svc_exit(pool);
-					mtx_lock(&pool->sp_lock);
-				}
-				break;
-			}
-
-			if (pool->sp_state == SVCPOOL_THREADWANTED) {
-				pool->sp_state = SVCPOOL_THREADSTARTING;
-				pool->sp_lastcreatetime = time_uptime;
+			} else if (error) {
 				mtx_unlock(&pool->sp_lock);
-				svc_new_thread(pool);
+				svc_exit(pool);
 				mtx_lock(&pool->sp_lock);
+				break;
 			}
 			continue;
 		}
@@ -1245,9 +1249,11 @@ svc_exit(SVCPOOL *pool)
 
 	mtx_lock(&pool->sp_lock);
 
-	pool->sp_state = SVCPOOL_CLOSING;
-	LIST_FOREACH(st, &pool->sp_idlethreads, st_ilink)
-		cv_signal(&st->st_cond);
+	if (pool->sp_state != SVCPOOL_CLOSING) {
+		pool->sp_state = SVCPOOL_CLOSING;
+		LIST_FOREACH(st, &pool->sp_idlethreads, st_ilink)
+			cv_signal(&st->st_cond);
+	}
 
 	mtx_unlock(&pool->sp_lock);
 }

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 14:20:35 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id ED24CC0A;
 Thu, 14 Nov 2013 14:20:35 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id DD71D2EC2;
 Thu, 14 Nov 2013 14:20:35 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAEEKZt7051058;
 Thu, 14 Nov 2013 14:20:35 GMT (envelope-from glebius@svn.freebsd.org)
Received: (from glebius@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAEEKZuC051057;
 Thu, 14 Nov 2013 14:20:35 GMT (envelope-from glebius@svn.freebsd.org)
Message-Id: <201311141420.rAEEKZuC051057@svn.freebsd.org>
From: Gleb Smirnoff <glebius@FreeBSD.org>
Date: Thu, 14 Nov 2013 14:20:35 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258133 - head/sys/netpfil/pf
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 14:20:36 -0000

Author: glebius
Date: Thu Nov 14 14:20:35 2013
New Revision: 258133
URL: http://svnweb.freebsd.org/changeset/base/258133

Log:
  Some fixups to pf_get_sport after r257223:
  
  - Do not return blindly if proto isn't ICMP.
  - The dport is in network order, so fix comparisons.
  - Remove ridiculous htonl(arc4random()).
  - Push local variable to a narrower block.

Modified:
  head/sys/netpfil/pf/pf_lb.c

Modified: head/sys/netpfil/pf/pf_lb.c
==============================================================================
--- head/sys/netpfil/pf/pf_lb.c	Thu Nov 14 13:51:53 2013	(r258132)
+++ head/sys/netpfil/pf/pf_lb.c	Thu Nov 14 14:20:35 2013	(r258133)
@@ -227,7 +227,6 @@ pf_get_sport(sa_family_t af, u_int8_t pr
 {
 	struct pf_state_key_cmp	key;
 	struct pf_addr		init_addr;
-	uint16_t		cut;
 
 	bzero(&init_addr, sizeof(init_addr));
 	if (pf_map_addr(af, r, saddr, naddr, &init_addr, sn))
@@ -235,21 +234,19 @@ pf_get_sport(sa_family_t af, u_int8_t pr
 
 	switch (proto) {
 	case IPPROTO_ICMP:
-		if (dport != ICMP_ECHO)
+		if (dport != htons(ICMP_ECHO))
 			return (0);
 		low = 1;
 		high = 65535;
 		break;
 #ifdef INET6
 	case IPPROTO_ICMPV6:
-		if (dport != ICMP_ECHO)
+		if (dport != htons(ICMP6_ECHO_REQUEST))
 			return (0);
 		low = 1;
 		high = 65535;
 		break;
 #endif
-	default:
-		return (0); /* Don't try to modify non-echo ICMP */
 	}
 
 	bzero(&key, sizeof(key));
@@ -283,7 +280,7 @@ pf_get_sport(sa_family_t af, u_int8_t pr
 				return (0);
 			}
 		} else {
-			uint16_t tmp;
+			uint16_t tmp, cut;
 
 			if (low > high) {
 				tmp = low;
@@ -291,7 +288,7 @@ pf_get_sport(sa_family_t af, u_int8_t pr
 				high = tmp;
 			}
 			/* low < high */
-			cut = htonl(arc4random()) % (1 + high - low) + low;
+			cut = arc4random() % (1 + high - low) + low;
 			/* low <= cut <= high */
 			for (tmp = cut; tmp <= high; ++(tmp)) {
 				key.port[1] = htons(tmp);

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 15:37:22 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 159083EE;
 Thu, 14 Nov 2013 15:37:22 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 0254A2505;
 Thu, 14 Nov 2013 15:37:22 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAEFbLBW077150;
 Thu, 14 Nov 2013 15:37:21 GMT (envelope-from emaste@svn.freebsd.org)
Received: (from emaste@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAEFbKJx077139;
 Thu, 14 Nov 2013 15:37:20 GMT (envelope-from emaste@svn.freebsd.org)
Message-Id: <201311141537.rAEFbKJx077139@svn.freebsd.org>
From: Ed Maste <emaste@FreeBSD.org>
Date: Thu, 14 Nov 2013 15:37:20 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258135 - in head/sys: amd64/amd64 amd64/ia32
 amd64/linux32 i386/i386 i386/include i386/linux pc98/pc98 x86/include
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 15:37:22 -0000

Author: emaste
Date: Thu Nov 14 15:37:20 2013
New Revision: 258135
URL: http://svnweb.freebsd.org/changeset/base/258135

Log:
  x86: Allow users to change PSL_RF via ptrace(PT_SETREGS...)
  
  Debuggers may need to change PSL_RF.  Note that tf_eflags is already stored
  in the signal context during signal handling and PSL_RF previously could be
  modified via sigreturn, so this change should not provide any new ability
  to userspace.
  
  For background see the thread at:
  http://lists.freebsd.org/pipermail/freebsd-i386/2007-September/005910.html
  
  Reviewed by:	jhb, kib
  Sponsored by:	DARPA, AFRL

Modified:
  head/sys/amd64/amd64/machdep.c
  head/sys/amd64/ia32/ia32_signal.c
  head/sys/amd64/linux32/linux32_sysvec.c
  head/sys/i386/i386/machdep.c
  head/sys/i386/include/vm86.h
  head/sys/i386/linux/linux_sysvec.c
  head/sys/pc98/pc98/machdep.c
  head/sys/x86/include/psl.h

Modified: head/sys/amd64/amd64/machdep.c
==============================================================================
--- head/sys/amd64/amd64/machdep.c	Thu Nov 14 15:14:27 2013	(r258134)
+++ head/sys/amd64/amd64/machdep.c	Thu Nov 14 15:37:20 2013	(r258135)
@@ -486,17 +486,7 @@ sys_sigreturn(td, uap)
 	/*
 	 * Don't allow users to change privileged or reserved flags.
 	 */
-	/*
-	 * XXX do allow users to change the privileged flag PSL_RF.
-	 * The cpu sets PSL_RF in tf_rflags for faults.  Debuggers
-	 * should sometimes set it there too.  tf_rflags is kept in
-	 * the signal context during signal handling and there is no
-	 * other place to remember it, so the PSL_RF bit may be
-	 * corrupted by the signal handler without us knowing.
-	 * Corruption of the PSL_RF bit at worst causes one more or
-	 * one less debugger trap, so allowing it is fairly harmless.
-	 */
-	if (!EFL_SECURE(rflags & ~PSL_RF, regs->tf_rflags & ~PSL_RF)) {
+	if (!EFL_SECURE(rflags, regs->tf_rflags)) {
 		uprintf("pid %d (%s): sigreturn rflags = 0x%lx\n", p->p_pid,
 		    td->td_name, rflags);
 		return (EINVAL);

Modified: head/sys/amd64/ia32/ia32_signal.c
==============================================================================
--- head/sys/amd64/ia32/ia32_signal.c	Thu Nov 14 15:14:27 2013	(r258134)
+++ head/sys/amd64/ia32/ia32_signal.c	Thu Nov 14 15:37:20 2013	(r258135)
@@ -719,7 +719,7 @@ ofreebsd32_sigreturn(struct thread *td, 
 		return (error);
 	scp = &sc;
 	eflags = scp->sc_eflags;
-	if (!EFL_SECURE(eflags & ~PSL_RF, regs->tf_rflags & ~PSL_RF)) {
+	if (!EFL_SECURE(eflags, regs->tf_rflags)) {
 		return (EINVAL);
 	}
 	if (!CS_SECURE(scp->sc_cs)) {
@@ -787,17 +787,7 @@ freebsd4_freebsd32_sigreturn(td, uap)
 	/*
 	 * Don't allow users to change privileged or reserved flags.
 	 */
-	/*
-	 * XXX do allow users to change the privileged flag PSL_RF.
-	 * The cpu sets PSL_RF in tf_eflags for faults.  Debuggers
-	 * should sometimes set it there too.  tf_eflags is kept in
-	 * the signal context during signal handling and there is no
-	 * other place to remember it, so the PSL_RF bit may be
-	 * corrupted by the signal handler without us knowing.
-	 * Corruption of the PSL_RF bit at worst causes one more or
-	 * one less debugger trap, so allowing it is fairly harmless.
-	 */
-	if (!EFL_SECURE(eflags & ~PSL_RF, regs->tf_rflags & ~PSL_RF)) {
+	if (!EFL_SECURE(eflags, regs->tf_rflags)) {
 		uprintf("pid %d (%s): freebsd4_freebsd32_sigreturn eflags = 0x%x\n",
 		    td->td_proc->p_pid, td->td_name, eflags);
 		return (EINVAL);
@@ -873,17 +863,7 @@ freebsd32_sigreturn(td, uap)
 	/*
 	 * Don't allow users to change privileged or reserved flags.
 	 */
-	/*
-	 * XXX do allow users to change the privileged flag PSL_RF.
-	 * The cpu sets PSL_RF in tf_eflags for faults.  Debuggers
-	 * should sometimes set it there too.  tf_eflags is kept in
-	 * the signal context during signal handling and there is no
-	 * other place to remember it, so the PSL_RF bit may be
-	 * corrupted by the signal handler without us knowing.
-	 * Corruption of the PSL_RF bit at worst causes one more or
-	 * one less debugger trap, so allowing it is fairly harmless.
-	 */
-	if (!EFL_SECURE(eflags & ~PSL_RF, regs->tf_rflags & ~PSL_RF)) {
+	if (!EFL_SECURE(eflags, regs->tf_rflags)) {
 		uprintf("pid %d (%s): freebsd32_sigreturn eflags = 0x%x\n",
 		    td->td_proc->p_pid, td->td_name, eflags);
 		return (EINVAL);

Modified: head/sys/amd64/linux32/linux32_sysvec.c
==============================================================================
--- head/sys/amd64/linux32/linux32_sysvec.c	Thu Nov 14 15:14:27 2013	(r258134)
+++ head/sys/amd64/linux32/linux32_sysvec.c	Thu Nov 14 15:37:20 2013	(r258135)
@@ -587,17 +587,7 @@ linux_sigreturn(struct thread *td, struc
 	 */
 #define	EFLAGS_SECURE(ef, oef)	((((ef) ^ (oef)) & ~PSL_USERCHANGE) == 0)
 	eflags = frame.sf_sc.sc_eflags;
-	/*
-	 * XXX do allow users to change the privileged flag PSL_RF.  The
-	 * cpu sets PSL_RF in tf_eflags for faults.  Debuggers should
-	 * sometimes set it there too.  tf_eflags is kept in the signal
-	 * context during signal handling and there is no other place
-	 * to remember it, so the PSL_RF bit may be corrupted by the
-	 * signal handler without us knowing.  Corruption of the PSL_RF
-	 * bit at worst causes one more or one less debugger trap, so
-	 * allowing it is fairly harmless.
-	 */
-	if (!EFLAGS_SECURE(eflags & ~PSL_RF, regs->tf_rflags & ~PSL_RF))
+	if (!EFLAGS_SECURE(eflags, regs->tf_rflags))
 		return(EINVAL);
 
 	/*
@@ -689,17 +679,7 @@ linux_rt_sigreturn(struct thread *td, st
 	 */
 #define	EFLAGS_SECURE(ef, oef)	((((ef) ^ (oef)) & ~PSL_USERCHANGE) == 0)
 	eflags = context->sc_eflags;
-	/*
-	 * XXX do allow users to change the privileged flag PSL_RF.  The
-	 * cpu sets PSL_RF in tf_eflags for faults.  Debuggers should
-	 * sometimes set it there too.  tf_eflags is kept in the signal
-	 * context during signal handling and there is no other place
-	 * to remember it, so the PSL_RF bit may be corrupted by the
-	 * signal handler without us knowing.  Corruption of the PSL_RF
-	 * bit at worst causes one more or one less debugger trap, so
-	 * allowing it is fairly harmless.
-	 */
-	if (!EFLAGS_SECURE(eflags & ~PSL_RF, regs->tf_rflags & ~PSL_RF))
+	if (!EFLAGS_SECURE(eflags, regs->tf_rflags))
 		return(EINVAL);
 
 	/*

Modified: head/sys/i386/i386/machdep.c
==============================================================================
--- head/sys/i386/i386/machdep.c	Thu Nov 14 15:14:27 2013	(r258134)
+++ head/sys/i386/i386/machdep.c	Thu Nov 14 15:37:20 2013	(r258135)
@@ -842,17 +842,7 @@ osigreturn(td, uap)
 		/*
 		 * Don't allow users to change privileged or reserved flags.
 		 */
-		/*
-		 * XXX do allow users to change the privileged flag PSL_RF.
-		 * The cpu sets PSL_RF in tf_eflags for faults.  Debuggers
-		 * should sometimes set it there too.  tf_eflags is kept in
-		 * the signal context during signal handling and there is no
-		 * other place to remember it, so the PSL_RF bit may be
-		 * corrupted by the signal handler without us knowing.
-		 * Corruption of the PSL_RF bit at worst causes one more or
-		 * one less debugger trap, so allowing it is fairly harmless.
-		 */
-		if (!EFL_SECURE(eflags & ~PSL_RF, regs->tf_eflags & ~PSL_RF)) {
+		if (!EFL_SECURE(eflags, regs->tf_eflags)) {
 	    		return (EINVAL);
 		}
 
@@ -968,17 +958,7 @@ freebsd4_sigreturn(td, uap)
 		/*
 		 * Don't allow users to change privileged or reserved flags.
 		 */
-		/*
-		 * XXX do allow users to change the privileged flag PSL_RF.
-		 * The cpu sets PSL_RF in tf_eflags for faults.  Debuggers
-		 * should sometimes set it there too.  tf_eflags is kept in
-		 * the signal context during signal handling and there is no
-		 * other place to remember it, so the PSL_RF bit may be
-		 * corrupted by the signal handler without us knowing.
-		 * Corruption of the PSL_RF bit at worst causes one more or
-		 * one less debugger trap, so allowing it is fairly harmless.
-		 */
-		if (!EFL_SECURE(eflags & ~PSL_RF, regs->tf_eflags & ~PSL_RF)) {
+		if (!EFL_SECURE(eflags, regs->tf_eflags)) {
 			uprintf("pid %d (%s): freebsd4_sigreturn eflags = 0x%x\n",
 			    td->td_proc->p_pid, td->td_name, eflags);
 	    		return (EINVAL);
@@ -1082,17 +1062,7 @@ sys_sigreturn(td, uap)
 		/*
 		 * Don't allow users to change privileged or reserved flags.
 		 */
-		/*
-		 * XXX do allow users to change the privileged flag PSL_RF.
-		 * The cpu sets PSL_RF in tf_eflags for faults.  Debuggers
-		 * should sometimes set it there too.  tf_eflags is kept in
-		 * the signal context during signal handling and there is no
-		 * other place to remember it, so the PSL_RF bit may be
-		 * corrupted by the signal handler without us knowing.
-		 * Corruption of the PSL_RF bit at worst causes one more or
-		 * one less debugger trap, so allowing it is fairly harmless.
-		 */
-		if (!EFL_SECURE(eflags & ~PSL_RF, regs->tf_eflags & ~PSL_RF)) {
+		if (!EFL_SECURE(eflags, regs->tf_eflags)) {
 			uprintf("pid %d (%s): sigreturn eflags = 0x%x\n",
 			    td->td_proc->p_pid, td->td_name, eflags);
 	    		return (EINVAL);

Modified: head/sys/i386/include/vm86.h
==============================================================================
--- head/sys/i386/include/vm86.h	Thu Nov 14 15:14:27 2013	(r258134)
+++ head/sys/i386/include/vm86.h	Thu Nov 14 15:37:20 2013	(r258135)
@@ -113,7 +113,7 @@ struct vm86context {
 	} pmap[VM86_PMAPSIZE];
 };
 
-#define VM_USERCHANGE   (PSL_USERCHANGE | PSL_RF)
+#define VM_USERCHANGE   (PSL_USERCHANGE)
 #define VME_USERCHANGE  (VM_USERCHANGE | PSL_VIP | PSL_VIF)
 
 struct vm86_kernel {

Modified: head/sys/i386/linux/linux_sysvec.c
==============================================================================
--- head/sys/i386/linux/linux_sysvec.c	Thu Nov 14 15:14:27 2013	(r258134)
+++ head/sys/i386/linux/linux_sysvec.c	Thu Nov 14 15:37:20 2013	(r258135)
@@ -684,17 +684,7 @@ linux_sigreturn(struct thread *td, struc
 	 */
 #define	EFLAGS_SECURE(ef, oef)	((((ef) ^ (oef)) & ~PSL_USERCHANGE) == 0)
 	eflags = frame.sf_sc.sc_eflags;
-	/*
-	 * XXX do allow users to change the privileged flag PSL_RF.  The
-	 * cpu sets PSL_RF in tf_eflags for faults.  Debuggers should
-	 * sometimes set it there too.  tf_eflags is kept in the signal
-	 * context during signal handling and there is no other place
-	 * to remember it, so the PSL_RF bit may be corrupted by the
-	 * signal handler without us knowing.  Corruption of the PSL_RF
-	 * bit at worst causes one more or one less debugger trap, so
-	 * allowing it is fairly harmless.
-	 */
-	if (!EFLAGS_SECURE(eflags & ~PSL_RF, regs->tf_eflags & ~PSL_RF))
+	if (!EFLAGS_SECURE(eflags, regs->tf_eflags))
 		return(EINVAL);
 
 	/*
@@ -785,17 +775,7 @@ linux_rt_sigreturn(struct thread *td, st
 	 */
 #define	EFLAGS_SECURE(ef, oef)	((((ef) ^ (oef)) & ~PSL_USERCHANGE) == 0)
 	eflags = context->sc_eflags;
-	/*
-	 * XXX do allow users to change the privileged flag PSL_RF.  The
-	 * cpu sets PSL_RF in tf_eflags for faults.  Debuggers should
-	 * sometimes set it there too.  tf_eflags is kept in the signal
-	 * context during signal handling and there is no other place
-	 * to remember it, so the PSL_RF bit may be corrupted by the
-	 * signal handler without us knowing.  Corruption of the PSL_RF
-	 * bit at worst causes one more or one less debugger trap, so
-	 * allowing it is fairly harmless.
-	 */
-	if (!EFLAGS_SECURE(eflags & ~PSL_RF, regs->tf_eflags & ~PSL_RF))
+	if (!EFLAGS_SECURE(eflags, regs->tf_eflags))
 		return(EINVAL);
 
 	/*

Modified: head/sys/pc98/pc98/machdep.c
==============================================================================
--- head/sys/pc98/pc98/machdep.c	Thu Nov 14 15:14:27 2013	(r258134)
+++ head/sys/pc98/pc98/machdep.c	Thu Nov 14 15:37:20 2013	(r258135)
@@ -773,17 +773,7 @@ osigreturn(td, uap)
 		/*
 		 * Don't allow users to change privileged or reserved flags.
 		 */
-		/*
-		 * XXX do allow users to change the privileged flag PSL_RF.
-		 * The cpu sets PSL_RF in tf_eflags for faults.  Debuggers
-		 * should sometimes set it there too.  tf_eflags is kept in
-		 * the signal context during signal handling and there is no
-		 * other place to remember it, so the PSL_RF bit may be
-		 * corrupted by the signal handler without us knowing.
-		 * Corruption of the PSL_RF bit at worst causes one more or
-		 * one less debugger trap, so allowing it is fairly harmless.
-		 */
-		if (!EFL_SECURE(eflags & ~PSL_RF, regs->tf_eflags & ~PSL_RF)) {
+		if (!EFL_SECURE(eflags, regs->tf_eflags)) {
 	    		return (EINVAL);
 		}
 
@@ -899,17 +889,7 @@ freebsd4_sigreturn(td, uap)
 		/*
 		 * Don't allow users to change privileged or reserved flags.
 		 */
-		/*
-		 * XXX do allow users to change the privileged flag PSL_RF.
-		 * The cpu sets PSL_RF in tf_eflags for faults.  Debuggers
-		 * should sometimes set it there too.  tf_eflags is kept in
-		 * the signal context during signal handling and there is no
-		 * other place to remember it, so the PSL_RF bit may be
-		 * corrupted by the signal handler without us knowing.
-		 * Corruption of the PSL_RF bit at worst causes one more or
-		 * one less debugger trap, so allowing it is fairly harmless.
-		 */
-		if (!EFL_SECURE(eflags & ~PSL_RF, regs->tf_eflags & ~PSL_RF)) {
+		if (!EFL_SECURE(eflags, regs->tf_eflags)) {
 			uprintf("pid %d (%s): freebsd4_sigreturn eflags = 0x%x\n",
 			    td->td_proc->p_pid, td->td_name, eflags);
 	    		return (EINVAL);
@@ -1013,17 +993,7 @@ sys_sigreturn(td, uap)
 		/*
 		 * Don't allow users to change privileged or reserved flags.
 		 */
-		/*
-		 * XXX do allow users to change the privileged flag PSL_RF.
-		 * The cpu sets PSL_RF in tf_eflags for faults.  Debuggers
-		 * should sometimes set it there too.  tf_eflags is kept in
-		 * the signal context during signal handling and there is no
-		 * other place to remember it, so the PSL_RF bit may be
-		 * corrupted by the signal handler without us knowing.
-		 * Corruption of the PSL_RF bit at worst causes one more or
-		 * one less debugger trap, so allowing it is fairly harmless.
-		 */
-		if (!EFL_SECURE(eflags & ~PSL_RF, regs->tf_eflags & ~PSL_RF)) {
+		if (!EFL_SECURE(eflags, regs->tf_eflags)) {
 			uprintf("pid %d (%s): sigreturn eflags = 0x%x\n",
 			    td->td_proc->p_pid, td->td_name, eflags);
 	    		return (EINVAL);

Modified: head/sys/x86/include/psl.h
==============================================================================
--- head/sys/x86/include/psl.h	Thu Nov 14 15:14:27 2013	(r258134)
+++ head/sys/x86/include/psl.h	Thu Nov 14 15:37:20 2013	(r258135)
@@ -77,8 +77,16 @@
  * is undesirable but it may as well be allowed since users can inflict
  * it on the kernel directly.  Changes to PSL_AC are silently ignored on
  * 386's.
+ *
+ * Users are allowed to change the privileged flag PSL_RF.  The cpu sets PSL_RF
+ * in tf_eflags for faults.  Debuggers should sometimes set it there too.
+ * tf_eflags is kept in the signal context during signal handling and there is
+ * no other place to remember it, so the PSL_RF bit may be corrupted by the
+ * signal handler without us knowing.  Corruption of the PSL_RF bit at worst
+ * causes one more or one less debugger trap, so allowing it is fairly
+ * harmless.   
  */
 #define	PSL_USERCHANGE (PSL_C | PSL_PF | PSL_AF | PSL_Z | PSL_N | PSL_T \
-			| PSL_D | PSL_V | PSL_NT | PSL_AC | PSL_ID)
+			| PSL_D | PSL_V | PSL_NT | PSL_RF | PSL_AC | PSL_ID)
 
 #endif /* !_MACHINE_PSL_H_ */

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 15:54:55 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 8E2FFAFB;
 Thu, 14 Nov 2013 15:54:55 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 7C8F92639;
 Thu, 14 Nov 2013 15:54:55 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAEFstDx083288;
 Thu, 14 Nov 2013 15:54:55 GMT (envelope-from mav@svn.freebsd.org)
Received: (from mav@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAEFsstA083285;
 Thu, 14 Nov 2013 15:54:54 GMT (envelope-from mav@svn.freebsd.org)
Message-Id: <201311141554.rAEFsstA083285@svn.freebsd.org>
From: Alexander Motin <mav@FreeBSD.org>
Date: Thu, 14 Nov 2013 15:54:54 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258137 - in
 head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs: . sys
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 15:54:55 -0000

Author: mav
Date: Thu Nov 14 15:54:54 2013
New Revision: 258137
URL: http://svnweb.freebsd.org/changeset/base/258137

Log:
  Introduce allocation cache to store LZ4 compression contexts without kicking
  VM subsystem twice for every written record.
  
  Tests on 24-core system show double reduction of CPU time spent on copying
  single large well-compressed file.
  
  This patch is not really needed on illumos (while not harm either) since
  their memory allocator by default uses caching for all requests up to 128K.
  
  Reviewed by:	Saso Kiselkov <skiselkov.ml@gmail.com>

Modified:
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lz4.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio_compress.h

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lz4.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lz4.c	Thu Nov 14 15:44:22 2013	(r258136)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lz4.c	Thu Nov 14 15:54:54 2013	(r258137)
@@ -44,6 +44,8 @@ static int LZ4_compressCtx(void *ctx, co
 static int LZ4_compress64kCtx(void *ctx, const char *source, char *dest,
     int isize, int osize);
 
+static kmem_cache_t *lz4_ctx_cache;
+
 /*ARGSUSED*/
 size_t
 lz4_compress(void *s_start, void *d_start, size_t s_len, size_t d_len, int n)
@@ -840,7 +842,7 @@ static int
 real_LZ4_compress(const char *source, char *dest, int isize, int osize)
 {
 #if HEAPMODE
-	void *ctx = kmem_zalloc(sizeof (struct refTables), KM_NOSLEEP);
+	void *ctx = kmem_cache_alloc(lz4_ctx_cache, KM_NOSLEEP);
 	int result;
 
 	/*
@@ -850,12 +852,13 @@ real_LZ4_compress(const char *source, ch
 	if (ctx == NULL)
 		return (0);
 
+	bzero(ctx, sizeof(struct refTables));
 	if (isize < LZ4_64KLIMIT)
 		result = LZ4_compress64kCtx(ctx, source, dest, isize, osize);
 	else
 		result = LZ4_compressCtx(ctx, source, dest, isize, osize);
 
-	kmem_free(ctx, sizeof (struct refTables));
+	kmem_cache_free(lz4_ctx_cache, ctx);
 	return (result);
 #else
 	if (isize < (int)LZ4_64KLIMIT)
@@ -1001,3 +1004,22 @@ LZ4_uncompress_unknownOutputSize(const c
 	_output_error:
 	return (int)(-(((char *)ip) - source));
 }
+
+extern void
+lz4_init(void)
+{
+
+#if HEAPMODE
+	lz4_ctx_cache = kmem_cache_create("lz4_ctx", sizeof(struct refTables),
+	    0, NULL, NULL, NULL, NULL, NULL, 0);
+#endif
+}
+
+extern void
+lz4_fini(void)
+{
+
+#if HEAPMODE
+	kmem_cache_destroy(lz4_ctx_cache);
+#endif
+}

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c	Thu Nov 14 15:44:22 2013	(r258136)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c	Thu Nov 14 15:54:54 2013	(r258137)
@@ -1739,6 +1739,7 @@ spa_init(int mode)
 	unique_init();
 	space_map_init();
 	zio_init();
+	lz4_init();
 	dmu_init();
 	zil_init();
 	vdev_cache_stat_init();
@@ -1764,6 +1765,7 @@ spa_fini(void)
 	vdev_cache_stat_fini();
 	zil_fini();
 	dmu_fini();
+	lz4_fini();
 	zio_fini();
 	space_map_fini();
 	unique_fini();

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio_compress.h
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio_compress.h	Thu Nov 14 15:44:22 2013	(r258136)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio_compress.h	Thu Nov 14 15:54:54 2013	(r258137)
@@ -70,6 +70,8 @@ extern size_t zle_compress(void *src, vo
     int level);
 extern int zle_decompress(void *src, void *dst, size_t s_len, size_t d_len,
     int level);
+extern void lz4_init(void);
+extern void lz4_fini(void);
 extern size_t lz4_compress(void *src, void *dst, size_t s_len, size_t d_len,
     int level);
 extern int lz4_decompress(void *src, void *dst, size_t s_len, size_t d_len,

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 16:10:22 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id D9EAF2EE;
 Thu, 14 Nov 2013 16:10:22 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id AD6A82748;
 Thu, 14 Nov 2013 16:10:22 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAEGAMRm087878;
 Thu, 14 Nov 2013 16:10:22 GMT (envelope-from pfg@svn.freebsd.org)
Received: (from pfg@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAEGAMxP087874;
 Thu, 14 Nov 2013 16:10:22 GMT (envelope-from pfg@svn.freebsd.org)
Message-Id: <201311141610.rAEGAMxP087874@svn.freebsd.org>
From: "Pedro F. Giffuni" <pfg@FreeBSD.org>
Date: Thu, 14 Nov 2013 16:10:22 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258138 - in head/contrib/gcc: . config/rs6000
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 16:10:22 -0000

Author: pfg
Date: Thu Nov 14 16:10:21 2013
New Revision: 258138
URL: http://svnweb.freebsd.org/changeset/base/258138

Log:
  gcc: merge rs6000 change from FSF pre-gcc43
  
  config/rs6000/rs6000.c
  http://gcc.gnu.org/ml/gcc-patches/2007-04/msg01551.html
  Don't set MASK_PPC_GFXOPT for 8540 or 8548.
  
  Obtained from:	gcc 4.3 (rev. 124381; GPLv2)
  MFC after:	3 weeks
  Reviewed by:	nathan

Modified:
  head/contrib/gcc/ChangeLog.gcc43
  head/contrib/gcc/config/rs6000/rs6000.c

Modified: head/contrib/gcc/ChangeLog.gcc43
==============================================================================
--- head/contrib/gcc/ChangeLog.gcc43	Thu Nov 14 15:54:54 2013	(r258137)
+++ head/contrib/gcc/ChangeLog.gcc43	Thu Nov 14 16:10:21 2013	(r258138)
@@ -4,6 +4,11 @@
 	* doc/extend.texi: Document the 0b-prefixed binary integer
 	constant extension.
 	
+2007-05-03  Ian Lance Taylor  <iant@google.com> (r124381)
+
+	* config/rs6000/rs6000.c (rs6000_override_options): Don't set
+	MASK_PPC_GFXOPT for 8540 or 8548.
+
 2007-05-01  Dwarakanath Rajagopal <dwarak.rajagopal@amd.com> (r124341)
 
 	* doc/invoke.texi: Fix typo, 'AMD Family 10h core' instead of 

Modified: head/contrib/gcc/config/rs6000/rs6000.c
==============================================================================
--- head/contrib/gcc/config/rs6000/rs6000.c	Thu Nov 14 15:54:54 2013	(r258137)
+++ head/contrib/gcc/config/rs6000/rs6000.c	Thu Nov 14 16:10:21 2013	(r258138)
@@ -1171,11 +1171,9 @@ rs6000_override_options (const char *def
 	 {"801", PROCESSOR_MPCCORE, POWERPC_BASE_MASK | MASK_SOFT_FLOAT},
 	 {"821", PROCESSOR_MPCCORE, POWERPC_BASE_MASK | MASK_SOFT_FLOAT},
 	 {"823", PROCESSOR_MPCCORE, POWERPC_BASE_MASK | MASK_SOFT_FLOAT},
-	 {"8540", PROCESSOR_PPC8540,
-	  POWERPC_BASE_MASK | MASK_PPC_GFXOPT | MASK_STRICT_ALIGN},
+	 {"8540", PROCESSOR_PPC8540, POWERPC_BASE_MASK | MASK_STRICT_ALIGN},
 	 /* 8548 has a dummy entry for now.  */
-	 {"8548", PROCESSOR_PPC8540,
-	  POWERPC_BASE_MASK | MASK_PPC_GFXOPT | MASK_STRICT_ALIGN},
+	 {"8548", PROCESSOR_PPC8540, POWERPC_BASE_MASK | MASK_STRICT_ALIGN},
 	 {"860", PROCESSOR_MPCCORE, POWERPC_BASE_MASK | MASK_SOFT_FLOAT},
 	 {"970", PROCESSOR_POWER4,
 	  POWERPC_7400_MASK | MASK_PPC_GPOPT | MASK_MFCRF | MASK_POWERPC64},

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 18:41:58 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id E0041D3D;
 Thu, 14 Nov 2013 18:41:58 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id CF64F2438;
 Thu, 14 Nov 2013 18:41:58 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAEIfw30040621;
 Thu, 14 Nov 2013 18:41:58 GMT (envelope-from sbruno@svn.freebsd.org)
Received: (from sbruno@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAEIfwFU040620;
 Thu, 14 Nov 2013 18:41:58 GMT (envelope-from sbruno@svn.freebsd.org)
Message-Id: <201311141841.rAEIfwFU040620@svn.freebsd.org>
From: Sean Bruno <sbruno@FreeBSD.org>
Date: Thu, 14 Nov 2013 18:41:58 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258139 - head/contrib/gperf/src
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 18:41:59 -0000

Author: sbruno
Date: Thu Nov 14 18:41:58 2013
New Revision: 258139
URL: http://svnweb.freebsd.org/changeset/base/258139

Log:
  Repair build after svn r258115
  
  options.get_size_type() appears to return a const char *, so assume that
  its a string as oppose to *nothing*.  I have no idea what apple's code is
  trying to do here:
  
  http://opensource.apple.com/source/gperf/gperf-9/patches/size_type.patch

Modified:
  head/contrib/gperf/src/output.cc

Modified: head/contrib/gperf/src/output.cc
==============================================================================
--- head/contrib/gperf/src/output.cc	Thu Nov 14 16:10:21 2013	(r258138)
+++ head/contrib/gperf/src/output.cc	Thu Nov 14 18:41:58 2013	(r258139)
@@ -779,7 +779,7 @@ Output::output_hash_function () const
             "     register %s len;\n" :
           option[ANSIC] | option[CPLUSPLUS] ?
                  "(register const char *str, register %s len)\n" :
-          "", option.get_size_type());
+          "%s", option.get_size_type());
 
   /* Note that when the hash function is called, it has already been verified
      that  min_key_len <= len <= max_key_len.  */
@@ -1907,7 +1907,7 @@ Output::output_lookup_function () const
             "     register %s len;\n" :
           option[ANSIC] | option[CPLUSPLUS] ?
                  "(register const char *str, register %s len)\n" :
-          "", option.get_size_type());
+          "%s", option.get_size_type());
 
   /* Output the function's body.  */
   printf ("{\n");

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 18:53:18 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 8A6226BB;
 Thu, 14 Nov 2013 18:53:18 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 744D22513;
 Thu, 14 Nov 2013 18:53:18 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAEIrIcw044141;
 Thu, 14 Nov 2013 18:53:18 GMT (envelope-from delphij@svn.freebsd.org)
Received: (from delphij@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAEIrI6h044139;
 Thu, 14 Nov 2013 18:53:18 GMT (envelope-from delphij@svn.freebsd.org)
Message-Id: <201311141853.rAEIrI6h044139@svn.freebsd.org>
From: Xin LI <delphij@FreeBSD.org>
Date: Thu, 14 Nov 2013 18:53:18 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258140 - head/sys/dev/oce
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 18:53:18 -0000

Author: delphij
Date: Thu Nov 14 18:53:17 2013
New Revision: 258140
URL: http://svnweb.freebsd.org/changeset/base/258140

Log:
  The previous code makes a memory allocation in size of
  struct mbx_common_read_write_flashrom plus 32KB and caps the actual
  transfer size at 32KB.  This is harmless as it is but may confuse
  static code analyzer, so allocate a full 32KB instead.
  
  Reported by:	Coverity via mjacob
  Submitted by:	Venkata Duvvuru <VenkatKumar.Duvvuru Emulex Com>
  Coverity CID:	1125820

Modified:
  head/sys/dev/oce/oce_hw.h
  head/sys/dev/oce/oce_sysctl.c

Modified: head/sys/dev/oce/oce_hw.h
==============================================================================
--- head/sys/dev/oce/oce_hw.h	Thu Nov 14 18:41:58 2013	(r258139)
+++ head/sys/dev/oce/oce_hw.h	Thu Nov 14 18:53:17 2013	(r258140)
@@ -1577,7 +1577,8 @@ struct mbx_common_read_write_flashrom {
 	uint32_t flash_op_type;
 	uint32_t data_buffer_size;
 	uint32_t data_offset;
-	uint8_t  data_buffer[4];	/* + IMAGE_TRANSFER_SIZE */
+	uint8_t  data_buffer[32768];	/* + IMAGE_TRANSFER_SIZE */
+	uint8_t  rsvd[4];
 };
 
 struct oce_phy_info {

Modified: head/sys/dev/oce/oce_sysctl.c
==============================================================================
--- head/sys/dev/oce/oce_sysctl.c	Thu Nov 14 18:41:58 2013	(r258139)
+++ head/sys/dev/oce/oce_sysctl.c	Thu Nov 14 18:53:17 2013	(r258140)
@@ -381,8 +381,8 @@ oce_sh_be3_flashdata(POCE_SOFTC sc, cons
 		return EINVAL;
 	}
 
-	rc = oce_dma_alloc(sc, sizeof(struct mbx_common_read_write_flashrom)
-			+ 32*1024, &dma_mem, 0);
+	rc = oce_dma_alloc(sc, sizeof(struct mbx_common_read_write_flashrom),
+				&dma_mem, 0);
 	if (rc) {
 		device_printf(sc->dev,
 				"Memory allocation failure while flashing\n");

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 19:10:14 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from hammer.pct.niksun.com (freefall.freebsd.org
 [IPv6:2001:1900:2254:206c::16:87])
 by hub.freebsd.org (Postfix) with ESMTP id 950A3BF3;
 Thu, 14 Nov 2013 19:10:13 +0000 (UTC)
Message-ID: <52851F30.3030707@FreeBSD.org>
Date: Thu, 14 Nov 2013 14:06:24 -0500
From: Jung-uk Kim <jkim@FreeBSD.org>
User-Agent: Mozilla/5.0 (X11; FreeBSD amd64;
 rv:24.0) Gecko/20100101 Thunderbird/24.1.0
MIME-Version: 1.0
To: Sean Bruno <sbruno@FreeBSD.org>, src-committers@freebsd.org, 
 svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject: Re: svn commit: r258139 - head/contrib/gperf/src
References: <201311141841.rAEIfwFU040620@svn.freebsd.org>
In-Reply-To: <201311141841.rAEIfwFU040620@svn.freebsd.org>
X-Enigmail-Version: 1.6
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 19:10:14 -0000

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 2013-11-14 13:41:58 -0500, Sean Bruno wrote:
> Author: sbruno Date: Thu Nov 14 18:41:58 2013 New Revision: 258139 
> URL: http://svnweb.freebsd.org/changeset/base/258139
> 
> Log: Repair build after svn r258115
> 
> options.get_size_type() appears to return a const char *, so assume
> that its a string as oppose to *nothing*.  I have no idea what
> apple's code is trying to do here:
> 
> http://opensource.apple.com/source/gperf/gperf-9/patches/size_type.patch

It
> 
looks like the code is in fact unreachable, i.e., the language
option must be KRC, C, ANSIC, or CPLUSPLUS.  Therefore, the last test,
"option[ANSIC] | option[CPLUSPLUS]" is actually redundant.

I believe your correction is sufficient for now.

Jung-uk Kim
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (FreeBSD)

iQEcBAEBAgAGBQJShR8wAAoJEHyflib82/FGTlMH/3c6WrX6VPWJ1Xu9sF1wcT8n
S9VZG8RTY4KLc75oIAsvgc+970h7EWOhqNyNpI0JmayeW7OrG6Fqq7uT6EqtAU3i
iiYUXIW1tg5066G2VnnJW34z38Jv2V8DkjD7iF9ZdXnCMxS3tUdQiQMFCr2FKrJd
cT5+7z2+XvRq3QCT36hrSK65l3XDuUr08AVXxE9dJsReQoZMit9iHIctoJmGTqng
TaAuBiyKU7BG6Hr4hSbAni9XvzG7NRDOSU5Njc0QffRS3ZnyQZlEUAmD1f6uPUd6
ftPFIMZEk0hdCncWhKtT5HCxUyaw6RQPHF7ZRz3EmuDrxDu26qKIGAcmhizbwVg=
=tFjA
-----END PGP SIGNATURE-----

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 19:53:35 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id C7D96E34;
 Thu, 14 Nov 2013 19:53:35 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id B75C7292C;
 Thu, 14 Nov 2013 19:53:35 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAEJrZlT063996;
 Thu, 14 Nov 2013 19:53:35 GMT (envelope-from gnn@svn.freebsd.org)
Received: (from gnn@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAEJrZAc063995;
 Thu, 14 Nov 2013 19:53:35 GMT (envelope-from gnn@svn.freebsd.org)
Message-Id: <201311141953.rAEJrZAc063995@svn.freebsd.org>
From: "George V. Neville-Neil" <gnn@FreeBSD.org>
Date: Thu, 14 Nov 2013 19:53:35 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258141 - head/sys/net
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 19:53:36 -0000

Author: gnn
Date: Thu Nov 14 19:53:35 2013
New Revision: 258141
URL: http://svnweb.freebsd.org/changeset/base/258141

Log:
  The FreeBSD Project now has its own, Ogranizationally Unique Identifier,
  assigned by the IEEE.  This file includes documentation on how developers
  must carve up the space as well as an initial allocation for bhyve.
  
  Sponsored by:	The FreeBSD Foundation

Added:
  head/sys/net/ieee_oui.h   (contents, props changed)

Added: head/sys/net/ieee_oui.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sys/net/ieee_oui.h	Thu Nov 14 19:53:35 2013	(r258141)
@@ -0,0 +1,66 @@
+/* 
+ * Copyright (c) 2013 The FreeBSD Foundation
+ * 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.
+ *
+ * $FreeBSD$
+ *
+ * Author: George V. Neville-Neil
+ *
+ */
+
+/* Organizationally Unique Identifier assigned by IEEE 14 Nov 2013 */
+#define OUI_FREEBSD 0x589cfc
+
+/* 
+ * OUIs are most often used to uniquely identify network interfaces
+ * and occupy the first 3 bytes of both destination and source MAC
+ * addresses.  The following allocations exist so that various
+ * software systems associated with FreeBSD can have unique IDs in the
+ * absence of hardware.  The use of OUIs for this purpose is not fully
+ * fleshed out but is now in common use in virtualization technology.
+ * 
+ * Allocations from this range are expected to be made using COMMON
+ * SENSE by developers.  Do NOT take a large range just because
+ * they're currently wide open.  Take the smallest useful range for
+ * your system.  We have (2^24 - 2) available addresses (see Reserved
+ * Values below) but that is far from infinite.
+ *
+ * In the event of a conflict arbitration of allocation in this file
+ * is subject to core@ approval
+ * 
+ * Applications are differentiated based on the high order bit(s) of
+ * the remaining three bytes.  Our first allocation has all 0s, the
+ * next allocation has the highest bit set.  Allocating in this way
+ * gives us 254 allocations of 64K addresses.  Address blocks can be
+ * concatenated if necessary.
+ *
+ * Reserved Values: 0x000000 and 0xffffff are reserved and MUST NOT BE
+ * allocated for any reason.
+ */
+
+/* Allocate 64K to bhyve */
+#define OUI_FREEBSD_BHYVE_LOW	OUI_FREEBSD + 0x000001
+#define OUI_FREEBSD_BHYVE_HIGH	OUI_FREEBSD + 0x00ffff

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 20:07:18 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 5F9F54AD;
 Thu, 14 Nov 2013 20:07:18 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 4E68F29F7;
 Thu, 14 Nov 2013 20:07:18 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAEK7IcN068096;
 Thu, 14 Nov 2013 20:07:18 GMT (envelope-from gnn@svn.freebsd.org)
Received: (from gnn@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAEK7InH068095;
 Thu, 14 Nov 2013 20:07:18 GMT (envelope-from gnn@svn.freebsd.org)
Message-Id: <201311142007.rAEK7InH068095@svn.freebsd.org>
From: "George V. Neville-Neil" <gnn@FreeBSD.org>
Date: Thu, 14 Nov 2013 20:07:18 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258142 - head/sys/net
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 20:07:18 -0000

Author: gnn
Date: Thu Nov 14 20:07:17 2013
New Revision: 258142
URL: http://svnweb.freebsd.org/changeset/base/258142

Log:
  Shift our OUI correctly.
  
  Pointed out by: emaste

Modified:
  head/sys/net/ieee_oui.h

Modified: head/sys/net/ieee_oui.h
==============================================================================
--- head/sys/net/ieee_oui.h	Thu Nov 14 19:53:35 2013	(r258141)
+++ head/sys/net/ieee_oui.h	Thu Nov 14 20:07:17 2013	(r258142)
@@ -62,5 +62,5 @@
  */
 
 /* Allocate 64K to bhyve */
-#define OUI_FREEBSD_BHYVE_LOW	OUI_FREEBSD + 0x000001
-#define OUI_FREEBSD_BHYVE_HIGH	OUI_FREEBSD + 0x00ffff
+#define OUI_FREEBSD_BHYVE_LOW	((OUI_FREEBSD << 3) + 0x000001)
+#define OUI_FREEBSD_BHYVE_HIGH	((OUI_FREEBSD << 3) + 0x00ffff)

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 20:21:06 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 71C349E4;
 Thu, 14 Nov 2013 20:21:06 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 60A722AED;
 Thu, 14 Nov 2013 20:21:06 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAEKL6Bo074271;
 Thu, 14 Nov 2013 20:21:06 GMT (envelope-from pfg@svn.freebsd.org)
Received: (from pfg@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAEKL67B074269;
 Thu, 14 Nov 2013 20:21:06 GMT (envelope-from pfg@svn.freebsd.org)
Message-Id: <201311142021.rAEKL67B074269@svn.freebsd.org>
From: "Pedro F. Giffuni" <pfg@FreeBSD.org>
Date: Thu, 14 Nov 2013 20:21:06 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258143 - head/contrib/gcc
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 20:21:06 -0000

Author: pfg
Date: Thu Nov 14 20:21:05 2013
New Revision: 258143
URL: http://svnweb.freebsd.org/changeset/base/258143

Log:
  Merge vrp-tree fix from gcc-4.3
  
  Fix missed conversion from / to >> (GCC PR32521)
  
  Note that vrp-tree is currently disabled by default in
  FreeBSD's gcc due many bugs.
  
  While here fix a revision number in the 4.3 Changelog.
  
  Obtained from:	gcc 4.3 (rev. 122831 - partial; GPLv2)
  MFC after:	3 weeks

Modified:
  head/contrib/gcc/ChangeLog.gcc43
  head/contrib/gcc/tree-vrp.c

Modified: head/contrib/gcc/ChangeLog.gcc43
==============================================================================
--- head/contrib/gcc/ChangeLog.gcc43	Thu Nov 14 20:07:17 2013	(r258142)
+++ head/contrib/gcc/ChangeLog.gcc43	Thu Nov 14 20:21:05 2013	(r258143)
@@ -1,4 +1,4 @@
-2007-06-05  Joerg Wunsch  <j.gnu@uriah.heep.sax.de> (r23479)
+2007-06-05  Joerg Wunsch  <j.gnu@uriah.heep.sax.de> (r125346)
 
 	PR preprocessor/23479
 	* doc/extend.texi: Document the 0b-prefixed binary integer
@@ -49,6 +49,11 @@
 	* config/i386/i386.c (override_options): Likewise.
 	* doc/invoke.texi: Likewise.
 
+2007-03-11  Ian Lance Taylor  <iant@google.com> (r122831 - partial)
+
+	* tree-vrp.c (vrp_int_const_binop): Handle PLUS_EXPR and
+	the *_DIV_EXPR codes correctly with overflow infinities.
+
 2007-02-09  Dwarakanath Rajagopal <dwarak.rajagopal@amd.com> (r121763)
 
 	* config/i386/driver-i386.c: Turn on -mtune=native for AMDFAM10.

Modified: head/contrib/gcc/tree-vrp.c
==============================================================================
--- head/contrib/gcc/tree-vrp.c	Thu Nov 14 20:07:17 2013	(r258142)
+++ head/contrib/gcc/tree-vrp.c	Thu Nov 14 20:21:05 2013	(r258143)
@@ -4914,7 +4914,7 @@ simplify_div_or_mod_using_ranges (tree s
     {
       bool sop = false;
 
-      val = compare_range_with_value (GT_EXPR, vr, integer_zero_node, &sop);
+      val = compare_range_with_value (GE_EXPR, vr, integer_zero_node, &sop);
 
       if (val
 	  && sop

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 21:03:59 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id C7952E99;
 Thu, 14 Nov 2013 21:03:59 +0000 (UTC)
Received: from mail-wg0-x229.google.com (mail-wg0-x229.google.com
 [IPv6:2a00:1450:400c:c00::229])
 (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id EECC52DD6;
 Thu, 14 Nov 2013 21:03:58 +0000 (UTC)
Received: by mail-wg0-f41.google.com with SMTP id n12so1302789wgh.0
 for <multiple recipients>; Thu, 14 Nov 2013 13:03:57 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
 h=mime-version:sender:in-reply-to:references:date:message-id:subject
 :from:to:cc:content-type;
 bh=u6mu3/FSGWNySccoRSzOw5mvSFVuUil0yc2rl05+gog=;
 b=bgVMlJMWnpbXZzVIeA2jP4d6eu+mClMGy7T+6qjRIXVfCEc1iflSp/Zt233zTuDxyL
 WQIYVUJehQX2hJFz1ePI0jc2BJP1Zgqg8qh/43jOBAGB4MOIm5sWzmco69fAbW9jreBO
 bHW8oc0EeRtvFxN8kPBHsew0wOePyXzs6L/HwCWivbvF9OFtxqMDer4WaC1TRVEHEei3
 93PjBAE4o5AjuxDEQqjzj55N1GBtALuZhZuoeFc7amWQOwxtqGj/RrISvHRFcF/1RZoh
 1wK4tzXHlfn92V9H5fjI10A8/ozjT89jNQgy4c6kG+j8wlxItx/00XPri8Gy3Psmi9BN
 ofTQ==
MIME-Version: 1.0
X-Received: by 10.180.107.193 with SMTP id he1mr4668642wib.50.1384463036212;
 Thu, 14 Nov 2013 13:03:56 -0800 (PST)
Sender: pluknet@gmail.com
Received: by 10.217.0.143 with HTTP; Thu, 14 Nov 2013 13:03:56 -0800 (PST)
In-Reply-To: <201311142007.rAEK7InH068095@svn.freebsd.org>
References: <201311142007.rAEK7InH068095@svn.freebsd.org>
Date: Fri, 15 Nov 2013 01:03:56 +0400
X-Google-Sender-Auth: 63BfrG2KSJna0GImXrK4gezZi5s
Message-ID: <CAE-mSOKfAgZQMuXJ1mF0vyB6EgRVMQ5CpxNX+Sh7Q6dHiA=fnQ@mail.gmail.com>
Subject: Re: svn commit: r258142 - head/sys/net
From: Sergey Kandaurov <pluknet@freebsd.org>
To: "George V. Neville-Neil" <gnn@freebsd.org>
Content-Type: text/plain; charset=ISO-8859-1
Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org,
 src-committers@freebsd.org
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 21:03:59 -0000

On 15 November 2013 00:07, George V. Neville-Neil <gnn@freebsd.org> wrote:
> Author: gnn
> Date: Thu Nov 14 20:07:17 2013
> New Revision: 258142
> URL: http://svnweb.freebsd.org/changeset/base/258142
>
> Log:
>   Shift our OUI correctly.
>
>   Pointed out by: emaste
>
> Modified:
>   head/sys/net/ieee_oui.h
>
> Modified: head/sys/net/ieee_oui.h
> ==============================================================================
> --- head/sys/net/ieee_oui.h     Thu Nov 14 19:53:35 2013        (r258141)
> +++ head/sys/net/ieee_oui.h     Thu Nov 14 20:07:17 2013        (r258142)
> @@ -62,5 +62,5 @@
>   */
>
>  /* Allocate 64K to bhyve */
> -#define OUI_FREEBSD_BHYVE_LOW  OUI_FREEBSD + 0x000001
> -#define OUI_FREEBSD_BHYVE_HIGH OUI_FREEBSD + 0x00ffff
> +#define OUI_FREEBSD_BHYVE_LOW  ((OUI_FREEBSD << 3) + 0x000001)
> +#define OUI_FREEBSD_BHYVE_HIGH ((OUI_FREEBSD << 3) + 0x00ffff)

Shouldn't it be rather shifted with 24 (3 x 8bits)?

-- 
wbr,
pluknet

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 21:27:14 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id F1EEAD7;
 Thu, 14 Nov 2013 21:27:13 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id E09C32F5E;
 Thu, 14 Nov 2013 21:27:13 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAELRDOX095684;
 Thu, 14 Nov 2013 21:27:13 GMT (envelope-from jhb@svn.freebsd.org)
Received: (from jhb@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAELRDhp095683;
 Thu, 14 Nov 2013 21:27:13 GMT (envelope-from jhb@svn.freebsd.org)
Message-Id: <201311142127.rAELRDhp095683@svn.freebsd.org>
From: John Baldwin <jhb@FreeBSD.org>
Date: Thu, 14 Nov 2013 21:27:13 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject: svn commit: r258144 - stable/9/sys/vm
X-SVN-Group: stable-9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 21:27:14 -0000

Author: jhb
Date: Thu Nov 14 21:27:13 2013
New Revision: 258144
URL: http://svnweb.freebsd.org/changeset/base/258144

Log:
  MFC 255497:
  Fix an off-by-one error when populating mincore(2) entries for
  skipped entries.  lastvecindex references the last valid byte,
  so the new bytes should come after it.

Modified:
  stable/9/sys/vm/vm_mmap.c
Directory Properties:
  stable/9/sys/   (props changed)

Modified: stable/9/sys/vm/vm_mmap.c
==============================================================================
--- stable/9/sys/vm/vm_mmap.c	Thu Nov 14 20:21:05 2013	(r258143)
+++ stable/9/sys/vm/vm_mmap.c	Thu Nov 14 21:27:13 2013	(r258144)
@@ -963,12 +963,12 @@ RestartScan:
 			 * the byte vector is zeroed for those skipped entries.
 			 */
 			while ((lastvecindex + 1) < vecindex) {
+				++lastvecindex;
 				error = subyte(vec + lastvecindex, 0);
 				if (error) {
 					error = EFAULT;
 					goto done2;
 				}
-				++lastvecindex;
 			}
 
 			/*
@@ -1004,12 +1004,12 @@ RestartScan:
 	 */
 	vecindex = OFF_TO_IDX(end - first_addr);
 	while ((lastvecindex + 1) < vecindex) {
+		++lastvecindex;
 		error = subyte(vec + lastvecindex, 0);
 		if (error) {
 			error = EFAULT;
 			goto done2;
 		}
-		++lastvecindex;
 	}
 
 	/*

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 21:27:20 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 770461A7;
 Thu, 14 Nov 2013 21:27:19 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 8A9412F60;
 Thu, 14 Nov 2013 21:27:19 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAELRJNX095731;
 Thu, 14 Nov 2013 21:27:19 GMT (envelope-from jhb@svn.freebsd.org)
Received: (from jhb@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAELRJia095730;
 Thu, 14 Nov 2013 21:27:19 GMT (envelope-from jhb@svn.freebsd.org)
Message-Id: <201311142127.rAELRJia095730@svn.freebsd.org>
From: John Baldwin <jhb@FreeBSD.org>
Date: Thu, 14 Nov 2013 21:27:19 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org
Subject: svn commit: r258145 - stable/8/sys/vm
X-SVN-Group: stable-8
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 21:27:20 -0000

Author: jhb
Date: Thu Nov 14 21:27:19 2013
New Revision: 258145
URL: http://svnweb.freebsd.org/changeset/base/258145

Log:
  MFC 255497:
  Fix an off-by-one error when populating mincore(2) entries for
  skipped entries.  lastvecindex references the last valid byte,
  so the new bytes should come after it.

Modified:
  stable/8/sys/vm/vm_mmap.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/vm/   (props changed)

Modified: stable/8/sys/vm/vm_mmap.c
==============================================================================
--- stable/8/sys/vm/vm_mmap.c	Thu Nov 14 21:27:13 2013	(r258144)
+++ stable/8/sys/vm/vm_mmap.c	Thu Nov 14 21:27:19 2013	(r258145)
@@ -878,12 +878,12 @@ RestartScan:
 			 * the byte vector is zeroed for those skipped entries.
 			 */
 			while ((lastvecindex + 1) < vecindex) {
+				++lastvecindex;
 				error = subyte(vec + lastvecindex, 0);
 				if (error) {
 					error = EFAULT;
 					goto done2;
 				}
-				++lastvecindex;
 			}
 
 			/*
@@ -919,12 +919,12 @@ RestartScan:
 	 */
 	vecindex = OFF_TO_IDX(end - first_addr);
 	while ((lastvecindex + 1) < vecindex) {
+		++lastvecindex;
 		error = subyte(vec + lastvecindex, 0);
 		if (error) {
 			error = EFAULT;
 			goto done2;
 		}
-		++lastvecindex;
 	}
 
 	/*

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 21:31:59 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 458433F6;
 Thu, 14 Nov 2013 21:31:59 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 249C62FBC;
 Thu, 14 Nov 2013 21:31:59 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAELVwBu098458;
 Thu, 14 Nov 2013 21:31:58 GMT (envelope-from jhb@svn.freebsd.org)
Received: (from jhb@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAELVwhj098453;
 Thu, 14 Nov 2013 21:31:58 GMT (envelope-from jhb@svn.freebsd.org)
Message-Id: <201311142131.rAELVwhj098453@svn.freebsd.org>
From: John Baldwin <jhb@FreeBSD.org>
Date: Thu, 14 Nov 2013 21:31:58 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject: svn commit: r258146 - stable/9/share/man/man9
X-SVN-Group: stable-9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 21:31:59 -0000

Author: jhb
Date: Thu Nov 14 21:31:58 2013
New Revision: 258146
URL: http://svnweb.freebsd.org/changeset/base/258146

Log:
  MFC 255498:
  - Document the UQUAD sysctl variants.
  - Clarify that exactly one of the "access" flags is required and
    list the optional flags in a separate list.  Prefer bundling
    CTLFLAG_TUN into the access flag by not documenting it as an
    optional flag to set.

Modified:
  stable/9/share/man/man9/Makefile
  stable/9/share/man/man9/sysctl.9
  stable/9/share/man/man9/sysctl_add_oid.9
Directory Properties:
  stable/9/share/man/man9/   (props changed)

Modified: stable/9/share/man/man9/Makefile
==============================================================================
--- stable/9/share/man/man9/Makefile	Thu Nov 14 21:27:19 2013	(r258145)
+++ stable/9/share/man/man9/Makefile	Thu Nov 14 21:31:58 2013	(r258146)
@@ -1273,22 +1273,24 @@ MLINKS+=sysctl.9 SYSCTL_DECL.9 \
 	sysctl.9 SYSCTL_NODE.9 \
 	sysctl.9 SYSCTL_OPAQUE.9 \
 	sysctl.9 SYSCTL_PROC.9 \
+	sysctl.9 SYSCTL_QUAD.9 \
 	sysctl.9 SYSCTL_STRING.9 \
 	sysctl.9 SYSCTL_STRUCT.9 \
 	sysctl.9 SYSCTL_UINT.9 \
 	sysctl.9 SYSCTL_ULONG.9 \
-	sysctl.9 SYSCTL_QUAD.9
+	sysctl.9 SYSCTL_UQUAD.9
 MLINKS+=sysctl_add_oid.9 SYSCTL_ADD_INT.9 \
 	sysctl_add_oid.9 SYSCTL_ADD_LONG.9 \
 	sysctl_add_oid.9 SYSCTL_ADD_NODE.9 \
 	sysctl_add_oid.9 SYSCTL_ADD_OID.9 \
 	sysctl_add_oid.9 SYSCTL_ADD_OPAQUE.9 \
 	sysctl_add_oid.9 SYSCTL_ADD_PROC.9 \
+	sysctl_add_oid.9 SYSCTL_ADD_QUAD.9 \
 	sysctl_add_oid.9 SYSCTL_ADD_STRING.9 \
 	sysctl_add_oid.9 SYSCTL_ADD_STRUCT.9 \
 	sysctl_add_oid.9 SYSCTL_ADD_UINT.9 \
 	sysctl_add_oid.9 SYSCTL_ADD_ULONG.9 \
-	sysctl_add_oid.9 SYSCTL_ADD_QUAD.9 \
+	sysctl_add_oid.9 SYSCTL_ADD_UQUAD.9 \
 	sysctl_add_oid.9 SYSCTL_CHILDREN.9 \
 	sysctl_add_oid.9 sysctl_move_oid.9 \
 	sysctl_add_oid.9 sysctl_remove_oid.9 \

Modified: stable/9/share/man/man9/sysctl.9
==============================================================================
--- stable/9/share/man/man9/sysctl.9	Thu Nov 14 21:27:19 2013	(r258145)
+++ stable/9/share/man/man9/sysctl.9	Thu Nov 14 21:31:58 2013	(r258146)
@@ -25,7 +25,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd January 16, 2010
+.Dd September 12, 2013
 .Dt SYSCTL 9
 .Os
 .Sh NAME
@@ -35,11 +35,12 @@
 .Nm SYSCTL_NODE ,
 .Nm SYSCTL_OPAQUE ,
 .Nm SYSCTL_PROC ,
+.Nm SYSCTL_QUAD ,
 .Nm SYSCTL_STRING ,
 .Nm SYSCTL_STRUCT ,
 .Nm SYSCTL_UINT ,
 .Nm SYSCTL_ULONG ,
-.Nm SYSCTL_QUAD
+.Nm SYSCTL_UQUAD
 .Nd Static sysctl declaration functions
 .Sh SYNOPSIS
 .In sys/types.h
@@ -50,11 +51,12 @@
 .Fn SYSCTL_NODE parent nbr name access handler descr
 .Fn SYSCTL_OPAQUE parent nbr name access ptr len fmt descr
 .Fn SYSCTL_PROC parent nbr name access ptr arg handler fmt descr
+.Fn SYSCTL_QUAD parent nbr name access ptr val descr
 .Fn SYSCTL_STRING parent nbr name access arg len descr
 .Fn SYSCTL_STRUCT parent nbr name access ptr type descr
 .Fn SYSCTL_UINT parent nbr name access ptr val descr
 .Fn SYSCTL_ULONG parent nbr name access ptr val descr
-.Fn SYSCTL_QUAD parent nbr name access ptr val descr
+.Fn SYSCTL_UQUAD parent nbr name access ptr val descr
 .Sh DESCRIPTION
 The
 .Nm SYSCTL
@@ -76,12 +78,13 @@ New nodes are declared using one of
 .Fn SYSCTL_NODE ,
 .Fn SYSCTL_OPAQUE ,
 .Fn SYSCTL_PROC ,
+.Fn SYSCTL_QUAD ,
 .Fn SYSCTL_STRING ,
 .Fn SYSCTL_STRUCT ,
 .Fn SYSCTL_UINT ,
 .Fn SYSCTL_ULONG ,
 and
-.Fn SYSCTL_QUAD .
+.Fn SYSCTL_UQUAD .
 Each macro accepts a parent name, as declared using
 .Fn SYSCTL_DECL ,
 an OID number, typically
@@ -118,15 +121,23 @@ This is an unsigned long.
 This is a 64-bit unsigned integer.
 .El
 .Pp
-All sysctl types except for new node declarations require one or more flags
-to be set indicating the read and write disposition of the sysctl:
+All sysctl types except for new node declarations require one of the following
+flags to be set indicating the read and write disposition of the sysctl:
 .Bl -tag -width ".Dv CTLFLAG_ANYBODY"
 .It Dv CTLFLAG_RD
 This is a read-only sysctl.
+.It Dv CTLFLAG_RDTUN
+This is a read-only sysctl which can be set by a system tunable.
 .It Dv CTLFLAG_WR
 This is a writable sysctl.
 .It Dv CTLFLAG_RW
 This sysctl is readable and writable.
+.It Dv CTLFLAG_RWTUN
+This sysctl is readable and writable and can also be set by a system tunable.
+.El
+.Pp
+Additionally, any of the following optional flags may also be specified:
+.Bl -tag -width ".Dv CTLFLAG_ANYBODY"
 .It Dv CTLFLAG_ANYBODY
 Any user or process can write to this sysctl.
 .It Dv CTLFLAG_SECURE
@@ -139,9 +150,6 @@ This sysctl can be written to by process
 When iterating the sysctl name space, do not list this sysctl.
 .It Dv CTLFLAG_TUN
 Advisory flag that a system tunable also exists for this variable.
-.It Dv CTLFLAG_RDTUN
-Advisory flag that a system tunable also exists for this variable;
-however, the run-time variable is read-only.
 .El
 .Pp
 When creating new sysctls, careful attention should be paid to the security

Modified: stable/9/share/man/man9/sysctl_add_oid.9
==============================================================================
--- stable/9/share/man/man9/sysctl_add_oid.9	Thu Nov 14 21:27:19 2013	(r258145)
+++ stable/9/share/man/man9/sysctl_add_oid.9	Thu Nov 14 21:31:58 2013	(r258146)
@@ -27,7 +27,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd July 15, 2000
+.Dd September 12, 2013
 .Dt SYSCTL_ADD_OID 9
 .Os
 .Sh NAME
@@ -157,6 +157,16 @@
 .Fa "const char *descr"
 .Fc
 .Ft struct sysctl_oid *
+.Fo SYSCTL_ADD_UQUAD
+.Fa "struct sysctl_ctx_list *ctx"
+.Fa "struct sysctl_oid_list *parent"
+.Fa "int number"
+.Fa "const char *name"
+.Fa "int access"
+.Fa "uint64_t *arg"
+.Fa "const char *descr"
+.Fc
+.Ft struct sysctl_oid *
 .Fo SYSCTL_ADD_OPAQUE
 .Fa "struct sysctl_ctx_list *ctx"
 .Fa "struct sysctl_oid_list *parent"

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 21:51:10 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id AC7F6C9F;
 Thu, 14 Nov 2013 21:51:10 +0000 (UTC)
Received: from vps.hungerhost.com (vps.hungerhost.com [216.38.53.176])
 (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 7EC0B211C;
 Thu, 14 Nov 2013 21:51:10 +0000 (UTC)
Received: from [209.249.190.124] (port=52111
 helo=dhcp-10-2-210-27.hudson-trading.com)
 by vps.hungerhost.com with esmtpsa (TLSv1:AES128-SHA:128)
 (Exim 4.80.1) (envelope-from <gnn@freebsd.org>)
 id 1Vh4oY-0002ca-E3; Thu, 14 Nov 2013 16:51:02 -0500
Content-Type: multipart/signed;
 boundary="Apple-Mail=_B87F5B80-1D37-4F24-932A-4D376ACF3646";
 protocol="application/pgp-signature"; micalg=pgp-sha1
Mime-Version: 1.0 (Mac OS X Mail 7.0 \(1822\))
Subject: Re: svn commit: r258142 - head/sys/net
From: George Neville-Neil <gnn@freebsd.org>
In-Reply-To: <CAE-mSOKfAgZQMuXJ1mF0vyB6EgRVMQ5CpxNX+Sh7Q6dHiA=fnQ@mail.gmail.com>
Date: Thu, 14 Nov 2013 16:51:01 -0500
Message-Id: <A2749F6A-4F91-4DC7-A2C4-0F75AE20DB5E@freebsd.org>
References: <201311142007.rAEK7InH068095@svn.freebsd.org>
 <CAE-mSOKfAgZQMuXJ1mF0vyB6EgRVMQ5CpxNX+Sh7Q6dHiA=fnQ@mail.gmail.com>
To: Sergey Kandaurov <pluknet@FreeBSD.org>
X-Mailer: Apple Mail (2.1822)
X-AntiAbuse: This header was added to track abuse,
 please include it with any abuse report
X-AntiAbuse: Primary Hostname - vps.hungerhost.com
X-AntiAbuse: Original Domain - freebsd.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - freebsd.org
X-Get-Message-Sender-Via: vps.hungerhost.com: authenticated_id:
 gnn@neville-neil.com
Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org,
 src-committers@freebsd.org
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 21:51:10 -0000


--Apple-Mail=_B87F5B80-1D37-4F24-932A-4D376ACF3646
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=windows-1252


On Nov 14, 2013, at 16:03 , Sergey Kandaurov <pluknet@FreeBSD.org> =
wrote:

> On 15 November 2013 00:07, George V. Neville-Neil <gnn@freebsd.org> =
wrote:
>> Author: gnn
>> Date: Thu Nov 14 20:07:17 2013
>> New Revision: 258142
>> URL: http://svnweb.freebsd.org/changeset/base/258142
>>=20
>> Log:
>>  Shift our OUI correctly.
>>=20
>>  Pointed out by: emaste
>>=20
>> Modified:
>>  head/sys/net/ieee_oui.h
>>=20
>> Modified: head/sys/net/ieee_oui.h
>> =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
>> --- head/sys/net/ieee_oui.h     Thu Nov 14 19:53:35 2013        =
(r258141)
>> +++ head/sys/net/ieee_oui.h     Thu Nov 14 20:07:17 2013        =
(r258142)
>> @@ -62,5 +62,5 @@
>>  */
>>=20
>> /* Allocate 64K to bhyve */
>> -#define OUI_FREEBSD_BHYVE_LOW  OUI_FREEBSD + 0x000001
>> -#define OUI_FREEBSD_BHYVE_HIGH OUI_FREEBSD + 0x00ffff
>> +#define OUI_FREEBSD_BHYVE_LOW  ((OUI_FREEBSD << 3) + 0x000001)
>> +#define OUI_FREEBSD_BHYVE_HIGH ((OUI_FREEBSD << 3) + 0x00ffff)
>=20
> Shouldn't it be rather shifted with 24 (3 x 8bits)?

Correct, and it should really be an | not a +.  I=92ll commit a fix.

Best,
George


--Apple-Mail=_B87F5B80-1D37-4F24-932A-4D376ACF3646
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - http://gpgtools.org

iEYEARECAAYFAlKFRcUACgkQYdh2wUQKM9JB9wCeNC9JszmSKr5mlDGYNWOupN3b
IycAoLRYRCigL8MPa3YGAZbsKUv2RFih
=Vqip
-----END PGP SIGNATURE-----

--Apple-Mail=_B87F5B80-1D37-4F24-932A-4D376ACF3646--

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 21:57:37 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 9196BEFC;
 Thu, 14 Nov 2013 21:57:37 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 80B9E2153;
 Thu, 14 Nov 2013 21:57:37 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAELvbvN005682;
 Thu, 14 Nov 2013 21:57:37 GMT (envelope-from gnn@svn.freebsd.org)
Received: (from gnn@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAELvbp1005681;
 Thu, 14 Nov 2013 21:57:37 GMT (envelope-from gnn@svn.freebsd.org)
Message-Id: <201311142157.rAELvbp1005681@svn.freebsd.org>
From: "George V. Neville-Neil" <gnn@FreeBSD.org>
Date: Thu, 14 Nov 2013 21:57:37 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258147 - head/sys/net
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 21:57:37 -0000

Author: gnn
Date: Thu Nov 14 21:57:37 2013
New Revision: 258147
URL: http://svnweb.freebsd.org/changeset/base/258147

Log:
  Put in the correct bit shifting and add a type to prevent clang from complaining.
  While here fix up a grammar nit.
  
  Pointed out by: Sergey Kandaurov and bz@ respectively.

Modified:
  head/sys/net/ieee_oui.h

Modified: head/sys/net/ieee_oui.h
==============================================================================
--- head/sys/net/ieee_oui.h	Thu Nov 14 21:31:58 2013	(r258146)
+++ head/sys/net/ieee_oui.h	Thu Nov 14 21:57:37 2013	(r258147)
@@ -49,7 +49,7 @@
  * Values below) but that is far from infinite.
  *
  * In the event of a conflict arbitration of allocation in this file
- * is subject to core@ approval
+ * is subject to core@ approval.
  * 
  * Applications are differentiated based on the high order bit(s) of
  * the remaining three bytes.  Our first allocation has all 0s, the
@@ -62,5 +62,5 @@
  */
 
 /* Allocate 64K to bhyve */
-#define OUI_FREEBSD_BHYVE_LOW	((OUI_FREEBSD << 3) + 0x000001)
-#define OUI_FREEBSD_BHYVE_HIGH	((OUI_FREEBSD << 3) + 0x00ffff)
+#define OUI_FREEBSD_BHYVE_LOW	(((uint64_t)OUI_FREEBSD << 24) | 0x000001)
+#define OUI_FREEBSD_BHYVE_HIGH	(((uint64_t)OUI_FREEBSD << 24) | 0x00ffff)

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 22:57:07 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id EE9545DC;
 Thu, 14 Nov 2013 22:57:07 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id DE3E6253D;
 Thu, 14 Nov 2013 22:57:07 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAEMv76n026024;
 Thu, 14 Nov 2013 22:57:07 GMT (envelope-from pjd@svn.freebsd.org)
Received: (from pjd@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAEMv7tQ026023;
 Thu, 14 Nov 2013 22:57:07 GMT (envelope-from pjd@svn.freebsd.org)
Message-Id: <201311142257.rAEMv7tQ026023@svn.freebsd.org>
From: Pawel Jakub Dawidek <pjd@FreeBSD.org>
Date: Thu, 14 Nov 2013 22:57:07 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258148 - head/sys/kern
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 22:57:08 -0000

Author: pjd
Date: Thu Nov 14 22:57:07 2013
New Revision: 258148
URL: http://svnweb.freebsd.org/changeset/base/258148

Log:
  Add a note that this file is compiled as part of the kernel and libc.
  
  Requested by:	kib
  MFC after:	3 days

Modified:
  head/sys/kern/subr_capability.c

Modified: head/sys/kern/subr_capability.c
==============================================================================
--- head/sys/kern/subr_capability.c	Thu Nov 14 21:57:37 2013	(r258147)
+++ head/sys/kern/subr_capability.c	Thu Nov 14 22:57:07 2013	(r258148)
@@ -30,6 +30,10 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD$");
 
+/*
+ * Note that this file is compiled into the kernel and into libc.
+ */
+
 #ifdef _KERNEL
 #include <sys/types.h>
 #include <sys/capability.h>

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 22:59:21 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 93662778;
 Thu, 14 Nov 2013 22:59:21 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 685732568;
 Thu, 14 Nov 2013 22:59:21 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAEMxLaq026286;
 Thu, 14 Nov 2013 22:59:21 GMT (envelope-from pjd@svn.freebsd.org)
Received: (from pjd@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAEMxLRf026284;
 Thu, 14 Nov 2013 22:59:21 GMT (envelope-from pjd@svn.freebsd.org)
Message-Id: <201311142259.rAEMxLRf026284@svn.freebsd.org>
From: Pawel Jakub Dawidek <pjd@FreeBSD.org>
Date: Thu, 14 Nov 2013 22:59:21 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258149 - in head/sys: kern sys
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 22:59:21 -0000

Author: pjd
Date: Thu Nov 14 22:59:20 2013
New Revision: 258149
URL: http://svnweb.freebsd.org/changeset/base/258149

Log:
  Change cap_rights_merge(3) and cap_rights_remove(3) to return pointer
  to the destination cap_rights_t structure.
  
  This already matches manual page.
  
  MFC after:	3 days

Modified:
  head/sys/kern/subr_capability.c
  head/sys/sys/capability.h

Modified: head/sys/kern/subr_capability.c
==============================================================================
--- head/sys/kern/subr_capability.c	Thu Nov 14 22:57:07 2013	(r258148)
+++ head/sys/kern/subr_capability.c	Thu Nov 14 22:59:20 2013	(r258149)
@@ -168,7 +168,7 @@ __cap_rights_init(int version, cap_right
 	return (rights);
 }
 
-void
+cap_rights_t *
 __cap_rights_set(cap_rights_t *rights, ...)
 {
 	va_list ap;
@@ -178,9 +178,11 @@ __cap_rights_set(cap_rights_t *rights, .
 	va_start(ap, rights);
 	cap_rights_vset(rights, ap);
 	va_end(ap);
+
+	return (rights);
 }
 
-void
+cap_rights_t *
 __cap_rights_clear(cap_rights_t *rights, ...)
 {
 	va_list ap;
@@ -190,6 +192,8 @@ __cap_rights_clear(cap_rights_t *rights,
 	va_start(ap, rights);
 	cap_rights_vclear(rights, ap);
 	va_end(ap);
+
+	return (rights);
 }
 
 bool
@@ -235,7 +239,7 @@ cap_rights_is_valid(const cap_rights_t *
 	return (true);
 }
 
-void
+cap_rights_t *
 cap_rights_merge(cap_rights_t *dst, const cap_rights_t *src)
 {
 	unsigned int i, n;
@@ -254,9 +258,11 @@ cap_rights_merge(cap_rights_t *dst, cons
 
 	assert(cap_rights_is_valid(src));
 	assert(cap_rights_is_valid(dst));
+
+	return (dst);
 }
 
-void
+cap_rights_t *
 cap_rights_remove(cap_rights_t *dst, const cap_rights_t *src)
 {
 	unsigned int i, n;
@@ -277,6 +283,8 @@ cap_rights_remove(cap_rights_t *dst, con
 
 	assert(cap_rights_is_valid(src));
 	assert(cap_rights_is_valid(dst));
+
+	return (dst);
 }
 
 bool

Modified: head/sys/sys/capability.h
==============================================================================
--- head/sys/sys/capability.h	Thu Nov 14 22:57:07 2013	(r258148)
+++ head/sys/sys/capability.h	Thu Nov 14 22:59:20 2013	(r258149)
@@ -269,8 +269,8 @@ void __cap_rights_clear(cap_rights_t *ri
 bool __cap_rights_is_set(const cap_rights_t *rights, ...);
 
 bool cap_rights_is_valid(const cap_rights_t *rights);
-void cap_rights_merge(cap_rights_t *dst, const cap_rights_t *src);
-void cap_rights_remove(cap_rights_t *dst, const cap_rights_t *src);
+cap_rights_t *cap_rights_merge(cap_rights_t *dst, const cap_rights_t *src);
+cap_rights_t *cap_rights_remove(cap_rights_t *dst, const cap_rights_t *src);
 bool cap_rights_contains(const cap_rights_t *big, const cap_rights_t *little);
 
 #ifdef _KERNEL

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 23:02:49 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id C0817A09;
 Thu, 14 Nov 2013 23:02:49 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id AF9DE25C2;
 Thu, 14 Nov 2013 23:02:49 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAEN2nnv029096;
 Thu, 14 Nov 2013 23:02:49 GMT (envelope-from pjd@svn.freebsd.org)
Received: (from pjd@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAEN2nW6029095;
 Thu, 14 Nov 2013 23:02:49 GMT (envelope-from pjd@svn.freebsd.org)
Message-Id: <201311142302.rAEN2nW6029095@svn.freebsd.org>
From: Pawel Jakub Dawidek <pjd@FreeBSD.org>
Date: Thu, 14 Nov 2013 23:02:49 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258150 - head/sys/sys
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 23:02:49 -0000

Author: pjd
Date: Thu Nov 14 23:02:49 2013
New Revision: 258150
URL: http://svnweb.freebsd.org/changeset/base/258150

Log:
  Sync return value with actual implementation.
  
  Sponsored by:	The FreeBSD Foundation
  MFC after:	3 days

Modified:
  head/sys/sys/capability.h

Modified: head/sys/sys/capability.h
==============================================================================
--- head/sys/sys/capability.h	Thu Nov 14 22:59:20 2013	(r258149)
+++ head/sys/sys/capability.h	Thu Nov 14 23:02:49 2013	(r258150)
@@ -258,11 +258,11 @@ cap_rights_t *__cap_rights_init(int vers
 
 #define	cap_rights_set(rights, ...)					\
 	__cap_rights_set((rights), __VA_ARGS__, 0ULL)
-void __cap_rights_set(cap_rights_t *rights, ...);
+cap_rights_t *__cap_rights_set(cap_rights_t *rights, ...);
 
 #define	cap_rights_clear(rights, ...)					\
 	__cap_rights_clear((rights), __VA_ARGS__, 0ULL)
-void __cap_rights_clear(cap_rights_t *rights, ...);
+cap_rights_t *__cap_rights_clear(cap_rights_t *rights, ...);
 
 #define	cap_rights_is_set(rights, ...)					\
 	__cap_rights_is_set((rights), __VA_ARGS__, 0ULL)

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 23:05:14 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 679F4B7B;
 Thu, 14 Nov 2013 23:05:14 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 5730225DC;
 Thu, 14 Nov 2013 23:05:14 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAEN5EFo029516;
 Thu, 14 Nov 2013 23:05:14 GMT (envelope-from pjd@svn.freebsd.org)
Received: (from pjd@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAEN5Elj029515;
 Thu, 14 Nov 2013 23:05:14 GMT (envelope-from pjd@svn.freebsd.org)
Message-Id: <201311142305.rAEN5Elj029515@svn.freebsd.org>
From: Pawel Jakub Dawidek <pjd@FreeBSD.org>
Date: Thu, 14 Nov 2013 23:05:14 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258151 - head/sys/sys
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 23:05:14 -0000

Author: pjd
Date: Thu Nov 14 23:05:13 2013
New Revision: 258151
URL: http://svnweb.freebsd.org/changeset/base/258151

Log:
  Style.
  
  MFC after:	3 days

Modified:
  head/sys/sys/capability.h

Modified: head/sys/sys/capability.h
==============================================================================
--- head/sys/sys/capability.h	Thu Nov 14 23:02:49 2013	(r258150)
+++ head/sys/sys/capability.h	Thu Nov 14 23:05:13 2013	(r258151)
@@ -277,7 +277,7 @@ bool cap_rights_contains(const cap_right
 
 #include <sys/systm.h>
 
-#define IN_CAPABILITY_MODE(td) ((td->td_ucred->cr_flags & CRED_FLAG_CAPMODE) != 0)
+#define IN_CAPABILITY_MODE(td) (((td)->td_ucred->cr_flags & CRED_FLAG_CAPMODE) != 0)
 
 struct filedesc;
 
@@ -328,8 +328,9 @@ int cap_rights_limit(int fd, const cap_r
 /*
  * Returns capability rights for the given descriptor.
  */
-#define	cap_rights_get(fd, rights)	__cap_rights_get(CAP_RIGHTS_VERSION, (fd), (rights))
-int __cap_rights_get(int version, int fd, cap_rights_t *rightsp);
+#define	cap_rights_get(fd, rights)					\
+	__cap_rights_get(CAP_RIGHTS_VERSION, (fd), (rights))
+int __cap_rights_get(int version, int fd, cap_rights_t *rights);
 /*
  * Limits allowed ioctls for the given descriptor.
  */

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 23:14:26 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 4C32BF1A;
 Thu, 14 Nov 2013 23:14:26 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 3A440265C;
 Thu, 14 Nov 2013 23:14:26 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAENEQbQ033041;
 Thu, 14 Nov 2013 23:14:26 GMT (envelope-from pjd@svn.freebsd.org)
Received: (from pjd@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAENEQ7U033040;
 Thu, 14 Nov 2013 23:14:26 GMT (envelope-from pjd@svn.freebsd.org)
Message-Id: <201311142314.rAENEQ7U033040@svn.freebsd.org>
From: Pawel Jakub Dawidek <pjd@FreeBSD.org>
Date: Thu, 14 Nov 2013 23:14:26 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258152 - head/sys/sys
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 23:14:26 -0000

Author: pjd
Date: Thu Nov 14 23:14:25 2013
New Revision: 258152
URL: http://svnweb.freebsd.org/changeset/base/258152

Log:
  Precisely document capability rights here too (they are already documented
  in rights(4)).
  
  Sponsored by:	The FreeBSD Foundation
  MFC after:	3 days

Modified:
  head/sys/sys/capability.h

Modified: head/sys/sys/capability.h
==============================================================================
--- head/sys/sys/capability.h	Thu Nov 14 23:05:13 2013	(r258151)
+++ head/sys/sys/capability.h	Thu Nov 14 23:14:25 2013	(r258152)
@@ -79,9 +79,12 @@
 #define	CAP_SEEK_TELL		CAPRIGHT(0, 0x0000000000000004ULL)
 /* Allows for lseek(2). */
 #define	CAP_SEEK		(CAP_SEEK_TELL | 0x0000000000000008ULL)
-/* Allows for pread(2), preadv(2). */
+/* Allows for aio_read(2), pread(2), preadv(2). */
 #define	CAP_PREAD		(CAP_SEEK | CAP_READ)
-/* Allows for openat(O_WRONLY) (without O_APPEND), pwrite(2), pwritev(2). */
+/*
+ * Allows for aio_write(2), openat(O_WRONLY) (without O_APPEND), pwrite(2),
+ * pwritev(2).
+ */
 #define	CAP_PWRITE		(CAP_SEEK | CAP_WRITE)
 /* Allows for mmap(PROT_NONE). */
 #define	CAP_MMAP		CAPRIGHT(0, 0x0000000000000010ULL)
@@ -103,7 +106,7 @@
 #define	CAP_CREATE		CAPRIGHT(0, 0x0000000000000040ULL)
 /* Allows for openat(O_EXEC) and fexecve(2) in turn. */
 #define	CAP_FEXECVE		CAPRIGHT(0, 0x0000000000000080ULL)
-/* Allows for openat(O_SYNC), openat(O_FSYNC), fsync(2). */
+/* Allows for openat(O_SYNC), openat(O_FSYNC), fsync(2), aio_fsync(2). */
 #define	CAP_FSYNC		CAPRIGHT(0, 0x0000000000000100ULL)
 /* Allows for openat(O_TRUNC), ftruncate(2). */
 #define	CAP_FTRUNCATE		CAPRIGHT(0, 0x0000000000000200ULL)
@@ -112,54 +115,101 @@
 #define	CAP_LOOKUP		CAPRIGHT(0, 0x0000000000000400ULL)
 
 /* VFS methods. */
+/* Allows for fchdir(2). */
 #define	CAP_FCHDIR		CAPRIGHT(0, 0x0000000000000800ULL)
+/* Allows for fchflags(2). */
 #define	CAP_FCHFLAGS		CAPRIGHT(0, 0x0000000000001000ULL)
+/* Allows for fchflags(2) and chflagsat(2). */
 #define	CAP_CHFLAGSAT		(CAP_FCHFLAGS | CAP_LOOKUP)
+/* Allows for fchmod(2). */
 #define	CAP_FCHMOD		CAPRIGHT(0, 0x0000000000002000ULL)
+/* Allows for fchmod(2) and fchmodat(2). */
 #define	CAP_FCHMODAT		(CAP_FCHMOD | CAP_LOOKUP)
+/* Allows for fchown(2). */
 #define	CAP_FCHOWN		CAPRIGHT(0, 0x0000000000004000ULL)
+/* Allows for fchown(2) and fchownat(2). */
 #define	CAP_FCHOWNAT		(CAP_FCHOWN | CAP_LOOKUP)
+/* Allows for fcntl(2). */
 #define	CAP_FCNTL		CAPRIGHT(0, 0x0000000000008000ULL)
+/*
+ * Allows for flock(2), openat(O_SHLOCK), openat(O_EXLOCK),
+ * fcntl(F_SETLK_REMOTE), fcntl(F_SETLKW), fcntl(F_SETLK), fcntl(F_GETLK).
+ */
 #define	CAP_FLOCK		CAPRIGHT(0, 0x0000000000010000ULL)
+/* Allows for fpathconf(2). */
 #define	CAP_FPATHCONF		CAPRIGHT(0, 0x0000000000020000ULL)
+/* Allows for UFS background-fsck operations. */
 #define	CAP_FSCK		CAPRIGHT(0, 0x0000000000040000ULL)
+/* Allows for fstat(2). */
 #define	CAP_FSTAT		CAPRIGHT(0, 0x0000000000080000ULL)
+/* Allows for fstat(2), fstatat(2) and faccessat(2). */
 #define	CAP_FSTATAT		(CAP_FSTAT | CAP_LOOKUP)
+/* Allows for fstatfs(2). */
 #define	CAP_FSTATFS		CAPRIGHT(0, 0x0000000000100000ULL)
+/* Allows for futimes(2). */
 #define	CAP_FUTIMES		CAPRIGHT(0, 0x0000000000200000ULL)
+/* Allows for futimes(2) and futimesat(2). */
 #define	CAP_FUTIMESAT		(CAP_FUTIMES | CAP_LOOKUP)
+/* Allows for linkat(2) and renameat(2) (destination directory descriptor). */
 #define	CAP_LINKAT		CAPRIGHT(0, 0x0000000000400000ULL)
+/* Allows for mkdirat(2). */
 #define	CAP_MKDIRAT		CAPRIGHT(0, 0x0000000000800000ULL)
+/* Allows for mkfifoat(2). */
 #define	CAP_MKFIFOAT		CAPRIGHT(0, 0x0000000001000000ULL)
+/* Allows for mknodat(2). */
 #define	CAP_MKNODAT		CAPRIGHT(0, 0x0000000002000000ULL)
+/* Allows for renameat(2). */
 #define	CAP_RENAMEAT		CAPRIGHT(0, 0x0000000004000000ULL)
+/* Allows for symlinkat(2). */
 #define	CAP_SYMLINKAT		CAPRIGHT(0, 0x0000000008000000ULL)
+/*
+ * Allows for unlinkat(2) and renameat(2) if destination object exists and
+ * will be removed.
+ */
 #define	CAP_UNLINKAT		CAPRIGHT(0, 0x0000000010000000ULL)
 
 /* Extended attributes. */
+/* Allows for extattr_delete_fd(2). */
 #define	CAP_EXTATTR_DELETE	CAPRIGHT(0, 0x0000000020000000ULL)
+/* Allows for extattr_get_fd(2). */
 #define	CAP_EXTATTR_GET		CAPRIGHT(0, 0x0000000040000000ULL)
+/* Allows for extattr_list_fd(2). */
 #define	CAP_EXTATTR_LIST	CAPRIGHT(0, 0x0000000080000000ULL)
+/* Allows for extattr_set_fd(2). */
 #define	CAP_EXTATTR_SET		CAPRIGHT(0, 0x0000000100000000ULL)
 
 /* Access Control Lists. */
+/* Allows for acl_valid_fd_np(3). */
 #define	CAP_ACL_CHECK		CAPRIGHT(0, 0x0000000200000000ULL)
+/* Allows for acl_delete_fd_np(3). */
 #define	CAP_ACL_DELETE		CAPRIGHT(0, 0x0000000400000000ULL)
+/* Allows for acl_get_fd(3) and acl_get_fd_np(3). */
 #define	CAP_ACL_GET		CAPRIGHT(0, 0x0000000800000000ULL)
+/* Allows for acl_set_fd(3) and acl_set_fd_np(3). */
 #define	CAP_ACL_SET		CAPRIGHT(0, 0x0000001000000000ULL)
 
 /* Socket operations. */
+/* Allows for accept(2) and accept4(2). */
 #define	CAP_ACCEPT		CAPRIGHT(0, 0x0000002000000000ULL)
+/* Allows for bind(2). */
 #define	CAP_BIND		CAPRIGHT(0, 0x0000004000000000ULL)
+/* Allows for connect(2). */
 #define	CAP_CONNECT		CAPRIGHT(0, 0x0000008000000000ULL)
+/* Allows for getpeername(2). */
 #define	CAP_GETPEERNAME		CAPRIGHT(0, 0x0000010000000000ULL)
+/* Allows for getsockname(2). */
 #define	CAP_GETSOCKNAME		CAPRIGHT(0, 0x0000020000000000ULL)
+/* Allows for getsockopt(2). */
 #define	CAP_GETSOCKOPT		CAPRIGHT(0, 0x0000040000000000ULL)
+/* Allows for listen(2). */
 #define	CAP_LISTEN		CAPRIGHT(0, 0x0000080000000000ULL)
+/* Allows for sctp_peeloff(2). */
 #define	CAP_PEELOFF		CAPRIGHT(0, 0x0000100000000000ULL)
 #define	CAP_RECV		CAP_READ
 #define	CAP_SEND		CAP_WRITE
+/* Allows for setsockopt(2). */
 #define	CAP_SETSOCKOPT		CAPRIGHT(0, 0x0000200000000000ULL)
+/* Allows for shutdown(2). */
 #define	CAP_SHUTDOWN		CAPRIGHT(0, 0x0000400000000000ULL)
 
 #define	CAP_SOCK_CLIENT \
@@ -181,7 +231,9 @@
 /* INDEX 1 */
 
 /* Mandatory Access Control. */
+/* Allows for mac_get_fd(3). */
 #define	CAP_MAC_GET		CAPRIGHT(1, 0x0000000000000001ULL)
+/* Allows for mac_set_fd(3). */
 #define	CAP_MAC_SET		CAPRIGHT(1, 0x0000000000000002ULL)
 
 /* Methods on semaphores. */
@@ -194,19 +246,25 @@
 #define	CAP_POST_EVENT		CAPRIGHT(1, 0x0000000000000040ULL)
 
 /* Strange and powerful rights that should not be given lightly. */
+/* Allows for ioctl(2). */
 #define	CAP_IOCTL		CAPRIGHT(1, 0x0000000000000080ULL)
 #define	CAP_TTYHOOK		CAPRIGHT(1, 0x0000000000000100ULL)
 
 /* Process management via process descriptors. */
+/* Allows for pdgetpid(2). */
 #define	CAP_PDGETPID		CAPRIGHT(1, 0x0000000000000200ULL)
+/* Allows for pdwait4(2). */
 #define	CAP_PDWAIT		CAPRIGHT(1, 0x0000000000000400ULL)
+/* Allows for pdkill(2). */
 #define	CAP_PDKILL		CAPRIGHT(1, 0x0000000000000800ULL)
 
 /*
  * Rights that allow to use bindat(2) and connectat(2) syscalls on a
  * directory descriptor.
  */
+/* Allows for bindat(2) on a directory descriptor. */
 #define	CAP_BINDAT		CAPRIGHT(1, 0x0000000000001000ULL)
+/* Allows for connectat(2) on a directory descriptor. */
 #define	CAP_CONNECTAT		CAPRIGHT(1, 0x0000000000002000ULL)
 
 /* All used bits for index 1. */

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 23:18:33 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 6066D275;
 Thu, 14 Nov 2013 23:18:33 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 4E23B267B;
 Thu, 14 Nov 2013 23:18:33 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAENIX2i033624;
 Thu, 14 Nov 2013 23:18:33 GMT (envelope-from pjd@svn.freebsd.org)
Received: (from pjd@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAENIX6U033623;
 Thu, 14 Nov 2013 23:18:33 GMT (envelope-from pjd@svn.freebsd.org)
Message-Id: <201311142318.rAENIX6U033623@svn.freebsd.org>
From: Pawel Jakub Dawidek <pjd@FreeBSD.org>
Date: Thu, 14 Nov 2013 23:18:33 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258153 - head/sys/sys
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 23:18:33 -0000

Author: pjd
Date: Thu Nov 14 23:18:32 2013
New Revision: 258153
URL: http://svnweb.freebsd.org/changeset/base/258153

Log:
  The CAP_LINKAT, CAP_MKDIRAT, CAP_MKFIFOAT, CAP_MKNODAT, CAP_RENAMEAT,
  CAP_SYMLINKAT and CAP_UNLINKAT capability rights make no sense without
  the CAP_LOOKUP right, so include this rights.
  
  Sponsored by:	The FreeBSD Foundation
  MFC after:	3 days

Modified:
  head/sys/sys/capability.h

Modified: head/sys/sys/capability.h
==============================================================================
--- head/sys/sys/capability.h	Thu Nov 14 23:14:25 2013	(r258152)
+++ head/sys/sys/capability.h	Thu Nov 14 23:18:32 2013	(r258153)
@@ -151,22 +151,22 @@
 /* Allows for futimes(2) and futimesat(2). */
 #define	CAP_FUTIMESAT		(CAP_FUTIMES | CAP_LOOKUP)
 /* Allows for linkat(2) and renameat(2) (destination directory descriptor). */
-#define	CAP_LINKAT		CAPRIGHT(0, 0x0000000000400000ULL)
+#define	CAP_LINKAT		(CAP_LOOKUP | 0x0000000000400000ULL)
 /* Allows for mkdirat(2). */
-#define	CAP_MKDIRAT		CAPRIGHT(0, 0x0000000000800000ULL)
+#define	CAP_MKDIRAT		(CAP_LOOKUP | 0x0000000000800000ULL)
 /* Allows for mkfifoat(2). */
-#define	CAP_MKFIFOAT		CAPRIGHT(0, 0x0000000001000000ULL)
+#define	CAP_MKFIFOAT		(CAP_LOOKUP | 0x0000000001000000ULL)
 /* Allows for mknodat(2). */
-#define	CAP_MKNODAT		CAPRIGHT(0, 0x0000000002000000ULL)
+#define	CAP_MKNODAT		(CAP_LOOKUP | 0x0000000002000000ULL)
 /* Allows for renameat(2). */
-#define	CAP_RENAMEAT		CAPRIGHT(0, 0x0000000004000000ULL)
+#define	CAP_RENAMEAT		(CAP_LOOKUP | 0x0000000004000000ULL)
 /* Allows for symlinkat(2). */
-#define	CAP_SYMLINKAT		CAPRIGHT(0, 0x0000000008000000ULL)
+#define	CAP_SYMLINKAT		(CAP_LOOKUP | 0x0000000008000000ULL)
 /*
  * Allows for unlinkat(2) and renameat(2) if destination object exists and
  * will be removed.
  */
-#define	CAP_UNLINKAT		CAPRIGHT(0, 0x0000000010000000ULL)
+#define	CAP_UNLINKAT		(CAP_LOOKUP | 0x0000000010000000ULL)
 
 /* Extended attributes. */
 /* Allows for extattr_delete_fd(2). */

From owner-svn-src-all@FreeBSD.ORG  Thu Nov 14 23:28:28 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id B89717E1;
 Thu, 14 Nov 2013 23:28:28 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 9842F2715;
 Thu, 14 Nov 2013 23:28:28 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAENSSs1036882;
 Thu, 14 Nov 2013 23:28:28 GMT (envelope-from pjd@svn.freebsd.org)
Received: (from pjd@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAENSSxI036881;
 Thu, 14 Nov 2013 23:28:28 GMT (envelope-from pjd@svn.freebsd.org)
Message-Id: <201311142328.rAENSSxI036881@svn.freebsd.org>
From: Pawel Jakub Dawidek <pjd@FreeBSD.org>
Date: Thu, 14 Nov 2013 23:28:28 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258154 - head/sys/sys
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Nov 2013 23:28:28 -0000

Author: pjd
Date: Thu Nov 14 23:28:28 2013
New Revision: 258154
URL: http://svnweb.freebsd.org/changeset/base/258154

Log:
  - Move CAP_EXTATTR_* and CAP_ACL_* rights to index 1 to have more room
    in index 0 for the future.
  - Move CAP_BINDAT and CAP_CONNECTAT rights to index 0 so we can include
    CAP_LOOKUP right in them.
  - Shuffle the bits around so there are no gaps. This is last chance to do
    that as all moved rights are not used yet.
  
  Sponsored by:	The FreeBSD Foundation
  MFC after:	3 days

Modified:
  head/sys/sys/capability.h

Modified: head/sys/sys/capability.h
==============================================================================
--- head/sys/sys/capability.h	Thu Nov 14 23:18:32 2013	(r258153)
+++ head/sys/sys/capability.h	Thu Nov 14 23:28:28 2013	(r258154)
@@ -168,49 +168,34 @@
  */
 #define	CAP_UNLINKAT		(CAP_LOOKUP | 0x0000000010000000ULL)
 
-/* Extended attributes. */
-/* Allows for extattr_delete_fd(2). */
-#define	CAP_EXTATTR_DELETE	CAPRIGHT(0, 0x0000000020000000ULL)
-/* Allows for extattr_get_fd(2). */
-#define	CAP_EXTATTR_GET		CAPRIGHT(0, 0x0000000040000000ULL)
-/* Allows for extattr_list_fd(2). */
-#define	CAP_EXTATTR_LIST	CAPRIGHT(0, 0x0000000080000000ULL)
-/* Allows for extattr_set_fd(2). */
-#define	CAP_EXTATTR_SET		CAPRIGHT(0, 0x0000000100000000ULL)
-
-/* Access Control Lists. */
-/* Allows for acl_valid_fd_np(3). */
-#define	CAP_ACL_CHECK		CAPRIGHT(0, 0x0000000200000000ULL)
-/* Allows for acl_delete_fd_np(3). */
-#define	CAP_ACL_DELETE		CAPRIGHT(0, 0x0000000400000000ULL)
-/* Allows for acl_get_fd(3) and acl_get_fd_np(3). */
-#define	CAP_ACL_GET		CAPRIGHT(0, 0x0000000800000000ULL)
-/* Allows for acl_set_fd(3) and acl_set_fd_np(3). */
-#define	CAP_ACL_SET		CAPRIGHT(0, 0x0000001000000000ULL)
-
 /* Socket operations. */
 /* Allows for accept(2) and accept4(2). */
-#define	CAP_ACCEPT		CAPRIGHT(0, 0x0000002000000000ULL)
+#define	CAP_ACCEPT		CAPRIGHT(0, 0x0000000020000000ULL)
 /* Allows for bind(2). */
-#define	CAP_BIND		CAPRIGHT(0, 0x0000004000000000ULL)
+#define	CAP_BIND		CAPRIGHT(0, 0x0000000040000000ULL)
 /* Allows for connect(2). */
-#define	CAP_CONNECT		CAPRIGHT(0, 0x0000008000000000ULL)
+#define	CAP_CONNECT		CAPRIGHT(0, 0x0000000080000000ULL)
 /* Allows for getpeername(2). */
-#define	CAP_GETPEERNAME		CAPRIGHT(0, 0x0000010000000000ULL)
+#define	CAP_GETPEERNAME		CAPRIGHT(0, 0x0000000100000000ULL)
 /* Allows for getsockname(2). */
-#define	CAP_GETSOCKNAME		CAPRIGHT(0, 0x0000020000000000ULL)
+#define	CAP_GETSOCKNAME		CAPRIGHT(0, 0x0000000200000000ULL)
 /* Allows for getsockopt(2). */
-#define	CAP_GETSOCKOPT		CAPRIGHT(0, 0x0000040000000000ULL)
+#define	CAP_GETSOCKOPT		CAPRIGHT(0, 0x0000000400000000ULL)
 /* Allows for listen(2). */
-#define	CAP_LISTEN		CAPRIGHT(0, 0x0000080000000000ULL)
+#define	CAP_LISTEN		CAPRIGHT(0, 0x0000000800000000ULL)
 /* Allows for sctp_peeloff(2). */
-#define	CAP_PEELOFF		CAPRIGHT(0, 0x0000100000000000ULL)
+#define	CAP_PEELOFF		CAPRIGHT(0, 0x0000001000000000ULL)
 #define	CAP_RECV		CAP_READ
 #define	CAP_SEND		CAP_WRITE
 /* Allows for setsockopt(2). */
-#define	CAP_SETSOCKOPT		CAPRIGHT(0, 0x0000200000000000ULL)
+#define	CAP_SETSOCKOPT		CAPRIGHT(0, 0x0000002000000000ULL)
 /* Allows for shutdown(2). */
-#define	CAP_SHUTDOWN		CAPRIGHT(0, 0x0000400000000000ULL)
+#define	CAP_SHUTDOWN		CAPRIGHT(0, 0x0000004000000000ULL)
+
+/* Allows for bindat(2) on a directory descriptor. */
+#define	CAP_BINDAT		(CAP_LOOKUP | 0x0000008000000000ULL)
+/* Allows for connectat(2) on a directory descriptor. */
+#define	CAP_CONNECTAT		(CAP_LOOKUP | 0x0000010000000000ULL)
 
 #define	CAP_SOCK_CLIENT \
 	(CAP_CONNECT | CAP_GETPEERNAME | CAP_GETSOCKNAME | CAP_GETSOCKOPT | \
@@ -221,10 +206,10 @@
 	 CAP_SETSOCKOPT | CAP_SHUTDOWN)
 
 /* All used bits for index 0. */
-#define	CAP_ALL0		CAPRIGHT(0, 0x00007FFFFFFFFFFFULL)
+#define	CAP_ALL0		CAPRIGHT(0, 0x0000007FFFFFFFFFULL)
 
 /* Available bits for index 0. */
-#define	CAP_UNUSED0_48		CAPRIGHT(0, 0x0000800000000000ULL)
+#define	CAP_UNUSED0_40		CAPRIGHT(0, 0x0000008000000000ULL)
 /* ... */
 #define	CAP_UNUSED0_57		CAPRIGHT(0, 0x0100000000000000ULL)
 
@@ -258,20 +243,31 @@
 /* Allows for pdkill(2). */
 #define	CAP_PDKILL		CAPRIGHT(1, 0x0000000000000800ULL)
 
-/*
- * Rights that allow to use bindat(2) and connectat(2) syscalls on a
- * directory descriptor.
- */
-/* Allows for bindat(2) on a directory descriptor. */
-#define	CAP_BINDAT		CAPRIGHT(1, 0x0000000000001000ULL)
-/* Allows for connectat(2) on a directory descriptor. */
-#define	CAP_CONNECTAT		CAPRIGHT(1, 0x0000000000002000ULL)
+/* Extended attributes. */
+/* Allows for extattr_delete_fd(2). */
+#define	CAP_EXTATTR_DELETE	CAPRIGHT(1, 0x0000000000001000ULL)
+/* Allows for extattr_get_fd(2). */
+#define	CAP_EXTATTR_GET		CAPRIGHT(1, 0x0000000000002000ULL)
+/* Allows for extattr_list_fd(2). */
+#define	CAP_EXTATTR_LIST	CAPRIGHT(1, 0x0000000000004000ULL)
+/* Allows for extattr_set_fd(2). */
+#define	CAP_EXTATTR_SET		CAPRIGHT(1, 0x0000000000008000ULL)
+
+/* Access Control Lists. */
+/* Allows for acl_valid_fd_np(3). */
+#define	CAP_ACL_CHECK		CAPRIGHT(1, 0x0000000000010000ULL)
+/* Allows for acl_delete_fd_np(3). */
+#define	CAP_ACL_DELETE		CAPRIGHT(1, 0x0000000000020000ULL)
+/* Allows for acl_get_fd(3) and acl_get_fd_np(3). */
+#define	CAP_ACL_GET		CAPRIGHT(1, 0x0000000000040000ULL)
+/* Allows for acl_set_fd(3) and acl_set_fd_np(3). */
+#define	CAP_ACL_SET		CAPRIGHT(1, 0x0000000000080000ULL)
 
 /* All used bits for index 1. */
-#define	CAP_ALL1		CAPRIGHT(1, 0x0000000000003FFFULL)
+#define	CAP_ALL1		CAPRIGHT(1, 0x00000000000FFFFFULL)
 
 /* Available bits for index 1. */
-#define	CAP_UNUSED1_15		CAPRIGHT(1, 0x0000000000004000ULL)
+#define	CAP_UNUSED1_21		CAPRIGHT(1, 0x0000000000100000ULL)
 /* ... */
 #define	CAP_UNUSED1_57		CAPRIGHT(1, 0x0100000000000000ULL)
 

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 01:26:25 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id D4B4CDC6;
 Fri, 15 Nov 2013 01:26:25 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id B46AD2D5F;
 Fri, 15 Nov 2013 01:26:25 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAF1QPn7077228;
 Fri, 15 Nov 2013 01:26:25 GMT (envelope-from davidcs@svn.freebsd.org)
Received: (from davidcs@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAF1QPZq077225;
 Fri, 15 Nov 2013 01:26:25 GMT (envelope-from davidcs@svn.freebsd.org)
Message-Id: <201311150126.rAF1QPZq077225@svn.freebsd.org>
From: David C Somayajulu <davidcs@FreeBSD.org>
Date: Fri, 15 Nov 2013 01:26:25 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258155 - head/sys/dev/qlxgbe
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 01:26:26 -0000

Author: davidcs
Date: Fri Nov 15 01:26:24 2013
New Revision: 258155
URL: http://svnweb.freebsd.org/changeset/base/258155

Log:
  ql_hw.[c,h]: set minimum thresholds on pkt size for lro path.
  ql_ioctl.c: validate the length and address of buffer passed to QL_RD_FW_DUMP
  
  Submitted by:David C Somayajulu

Modified:
  head/sys/dev/qlxgbe/ql_hw.c
  head/sys/dev/qlxgbe/ql_hw.h
  head/sys/dev/qlxgbe/ql_ioctl.c

Modified: head/sys/dev/qlxgbe/ql_hw.c
==============================================================================
--- head/sys/dev/qlxgbe/ql_hw.c	Thu Nov 14 23:28:28 2013	(r258154)
+++ head/sys/dev/qlxgbe/ql_hw.c	Fri Nov 15 01:26:24 2013	(r258155)
@@ -212,6 +212,12 @@ ql_hw_add_sysctls(qla_host_t *ha)
 		"Number of Rcv Rings Entries to post before updating"
 		" RDS Ring Producer Index");
 
+	ha->hw.min_lro_pkt_size = 512;
+	SYSCTL_ADD_UINT(device_get_sysctl_ctx(dev),
+		SYSCTL_CHILDREN(device_get_sysctl_tree(dev)),
+		OID_AUTO, "min_lro_pkt_size", CTLFLAG_RD, &ha->hw.min_lro_pkt_size,
+		ha->hw.min_lro_pkt_size, "minimum packet size to trigger lro");
+
 	ha->hw.mdump_active = 0;
         SYSCTL_ADD_UINT(device_get_sysctl_ctx(dev),
                 SYSCTL_CHILDREN(device_get_sysctl_tree(dev)),
@@ -1069,6 +1075,11 @@ qla_config_fw_lro(qla_host_t *ha, uint16
 
 	fw_lro->cntxt_id = cntxt_id;
 
+	if (ha->hw.min_lro_pkt_size) {
+		fw_lro->flags |= Q8_MBX_FW_LRO_LOW_THRESHOLD;
+		fw_lro->low_threshold = ha->hw.min_lro_pkt_size;
+	}
+
 	if (qla_mbx_cmd(ha, (uint32_t *)fw_lro,
 		(sizeof (q80_config_fw_lro_t) >> 2),
 		ha->hw.mbox, (sizeof (q80_config_fw_lro_rsp_t) >> 2), 0)) {

Modified: head/sys/dev/qlxgbe/ql_hw.h
==============================================================================
--- head/sys/dev/qlxgbe/ql_hw.h	Thu Nov 14 23:28:28 2013	(r258154)
+++ head/sys/dev/qlxgbe/ql_hw.h	Fri Nov 15 01:26:24 2013	(r258155)
@@ -568,9 +568,13 @@ typedef struct _q80_config_fw_lro {
 #define Q8_MBX_FW_LRO_IPV6                     0x2
 #define Q8_MBX_FW_LRO_IPV4_WO_DST_IP_CHK       0x4
 #define Q8_MBX_FW_LRO_IPV6_WO_DST_IP_CHK       0x8
+#define Q8_MBX_FW_LRO_LOW_THRESHOLD            0x10
 
 	uint8_t		rsrvd;
 	uint16_t	cntxt_id;
+
+	uint16_t	low_threshold;
+	uint16_t	rsrvd0;
 } __packed q80_config_fw_lro_t;
 
 typedef struct _q80_config_fw_lro_rsp {
@@ -1521,6 +1525,7 @@ typedef struct _qla_hw {
 	uint32_t	health_count;
 
 	uint32_t	max_tx_segs;
+	uint32_t	min_lro_pkt_size;
 	
 	/* Flash Descriptor Table */
 	qla_flash_desc_table_t fdt;

Modified: head/sys/dev/qlxgbe/ql_ioctl.c
==============================================================================
--- head/sys/dev/qlxgbe/ql_ioctl.c	Thu Nov 14 23:28:28 2013	(r258154)
+++ head/sys/dev/qlxgbe/ql_ioctl.c	Fri Nov 15 01:26:24 2013	(r258155)
@@ -223,6 +223,13 @@ ql_eioctl(struct cdev *dev, u_long cmd, 
 		}
 		
 		fw_dump = (qla_rd_fw_dump_t *)data;
+
+		if ((fw_dump->md_template == NULL) ||
+			(fw_dump->template_size != ha->hw.dma_buf.minidump.size)) {
+			rval = EINVAL;
+			break;
+		}
+
 		if ((rval = copyout(ha->hw.dma_buf.minidump.dma_b,
 			fw_dump->md_template, fw_dump->template_size)))
 			rval = ENXIO;

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 01:44:59 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 154F6422;
 Fri, 15 Nov 2013 01:44:59 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 056312E29;
 Fri, 15 Nov 2013 01:44:59 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAF1iw9J083817;
 Fri, 15 Nov 2013 01:44:58 GMT (envelope-from davidcs@svn.freebsd.org)
Received: (from davidcs@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAF1iwNQ083816;
 Fri, 15 Nov 2013 01:44:58 GMT (envelope-from davidcs@svn.freebsd.org)
Message-Id: <201311150144.rAF1iwNQ083816@svn.freebsd.org>
From: David C Somayajulu <davidcs@FreeBSD.org>
Date: Fri, 15 Nov 2013 01:44:58 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258156 - head/sys/dev/qlxge
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 01:44:59 -0000

Author: davidcs
Date: Fri Nov 15 01:44:58 2013
New Revision: 258156
URL: http://svnweb.freebsd.org/changeset/base/258156

Log:
  Validate the buffer and its length passed to QLA_MPI_DUMP.
  copyout dump only if qls_mpi_core_dump() is successful.
  (like to credit x90c for pointing the issue)
  Submitted by:David C Somayajulu

Modified:
  head/sys/dev/qlxge/qls_ioctl.c

Modified: head/sys/dev/qlxge/qls_ioctl.c
==============================================================================
--- head/sys/dev/qlxge/qls_ioctl.c	Fri Nov 15 01:26:24 2013	(r258155)
+++ head/sys/dev/qlxge/qls_ioctl.c	Fri Nov 15 01:44:58 2013	(r258156)
@@ -100,13 +100,16 @@ qls_eioctl(struct cdev *dev, u_long cmd,
 		if (mpi_dump->size == 0) {
 			mpi_dump->size = sizeof (qls_mpi_coredump_t);
 		} else {
-			if (mpi_dump->size < sizeof (qls_mpi_coredump_t))
+			if ((mpi_dump->size != sizeof (qls_mpi_coredump_t)) ||
+				(mpi_dump->dbuf == NULL))
 				rval = EINVAL;
 			else {
-				qls_mpi_core_dump(ha);
-				rval = copyout( &ql_mpi_coredump,
-						mpi_dump->dbuf,
-						mpi_dump->size);
+				if (qls_mpi_core_dump(ha) == 0) {
+					rval = copyout(&ql_mpi_coredump,
+							mpi_dump->dbuf,
+							mpi_dump->size);
+				} else 
+					rval = ENXIO;
 
 				if (rval) {
 					device_printf(ha->pci_dev,

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 03:05:34 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 0901EA9B;
 Fri, 15 Nov 2013 03:05:34 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id EE46822BD;
 Fri, 15 Nov 2013 03:05:33 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAF35XjS012169;
 Fri, 15 Nov 2013 03:05:33 GMT (envelope-from pfg@svn.freebsd.org)
Received: (from pfg@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAF35XR3012125;
 Fri, 15 Nov 2013 03:05:33 GMT (envelope-from pfg@svn.freebsd.org)
Message-Id: <201311150305.rAF35XR3012125@svn.freebsd.org>
From: "Pedro F. Giffuni" <pfg@FreeBSD.org>
Date: Fri, 15 Nov 2013 03:05:33 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258157 - head/contrib/gcc/cp
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 03:05:34 -0000

Author: pfg
Date: Fri Nov 15 03:05:33 2013
New Revision: 258157
URL: http://svnweb.freebsd.org/changeset/base/258157

Log:
  gcc: warn about integer overflow in constant expressions in the C++ frontend.
  
  This fixes GCC 28986:
   http://gcc.gnu.org/ml/gcc-patches/2007-01/msg00473.html
  
  Obtained from:	gcc 4.3 (rev. 120558; GPLv2)
  MFC after:	3 weeks

Modified:
  head/contrib/gcc/cp/typeck.c

Modified: head/contrib/gcc/cp/typeck.c
==============================================================================
--- head/contrib/gcc/cp/typeck.c	Fri Nov 15 01:44:58 2013	(r258156)
+++ head/contrib/gcc/cp/typeck.c	Fri Nov 15 03:05:33 2013	(r258157)
@@ -3773,6 +3773,12 @@ build_binary_op (enum tree_code code, tr
   result = fold_if_not_in_template (result);
   if (final_type != 0)
     result = cp_convert (final_type, result);
+
+  if (TREE_OVERFLOW_P (result) 
+      && !TREE_OVERFLOW_P (op0) 
+      && !TREE_OVERFLOW_P (op1))
+    overflow_warning (result);
+
   return result;
 }
 

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 05:07:01 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 9FACB95B;
 Fri, 15 Nov 2013 05:07:01 +0000 (UTC)
Received: from mail110.syd.optusnet.com.au (mail110.syd.optusnet.com.au
 [211.29.132.97])
 by mx1.freebsd.org (Postfix) with ESMTP id 4899D29C4;
 Fri, 15 Nov 2013 05:07:00 +0000 (UTC)
Received: from c122-106-156-23.carlnfd1.nsw.optusnet.com.au
 (c122-106-156-23.carlnfd1.nsw.optusnet.com.au [122.106.156.23])
 by mail110.syd.optusnet.com.au (Postfix) with ESMTPS id 33F37780E7C;
 Fri, 15 Nov 2013 16:06:52 +1100 (EST)
Date: Fri, 15 Nov 2013 16:06:42 +1100 (EST)
From: Bruce Evans <brde@optusnet.com.au>
X-X-Sender: bde@besplex.bde.org
To: Sean Bruno <sbruno@freebsd.org>
Subject: Re: svn commit: r258139 - head/contrib/gperf/src
In-Reply-To: <201311141841.rAEIfwFU040620@svn.freebsd.org>
Message-ID: <20131115145452.G954@besplex.bde.org>
References: <201311141841.rAEIfwFU040620@svn.freebsd.org>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
X-Optus-CM-Score: 0
X-Optus-CM-Analysis: v=2.1 cv=YYGEuWhf c=1 sm=1 tr=0
 a=ebeQFi2P/qHVC0Yw9JDJ4g==:117 a=PO7r1zJSAAAA:8 a=yIfHJzyiBScA:10
 a=kj9zAlcOel0A:10 a=JzwRw_2MAAAA:8 a=XB2iG6U_zloA:10 a=t-IPkPogAAAA:8
 a=wX8kGpdw02fNGXW0OdoA:9 a=CjuIK1q_8ugA:10
Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org,
 src-committers@freebsd.org
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 05:07:01 -0000

On Thu, 14 Nov 2013, Sean Bruno wrote:

> Log:
>  Repair build after svn r258115
>
>  options.get_size_type() appears to return a const char *, so assume that
>  its a string as oppose to *nothing*.  I have no idea what apple's code is
>  trying to do here:
>
>  http://opensource.apple.com/source/gperf/gperf-9/patches/size_type.patch

It is trying to add an arg to a printf, while retaining the old behaviour
of printing nothing (now including the new arg) in some cases.  The
compiler doesn't like this, since the new arg is unconditional while
the format is conditional.  I think it is a compiler bug to warn in
this case.

This commit replaces the warning (which is really about the compiler bug)
by a bug in gperf.  But I think the bug is harmless because it is in
unreachable code.  But then why have the unreachable code?  (It is for
a default case which I think is unreacheable because all possible cases
that occur are handled individually.)

> Modified: head/contrib/gperf/src/output.cc
> ==============================================================================
> --- head/contrib/gperf/src/output.cc	Thu Nov 14 16:10:21 2013	(r258138)
> +++ head/contrib/gperf/src/output.cc	Thu Nov 14 18:41:58 2013	(r258139)
> @@ -779,7 +779,7 @@ Output::output_hash_function () const
>             "     register %s len;\n" :
>           option[ANSIC] | option[CPLUSPLUS] ?
>                  "(register const char *str, register %s len)\n" :
> -          "", option.get_size_type());
> +          "%s", option.get_size_type());
>
>   /* Note that when the hash function is called, it has already been verified
>      that  min_key_len <= len <= max_key_len.  */
> ...

The old code hard-coded the type of the integer arg as "unsigned int".  This
is now spelled "%s" with a new arg.  When there is no declaration at all,
then there is no integer arg and the declaration was spelled "".  This is
still the correct spelling.  Changing it to "%s" gives a syntax error like
a bare "unsigned int" in the output.  However, this case seems to be
unreachable.

The printf() is rather complicated and fancily formatted, with the fancy
format partly destroyed by the svn mail bug of not quoting patches and mail
programs then sometimes removing leading whitespace.  It uses a nice
conditional ladder of the following form:

 	printf(
 	    case1 ?                      "decl1 %s len" :
 	    case2 ?                      "decl2 %s len" :
 	    case3 ?                      "decl3 %s len" :
 	    /* default (unreachable?) */ "", typestr);

where the formatting is much fancier than this (but is perfectly consistent
except for the default case and now for the option at the end (the option
should be on a line by itself and not grouped with the complicated
conditional ladder, especially not with its unreachable part).

The cases are:

case1: K&R C
case2: plain C
case3: ANSI (sic) C or C++
default: unreachable?

and the generated code is now:

K&R C:                "register <type> len'\n"
plain C:              "register <type> len;\n"
ANSI (sic) C or C++:  "register <type> len;\n"
unreachable?:         "<type>"                  /* syntax error */

Before this commit, the generated code was:

K&R C:                "register <type> len'\n"
plain C:              "register <type> len;\n"
ANSI (sic) C or C++:  "register <type> len;\n"
unreachable?:         ""                        /* no syntax error */

and a few days ago it was:

K&R C:                "register unsigned len'\n"
plain C:              "register unsigned len;\n"
ANSI (sic) C or C++:  "register unsigned len;\n"
unreachable?:         ""                        /* no syntax error */

This particular declaration doesn't even depend on the language.  The
printf() just groups it with another one for a pointer because this used
to be convenient.

The supported languages are sort of documented in the man page.  ANSI C
doesn't exist, and there have been several versions of Standard C since
it existed, but there is no special version-dependent support.  It is
even less clear what plain C is.  It seems to be for a 1980's C that
is not quite as old as K&R C -- according to the generated code, plain C
has const but not signed char, while K&R C has neither.  I get the lack
of signed char from smallest_integral_type().  smallest_integral_type()
is fundamentally wrong since it uses the host SCHAR_MIN for building
K&R and plain C targets that don't have SCHAR_MIN and might even have
a different character size when running on the same hardware as gperf.

Bruce

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 07:09:24 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id C2FF780D;
 Fri, 15 Nov 2013 07:09:24 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id B27A4222D;
 Fri, 15 Nov 2013 07:09:24 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAF79O7L091257;
 Fri, 15 Nov 2013 07:09:24 GMT (envelope-from kib@svn.freebsd.org)
Received: (from kib@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAF79OZC091256;
 Fri, 15 Nov 2013 07:09:24 GMT (envelope-from kib@svn.freebsd.org)
Message-Id: <201311150709.rAF79OZC091256@svn.freebsd.org>
From: Konstantin Belousov <kib@FreeBSD.org>
Date: Fri, 15 Nov 2013 07:09:24 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject: svn commit: r258158 - stable/10/sys/i386/i386
X-SVN-Group: stable-10
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 07:09:24 -0000

Author: kib
Date: Fri Nov 15 07:09:24 2013
New Revision: 258158
URL: http://svnweb.freebsd.org/changeset/base/258158

Log:
  MFC r257858:
  Fix signal delivery for the iBCS2 binaries.
  
  Approved by:	re (gjb)

Modified:
  stable/10/sys/i386/i386/machdep.c
Directory Properties:
  stable/10/sys/   (props changed)

Modified: stable/10/sys/i386/i386/machdep.c
==============================================================================
--- stable/10/sys/i386/i386/machdep.c	Fri Nov 15 03:05:33 2013	(r258157)
+++ stable/10/sys/i386/i386/machdep.c	Fri Nov 15 07:09:24 2013	(r258158)
@@ -757,6 +757,8 @@ sendsig(sig_t catcher, ksiginfo_t *ksi, 
 
 	regs->tf_esp = (int)sfp;
 	regs->tf_eip = p->p_sysent->sv_sigcode_base;
+	if (regs->tf_eip == 0)
+		regs->tf_eip = p->p_sysent->sv_psstrings - szsigcode;
 	regs->tf_eflags &= ~(PSL_T | PSL_D);
 	regs->tf_cs = _ucodesel;
 	regs->tf_ds = _udatasel;

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 07:10:43 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 7E8BF97E;
 Fri, 15 Nov 2013 07:10:43 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 5F85F2265;
 Fri, 15 Nov 2013 07:10:43 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAF7Ahq5093587;
 Fri, 15 Nov 2013 07:10:43 GMT (envelope-from kib@svn.freebsd.org)
Received: (from kib@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAF7AgX1093583;
 Fri, 15 Nov 2013 07:10:42 GMT (envelope-from kib@svn.freebsd.org)
Message-Id: <201311150710.rAF7AgX1093583@svn.freebsd.org>
From: Konstantin Belousov <kib@FreeBSD.org>
Date: Fri, 15 Nov 2013 07:10:42 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject: svn commit: r258159 - in stable/10/sys: amd64/amd64 i386/i386
 x86/include
X-SVN-Group: stable-10
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 07:10:43 -0000

Author: kib
Date: Fri Nov 15 07:10:42 2013
New Revision: 258159
URL: http://svnweb.freebsd.org/changeset/base/258159

Log:
  MFC r257856:
  Add bits for the AMD features from CPUID function 0x80000001 ECX,
  described in the rev. 3.0 of the Kabini BKDG, document 48751.pdf.
  
  Approved by:	re (gjb)

Modified:
  stable/10/sys/amd64/amd64/identcpu.c
  stable/10/sys/i386/i386/identcpu.c
  stable/10/sys/x86/include/specialreg.h
Directory Properties:
  stable/10/sys/   (props changed)

Modified: stable/10/sys/amd64/amd64/identcpu.c
==============================================================================
--- stable/10/sys/amd64/amd64/identcpu.c	Fri Nov 15 07:09:24 2013	(r258158)
+++ stable/10/sys/amd64/amd64/identcpu.c	Fri Nov 15 07:10:42 2013	(r258159)
@@ -366,18 +366,18 @@ printcpuinfo(void)
 				"\017<b14>"
 				"\020LWP"	/* Lightweight Profiling */
 				"\021FMA4"	/* 4-operand FMA instructions */
-				"\022<b17>"
+				"\022TCE"	/* Translation Cache Extension */
 				"\023<b18>"
 				"\024NodeId"	/* NodeId MSR support */
 				"\025<b20>"
 				"\026TBM"	/* Trailing Bit Manipulation */
 				"\027Topology"	/* Topology Extensions */
-				"\030<b23>"
-				"\031<b24>"
+				"\030PCXC"	/* Core perf count */
+				"\031PNXC"	/* NB perf count */
 				"\032<b25>"
-				"\033<b26>"
-				"\034<b27>"
-				"\035<b28>"
+				"\033DBE"	/* Data Breakpoint extension */
+				"\034PTSC"	/* Performance TSC */
+				"\035PL2I"	/* L2I perf count */
 				"\036<b29>"
 				"\037<b30>"
 				"\040<b31>"

Modified: stable/10/sys/i386/i386/identcpu.c
==============================================================================
--- stable/10/sys/i386/i386/identcpu.c	Fri Nov 15 07:09:24 2013	(r258158)
+++ stable/10/sys/i386/i386/identcpu.c	Fri Nov 15 07:10:42 2013	(r258159)
@@ -842,18 +842,18 @@ printcpuinfo(void)
 				"\017<b14>"
 				"\020LWP"	/* Lightweight Profiling */
 				"\021FMA4"	/* 4-operand FMA instructions */
-				"\022<b17>"
+				"\022TCE"	/* Translation Cache Extension */
 				"\023<b18>"
 				"\024NodeId"	/* NodeId MSR support */
 				"\025<b20>"
 				"\026TBM"	/* Trailing Bit Manipulation */
 				"\027Topology"	/* Topology Extensions */
-				"\030<b23>"
-				"\031<b24>"
+				"\030PCXC"	/* Core perf count */
+				"\031PNXC"	/* NB perf count */
 				"\032<b25>"
-				"\033<b26>"
-				"\034<b27>"
-				"\035<b28>"
+				"\033DBE"	/* Data Breakpoint extension */
+				"\034PTSC"	/* Performance TSC */
+				"\035PL2I"	/* L2I perf count */
 				"\036<b29>"
 				"\037<b30>"
 				"\040<b31>"

Modified: stable/10/sys/x86/include/specialreg.h
==============================================================================
--- stable/10/sys/x86/include/specialreg.h	Fri Nov 15 07:09:24 2013	(r258158)
+++ stable/10/sys/x86/include/specialreg.h	Fri Nov 15 07:10:42 2013	(r258159)
@@ -201,9 +201,15 @@
 #define	AMDID2_WDT	0x00002000
 #define	AMDID2_LWP	0x00008000
 #define	AMDID2_FMA4	0x00010000
+#define	AMDID2_TCE	0x00020000
 #define	AMDID2_NODE_ID	0x00080000
 #define	AMDID2_TBM	0x00200000
 #define	AMDID2_TOPOLOGY	0x00400000
+#define	AMDID2_PCXC	0x00800000
+#define	AMDID2_PNXC	0x01000000
+#define	AMDID2_DBE	0x04000000
+#define	AMDID2_PTSC	0x08000000
+#define	AMDID2_PTSCEL2I	0x10000000
 
 /*
  * CPUID instruction 1 eax info

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 07:14:02 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 7FE3AB11;
 Fri, 15 Nov 2013 07:14:02 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 6F13F227E;
 Fri, 15 Nov 2013 07:14:02 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAF7E2kV094165;
 Fri, 15 Nov 2013 07:14:02 GMT (envelope-from kib@svn.freebsd.org)
Received: (from kib@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAF7E2ta094163;
 Fri, 15 Nov 2013 07:14:02 GMT (envelope-from kib@svn.freebsd.org)
Message-Id: <201311150714.rAF7E2ta094163@svn.freebsd.org>
From: Konstantin Belousov <kib@FreeBSD.org>
Date: Fri, 15 Nov 2013 07:14:02 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject: svn commit: r258160 - stable/9/sys/i386/i386
X-SVN-Group: stable-9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 07:14:02 -0000

Author: kib
Date: Fri Nov 15 07:14:01 2013
New Revision: 258160
URL: http://svnweb.freebsd.org/changeset/base/258160

Log:
  MFC r257858:
  Fix signal delivery for the iBCS2 binaries.

Modified:
  stable/9/sys/i386/i386/machdep.c
Directory Properties:
  stable/9/sys/   (props changed)

Modified: stable/9/sys/i386/i386/machdep.c
==============================================================================
--- stable/9/sys/i386/i386/machdep.c	Fri Nov 15 07:10:42 2013	(r258159)
+++ stable/9/sys/i386/i386/machdep.c	Fri Nov 15 07:14:01 2013	(r258160)
@@ -758,6 +758,8 @@ sendsig(sig_t catcher, ksiginfo_t *ksi, 
 
 	regs->tf_esp = (int)sfp;
 	regs->tf_eip = p->p_sysent->sv_sigcode_base;
+	if (regs->tf_eip == 0)
+		regs->tf_eip = p->p_sysent->sv_psstrings - szsigcode;
 	regs->tf_eflags &= ~(PSL_T | PSL_D);
 	regs->tf_cs = _ucodesel;
 	regs->tf_ds = _udatasel;

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 07:26:51 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id C6959313;
 Fri, 15 Nov 2013 07:26:51 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id B567E2378;
 Fri, 15 Nov 2013 07:26:51 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAF7QpCq097895;
 Fri, 15 Nov 2013 07:26:51 GMT (envelope-from kib@svn.freebsd.org)
Received: (from kib@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAF7Qojh097890;
 Fri, 15 Nov 2013 07:26:50 GMT (envelope-from kib@svn.freebsd.org)
Message-Id: <201311150726.rAF7Qojh097890@svn.freebsd.org>
From: Konstantin Belousov <kib@FreeBSD.org>
Date: Fri, 15 Nov 2013 07:26:50 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject: svn commit: r258161 - in stable/9/sys: amd64/amd64 amd64/include
 i386/i386 i386/include
X-SVN-Group: stable-9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 07:26:52 -0000

Author: kib
Date: Fri Nov 15 07:26:50 2013
New Revision: 258161
URL: http://svnweb.freebsd.org/changeset/base/258161

Log:
  MFC r257856:
  Add bits for the AMD features from CPUID function 0x80000001 ECX,
  described in the rev. 3.0 of the Kabini BKDG, document 48751.pdf.

Modified:
  stable/9/sys/amd64/amd64/identcpu.c
  stable/9/sys/amd64/include/specialreg.h
  stable/9/sys/i386/i386/identcpu.c
  stable/9/sys/i386/include/specialreg.h
Directory Properties:
  stable/9/sys/   (props changed)

Modified: stable/9/sys/amd64/amd64/identcpu.c
==============================================================================
--- stable/9/sys/amd64/amd64/identcpu.c	Fri Nov 15 07:14:01 2013	(r258160)
+++ stable/9/sys/amd64/amd64/identcpu.c	Fri Nov 15 07:26:50 2013	(r258161)
@@ -366,18 +366,18 @@ printcpuinfo(void)
 				"\017<b14>"
 				"\020LWP"	/* Lightweight Profiling */
 				"\021FMA4"	/* 4-operand FMA instructions */
-				"\022<b17>"
+				"\022TCE"	/* Translation Cache Extension */
 				"\023<b18>"
 				"\024NodeId"	/* NodeId MSR support */
 				"\025<b20>"
 				"\026TBM"	/* Trailing Bit Manipulation */
 				"\027Topology"	/* Topology Extensions */
-				"\030<b23>"
-				"\031<b24>"
+				"\030PCXC"	/* Core perf count */
+				"\031PNXC"	/* NB perf count */
 				"\032<b25>"
-				"\033<b26>"
-				"\034<b27>"
-				"\035<b28>"
+				"\033DBE"	/* Data Breakpoint extension */
+				"\034PTSC"	/* Performance TSC */
+				"\035PL2I"	/* L2I perf count */
 				"\036<b29>"
 				"\037<b30>"
 				"\040<b31>"

Modified: stable/9/sys/amd64/include/specialreg.h
==============================================================================
--- stable/9/sys/amd64/include/specialreg.h	Fri Nov 15 07:14:01 2013	(r258160)
+++ stable/9/sys/amd64/include/specialreg.h	Fri Nov 15 07:26:50 2013	(r258161)
@@ -201,9 +201,15 @@
 #define	AMDID2_WDT	0x00002000
 #define	AMDID2_LWP	0x00008000
 #define	AMDID2_FMA4	0x00010000
+#define	AMDID2_TCE	0x00020000
 #define	AMDID2_NODE_ID	0x00080000
 #define	AMDID2_TBM	0x00200000
 #define	AMDID2_TOPOLOGY	0x00400000
+#define	AMDID2_PCXC	0x00800000
+#define	AMDID2_PNXC	0x01000000
+#define	AMDID2_DBE	0x04000000
+#define	AMDID2_PTSC	0x08000000
+#define	AMDID2_PTSCEL2I	0x10000000
 
 /*
  * CPUID instruction 1 eax info

Modified: stable/9/sys/i386/i386/identcpu.c
==============================================================================
--- stable/9/sys/i386/i386/identcpu.c	Fri Nov 15 07:14:01 2013	(r258160)
+++ stable/9/sys/i386/i386/identcpu.c	Fri Nov 15 07:26:50 2013	(r258161)
@@ -842,18 +842,18 @@ printcpuinfo(void)
 				"\017<b14>"
 				"\020LWP"	/* Lightweight Profiling */
 				"\021FMA4"	/* 4-operand FMA instructions */
-				"\022<b17>"
+				"\022TCE"	/* Translation Cache Extension */
 				"\023<b18>"
 				"\024NodeId"	/* NodeId MSR support */
 				"\025<b20>"
 				"\026TBM"	/* Trailing Bit Manipulation */
 				"\027Topology"	/* Topology Extensions */
-				"\030<b23>"
-				"\031<b24>"
+				"\030PCXC"	/* Core perf count */
+				"\031PNXC"	/* NB perf count */
 				"\032<b25>"
-				"\033<b26>"
-				"\034<b27>"
-				"\035<b28>"
+				"\033DBE"	/* Data Breakpoint extension */
+				"\034PTSC"	/* Performance TSC */
+				"\035PL2I"	/* L2I perf count */
 				"\036<b29>"
 				"\037<b30>"
 				"\040<b31>"

Modified: stable/9/sys/i386/include/specialreg.h
==============================================================================
--- stable/9/sys/i386/include/specialreg.h	Fri Nov 15 07:14:01 2013	(r258160)
+++ stable/9/sys/i386/include/specialreg.h	Fri Nov 15 07:26:50 2013	(r258161)
@@ -180,9 +180,15 @@
 #define	AMDID2_WDT	0x00002000
 #define	AMDID2_LWP	0x00008000
 #define	AMDID2_FMA4	0x00010000
+#define	AMDID2_TCE	0x00020000
 #define	AMDID2_NODE_ID	0x00080000
 #define	AMDID2_TBM	0x00200000
 #define	AMDID2_TOPOLOGY	0x00400000
+#define	AMDID2_PCXC	0x00800000
+#define	AMDID2_PNXC	0x01000000
+#define	AMDID2_DBE	0x04000000
+#define	AMDID2_PTSC	0x08000000
+#define	AMDID2_PTSCEL2I	0x10000000
 
 /*
  * CPUID instruction 1 eax info

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 10:29:00 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id C84B634A;
 Fri, 15 Nov 2013 10:29:00 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id A970A2E9D;
 Fri, 15 Nov 2013 10:29:00 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAFAT0Ou059439;
 Fri, 15 Nov 2013 10:29:00 GMT (envelope-from mav@svn.freebsd.org)
Received: (from mav@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAFASx32059426;
 Fri, 15 Nov 2013 10:28:59 GMT (envelope-from mav@svn.freebsd.org)
Message-Id: <201311151028.rAFASx32059426@svn.freebsd.org>
From: Alexander Motin <mav@FreeBSD.org>
Date: Fri, 15 Nov 2013 10:28:59 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258162 - in head/sys/dev: ahci ata ata/chipsets
 usb/controller
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 10:29:00 -0000

Author: mav
Date: Fri Nov 15 10:28:59 2013
New Revision: 258162
URL: http://svnweb.freebsd.org/changeset/base/258162

Log:
  Add some more IDs for Intel ATA, AHCI and USB controllers.

Modified:
  head/sys/dev/ahci/ahci.c
  head/sys/dev/ata/ata-pci.h
  head/sys/dev/ata/chipsets/ata-intel.c
  head/sys/dev/usb/controller/ehci_pci.c

Modified: head/sys/dev/ahci/ahci.c
==============================================================================
--- head/sys/dev/ahci/ahci.c	Fri Nov 15 07:26:50 2013	(r258161)
+++ head/sys/dev/ahci/ahci.c	Fri Nov 15 10:28:59 2013	(r258162)
@@ -192,21 +192,54 @@ static struct {
 	{0x28268086, 0x00, "Intel Patsburg (RAID)",	0},
 	{0x1e028086, 0x00, "Intel Panther Point",	0},
 	{0x1e038086, 0x00, "Intel Panther Point",	0},
-	{0x1e048086, 0x00, "Intel Panther Point",	0},
-	{0x1e058086, 0x00, "Intel Panther Point",	0},
-	{0x1e068086, 0x00, "Intel Panther Point",	0},
-	{0x1e078086, 0x00, "Intel Panther Point",	0},
-	{0x1e0e8086, 0x00, "Intel Panther Point",	0},
-	{0x1e0f8086, 0x00, "Intel Panther Point",	0},
+	{0x1e048086, 0x00, "Intel Panther Point (RAID)",	0},
+	{0x1e058086, 0x00, "Intel Panther Point (RAID)",	0},
+	{0x1e068086, 0x00, "Intel Panther Point (RAID)",	0},
+	{0x1e078086, 0x00, "Intel Panther Point (RAID)",	0},
+	{0x1e0e8086, 0x00, "Intel Panther Point (RAID)",	0},
+	{0x1e0f8086, 0x00, "Intel Panther Point (RAID)",	0},
+	{0x1f228086, 0x00, "Intel Avoton",	0},
+	{0x1f238086, 0x00, "Intel Avoton",	0},
+	{0x1f248086, 0x00, "Intel Avoton (RAID)",	0},
+	{0x1f258086, 0x00, "Intel Avoton (RAID)",	0},
+	{0x1f268086, 0x00, "Intel Avoton (RAID)",	0},
+	{0x1f278086, 0x00, "Intel Avoton (RAID)",	0},
+	{0x1f2e8086, 0x00, "Intel Avoton (RAID)",	0},
+	{0x1f2f8086, 0x00, "Intel Avoton (RAID)",	0},
+	{0x1f328086, 0x00, "Intel Avoton",	0},
+	{0x1f338086, 0x00, "Intel Avoton",	0},
+	{0x1f348086, 0x00, "Intel Avoton (RAID)",	0},
+	{0x1f358086, 0x00, "Intel Avoton (RAID)",	0},
+	{0x1f368086, 0x00, "Intel Avoton (RAID)",	0},
+	{0x1f378086, 0x00, "Intel Avoton (RAID)",	0},
+	{0x1f3e8086, 0x00, "Intel Avoton (RAID)",	0},
+	{0x1f3f8086, 0x00, "Intel Avoton (RAID)",	0},
 	{0x23a38086, 0x00, "Intel Coleto Creek",        0},
+	{0x28238086, 0x00, "Intel Wellsburg (RAID)",	0},
+	{0x28278086, 0x00, "Intel Wellsburg (RAID)",	0},
 	{0x8c028086, 0x00, "Intel Lynx Point",	0},
 	{0x8c038086, 0x00, "Intel Lynx Point",	0},
-	{0x8c048086, 0x00, "Intel Lynx Point",	0},
-	{0x8c058086, 0x00, "Intel Lynx Point",	0},
-	{0x8c068086, 0x00, "Intel Lynx Point",	0},
-	{0x8c078086, 0x00, "Intel Lynx Point",	0},
-	{0x8c0e8086, 0x00, "Intel Lynx Point",	0},
-	{0x8c0f8086, 0x00, "Intel Lynx Point",	0},
+	{0x8c048086, 0x00, "Intel Lynx Point (RAID)",	0},
+	{0x8c058086, 0x00, "Intel Lynx Point (RAID)",	0},
+	{0x8c068086, 0x00, "Intel Lynx Point (RAID)",	0},
+	{0x8c078086, 0x00, "Intel Lynx Point (RAID)",	0},
+	{0x8c0e8086, 0x00, "Intel Lynx Point (RAID)",	0},
+	{0x8c0f8086, 0x00, "Intel Lynx Point (RAID)",	0},
+	{0x8d028086, 0x00, "Intel Wellsburg",	0},
+	{0x8d048086, 0x00, "Intel Wellsburg (RAID)",	0},
+	{0x8d068086, 0x00, "Intel Wellsburg (RAID)",	0},
+	{0x8d628086, 0x00, "Intel Wellsburg",	0},
+	{0x8d648086, 0x00, "Intel Wellsburg (RAID)",	0},
+	{0x8d668086, 0x00, "Intel Wellsburg (RAID)",	0},
+	{0x8d6e8086, 0x00, "Intel Wellsburg (RAID)",	0},
+	{0x9c028086, 0x00, "Intel Lynx Point-LP",	0},
+	{0x9c038086, 0x00, "Intel Lynx Point-LP",	0},
+	{0x9c048086, 0x00, "Intel Lynx Point-LP (RAID)",	0},
+	{0x9c058086, 0x00, "Intel Lynx Point-LP (RAID)",	0},
+	{0x9c068086, 0x00, "Intel Lynx Point-LP (RAID)",	0},
+	{0x9c078086, 0x00, "Intel Lynx Point-LP (RAID)",	0},
+	{0x9c0e8086, 0x00, "Intel Lynx Point-LP (RAID)",	0},
+	{0x9c0f8086, 0x00, "Intel Lynx Point-LP (RAID)",	0},
 	{0x23238086, 0x00, "Intel DH89xxCC",	0},
 	{0x2360197b, 0x00, "JMicron JMB360",	0},
 	{0x2361197b, 0x00, "JMicron JMB361",	AHCI_Q_NOFORCE},

Modified: head/sys/dev/ata/ata-pci.h
==============================================================================
--- head/sys/dev/ata/ata-pci.h	Fri Nov 15 07:26:50 2013	(r258161)
+++ head/sys/dev/ata/ata-pci.h	Fri Nov 15 10:28:59 2013	(r258162)
@@ -257,6 +257,11 @@ struct ata_pci_controller {
 #define ATA_PPT_R5		0x1e0e8086
 #define ATA_PPT_R6		0x1e0f8086
 
+#define ATA_AVOTON_S1		0x1f208086
+#define ATA_AVOTON_S2		0x1f218086
+#define ATA_AVOTON_S3		0x1f308086
+#define ATA_AVOTON_S4		0x1f318086
+
 #define ATA_LPT_S1		0x8c008086
 #define ATA_LPT_S2		0x8c018086
 #define ATA_LPT_AH1		0x8c028086
@@ -270,6 +275,16 @@ struct ata_pci_controller {
 #define ATA_LPT_R5		0x8c0e8086
 #define ATA_LPT_R6		0x8c0f8086
 
+#define ATA_WELLS_S1		0x8d008086
+#define ATA_WELLS_S2		0x8d088086
+#define ATA_WELLS_S3		0x8d608086
+#define ATA_WELLS_S4		0x8d688086
+
+#define ATA_LPTLP_S1		0x9c008086
+#define ATA_LPTLP_S2		0x9c018086
+#define ATA_LPTLP_S3		0x9c088086
+#define ATA_LPTLP_S4		0x9c098086
+
 #define ATA_I31244              0x32008086
 #define ATA_ISCH                0x811a8086
 #define ATA_DH89XXCC            0x23238086

Modified: head/sys/dev/ata/chipsets/ata-intel.c
==============================================================================
--- head/sys/dev/ata/chipsets/ata-intel.c	Fri Nov 15 07:26:50 2013	(r258161)
+++ head/sys/dev/ata/chipsets/ata-intel.c	Fri Nov 15 10:28:59 2013	(r258162)
@@ -211,6 +211,10 @@ ata_intel_probe(device_t dev)
      { ATA_PPT_S4,       0, INTEL_6CH2, 0, ATA_SA300, "Panther Point" },
      { ATA_PPT_R5,       0, INTEL_AHCI, 0, ATA_SA300, "Panther Point" },
      { ATA_PPT_R6,       0, INTEL_AHCI, 0, ATA_SA300, "Panther Point" },
+     { ATA_AVOTON_S1,    0, INTEL_6CH,  0, ATA_SA300, "Avoton" },
+     { ATA_AVOTON_S2,    0, INTEL_6CH,  0, ATA_SA300, "Avoton" },
+     { ATA_AVOTON_S3,    0, INTEL_6CH2, 0, ATA_SA300, "Avoton" },
+     { ATA_AVOTON_S4,    0, INTEL_6CH2, 0, ATA_SA300, "Avoton" },
      { ATA_LPT_S1,       0, INTEL_6CH,  0, ATA_SA300, "Lynx Point" },
      { ATA_LPT_S2,       0, INTEL_6CH,  0, ATA_SA300, "Lynx Point" },
      { ATA_LPT_AH1,      0, INTEL_AHCI, 0, ATA_SA300, "Lynx Point" },
@@ -223,6 +227,14 @@ ata_intel_probe(device_t dev)
      { ATA_LPT_S4,       0, INTEL_6CH2, 0, ATA_SA300, "Lynx Point" },
      { ATA_LPT_R5,       0, INTEL_AHCI, 0, ATA_SA300, "Lynx Point" },
      { ATA_LPT_R6,       0, INTEL_AHCI, 0, ATA_SA300, "Lynx Point" },
+     { ATA_WELLS_S1,     0, INTEL_6CH,  0, ATA_SA300, "Wellsburg" },
+     { ATA_WELLS_S2,     0, INTEL_6CH2, 0, ATA_SA300, "Wellsburg" },
+     { ATA_WELLS_S3,     0, INTEL_6CH,  0, ATA_SA300, "Wellsburg" },
+     { ATA_WELLS_S4,     0, INTEL_6CH2, 0, ATA_SA300, "Wellsburg" },
+     { ATA_LPTLP_S1,     0, INTEL_6CH,  0, ATA_SA300, "Lynx Point-LP" },
+     { ATA_LPTLP_S2,     0, INTEL_6CH,  0, ATA_SA300, "Lynx Point-LP" },
+     { ATA_LPTLP_S3,     0, INTEL_6CH2, 0, ATA_SA300, "Lynx Point-LP" },
+     { ATA_LPTLP_S4,     0, INTEL_6CH2, 0, ATA_SA300, "Lynx Point-LP" },
      { ATA_I31244,       0,          0, 2, ATA_SA150, "31244" },
      { ATA_ISCH,         0,          0, 1, ATA_UDMA5, "SCH" },
      { ATA_DH89XXCC,     0, INTEL_AHCI, 0, ATA_SA300, "DH89xxCC" },

Modified: head/sys/dev/usb/controller/ehci_pci.c
==============================================================================
--- head/sys/dev/usb/controller/ehci_pci.c	Fri Nov 15 07:26:50 2013	(r258161)
+++ head/sys/dev/usb/controller/ehci_pci.c	Fri Nov 15 10:28:59 2013	(r258162)
@@ -124,6 +124,8 @@ ehci_pci_match(device_t self)
 		return ("Intel Panther Point USB 2.0 controller");
 	case 0x1e2d8086:
 		return ("Intel Panther Point USB 2.0 controller");
+	case 0x1f2c8086:
+		return ("Intel Avoton USB 2.0 controller");
 	case 0x25ad8086:
 		return "Intel 6300ESB USB 2.0 controller";
 	case 0x24cd8086:

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 11:32:20 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 2F42A6F;
 Fri, 15 Nov 2013 11:32:20 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 1F3E322E0;
 Fri, 15 Nov 2013 11:32:20 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAFBWJI1082571;
 Fri, 15 Nov 2013 11:32:19 GMT (envelope-from mav@svn.freebsd.org)
Received: (from mav@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAFBWJHR082570;
 Fri, 15 Nov 2013 11:32:19 GMT (envelope-from mav@svn.freebsd.org)
Message-Id: <201311151132.rAFBWJHR082570@svn.freebsd.org>
From: Alexander Motin <mav@FreeBSD.org>
Date: Fri, 15 Nov 2013 11:32:19 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258164 - head/sys/dev/acpica
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 11:32:20 -0000

Author: mav
Date: Fri Nov 15 11:32:19 2013
New Revision: 258164
URL: http://svnweb.freebsd.org/changeset/base/258164

Log:
  Handle case when ACPI reports HPET device, but does not provide memory
  resource for it.  In such case take the address range from the HPET table.
  
  This fixes hpet(4) driver attach on Asrock C2750D4I board.

Modified:
  head/sys/dev/acpica/acpi_hpet.c

Modified: head/sys/dev/acpica/acpi_hpet.c
==============================================================================
--- head/sys/dev/acpica/acpi_hpet.c	Fri Nov 15 11:15:30 2013	(r258163)
+++ head/sys/dev/acpica/acpi_hpet.c	Fri Nov 15 11:32:19 2013	(r258164)
@@ -293,7 +293,7 @@ hpet_find(ACPI_HANDLE handle, UINT32 lev
 		return (AE_OK);
 	if (ACPI_FAILURE(acpi_GetInteger(handle, "_UID", &uid)) ||
 	    id == uid)
-		*((int *)status) = 1;
+		*status = acpi_get_device(handle);
 	return (AE_OK);
 }
 
@@ -321,7 +321,7 @@ hpet_identify(driver_t *driver, device_t
 	ACPI_TABLE_HPET *hpet;
 	ACPI_STATUS	status;
 	device_t	child;
-	int 		i, found;
+	int		i;
 
 	/* Only one HPET device can be added. */
 	if (devclass_get_device(hpet_devclass, 0))
@@ -332,12 +332,18 @@ hpet_identify(driver_t *driver, device_t
 		if (ACPI_FAILURE(status))
 			return;
 		/* Search for HPET device with same ID. */
-		found = 0;
+		child = NULL;
 		AcpiWalkNamespace(ACPI_TYPE_DEVICE, ACPI_ROOT_OBJECT,
-		    100, hpet_find, NULL, (void *)(uintptr_t)hpet->Sequence, (void *)&found);
+		    100, hpet_find, NULL, (void *)(uintptr_t)hpet->Sequence,
+		    (void *)&child);
 		/* If found - let it be probed in normal way. */
-		if (found)
+		if (child) {
+			if (bus_get_resource(child, SYS_RES_MEMORY, 0,
+			    NULL, NULL) != 0)
+				bus_set_resource(child, SYS_RES_MEMORY, 0,
+				    hpet->Address.Address, HPET_MEM_WIDTH);
 			continue;
+		}
 		/* If not - create it from table info. */
 		child = BUS_ADD_CHILD(parent, 2, "hpet", 0);
 		if (child == NULL) {

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 12:12:51 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 8338A9A;
 Fri, 15 Nov 2013 12:12:51 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 595B62524;
 Fri, 15 Nov 2013 12:12:51 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAFCCpip096248;
 Fri, 15 Nov 2013 12:12:51 GMT (envelope-from ae@svn.freebsd.org)
Received: (from ae@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAFCCpqb096247;
 Fri, 15 Nov 2013 12:12:51 GMT (envelope-from ae@svn.freebsd.org)
Message-Id: <201311151212.rAFCCpqb096247@svn.freebsd.org>
From: "Andrey V. Elsukov" <ae@FreeBSD.org>
Date: Fri, 15 Nov 2013 12:12:51 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258167 - head/sys/net
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 12:12:51 -0000

Author: ae
Date: Fri Nov 15 12:12:50 2013
New Revision: 258167
URL: http://svnweb.freebsd.org/changeset/base/258167

Log:
  ANSIfy function defintions.

Modified:
  head/sys/net/if_gif.c

Modified: head/sys/net/if_gif.c
==============================================================================
--- head/sys/net/if_gif.c	Fri Nov 15 11:35:31 2013	(r258166)
+++ head/sys/net/if_gif.c	Fri Nov 15 12:12:50 2013	(r258167)
@@ -153,10 +153,7 @@ static const u_char etherbroadcastaddr[E
 #endif
 
 static int
-gif_clone_create(ifc, unit, params)
-	struct if_clone *ifc;
-	int unit;
-	caddr_t params;
+gif_clone_create(struct if_clone *ifc, int unit, caddr_t params)
 {
 	struct gif_softc *sc;
 
@@ -200,8 +197,7 @@ gif_clone_create(ifc, unit, params)
 }
 
 static void
-gif_clone_destroy(ifp)
-	struct ifnet *ifp;
+gif_clone_destroy(struct ifnet *ifp)
 {
 #if defined(INET) || defined(INET6)
 	int err;
@@ -247,10 +243,7 @@ VNET_SYSINIT(vnet_gif_init, SI_SUB_PSEUD
     NULL);
 
 static int
-gifmodevent(mod, type, data)
-	module_t mod;
-	int type;
-	void *data;
+gifmodevent(module_t mod, int type, void *data)
 {
 
 	switch (type) {
@@ -280,11 +273,7 @@ DECLARE_MODULE(if_gif, gif_mod, SI_SUB_P
 MODULE_VERSION(if_gif, 1);
 
 int
-gif_encapcheck(m, off, proto, arg)
-	const struct mbuf *m;
-	int off;
-	int proto;
-	void *arg;
+gif_encapcheck(const struct mbuf *m, int off, int proto, void *arg)
 {
 	struct ip ip;
 	struct gif_softc *sc;
@@ -529,10 +518,7 @@ gif_output(struct ifnet *ifp, struct mbu
 }
 
 void
-gif_input(m, af, ifp)
-	struct mbuf *m;
-	int af;
-	struct ifnet *ifp;
+gif_input(struct mbuf *m, int af, struct ifnet *ifp)
 {
 	int isr, n;
 	struct gif_softc *sc;
@@ -669,10 +655,7 @@ gif_input(m, af, ifp)
 
 /* XXX how should we handle IPv6 scope on SIOC[GS]IFPHYADDR? */
 int
-gif_ioctl(ifp, cmd, data)
-	struct ifnet *ifp;
-	u_long cmd;
-	caddr_t data;
+gif_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
 {
 	struct gif_softc *sc  = ifp->if_softc;
 	struct ifreq     *ifr = (struct ifreq*)data;
@@ -914,10 +897,7 @@ gif_ioctl(ifp, cmd, data)
  * a mutex.
  */
 int
-gif_set_tunnel(ifp, src, dst)
-	struct ifnet *ifp;
-	struct sockaddr *src;
-	struct sockaddr *dst;
+gif_set_tunnel(struct ifnet *ifp, struct sockaddr *src, struct sockaddr *dst)
 {
 	struct gif_softc *sc = ifp->if_softc;
 	struct gif_softc *sc2;
@@ -1023,8 +1003,7 @@ gif_set_tunnel(ifp, src, dst)
 }
 
 void
-gif_delete_tunnel(ifp)
-	struct ifnet *ifp;
+gif_delete_tunnel(struct ifnet *ifp)
 {
 	struct gif_softc *sc = ifp->if_softc;
 

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 12:23:36 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id CABC038E;
 Fri, 15 Nov 2013 12:23:36 +0000 (UTC)
Received: from mail108.syd.optusnet.com.au (mail108.syd.optusnet.com.au
 [211.29.132.59])
 by mx1.freebsd.org (Postfix) with ESMTP id 445DC25CA;
 Fri, 15 Nov 2013 12:23:36 +0000 (UTC)
Received: from c122-106-156-23.carlnfd1.nsw.optusnet.com.au
 (c122-106-156-23.carlnfd1.nsw.optusnet.com.au [122.106.156.23])
 by mail108.syd.optusnet.com.au (Postfix) with ESMTPS id 9A0781A1AB6;
 Fri, 15 Nov 2013 23:23:26 +1100 (EST)
Date: Fri, 15 Nov 2013 23:23:23 +1100 (EST)
From: Bruce Evans <brde@optusnet.com.au>
X-X-Sender: bde@besplex.bde.org
To: George Neville-Neil <gnn@freebsd.org>
Subject: Re: svn commit: r258142 - head/sys/net
In-Reply-To: <A2749F6A-4F91-4DC7-A2C4-0F75AE20DB5E@freebsd.org>
Message-ID: <20131115223304.R2093@besplex.bde.org>
References: <201311142007.rAEK7InH068095@svn.freebsd.org>
 <CAE-mSOKfAgZQMuXJ1mF0vyB6EgRVMQ5CpxNX+Sh7Q6dHiA=fnQ@mail.gmail.com>
 <A2749F6A-4F91-4DC7-A2C4-0F75AE20DB5E@freebsd.org>
MIME-Version: 1.0
X-Optus-CM-Score: 0
X-Optus-CM-Analysis: v=2.1 cv=bpB1Wiqi c=1 sm=1 tr=0
 a=ebeQFi2P/qHVC0Yw9JDJ4g==:117 a=PO7r1zJSAAAA:8 a=jYXWtoyz2w8A:10
 a=JzwRw_2MAAAA:8 a=N3VrZbfzcpQA:10 a=nlC_4_pT8q9DhB4Ho9EA:9
 a=cz2ZRIgtxKwA:10 a=wJWlkF7cXJYA:10 a=6I5d2MoRAAAA:8
 a=IaFa5-d4mvo-bWcg8YwA:9 a=45ClL6m2LaAA:10 a=SV7veod9ZcQA:10
Content-Type: TEXT/PLAIN; charset=X-UNKNOWN; format=flowed
Content-Transfer-Encoding: QUOTED-PRINTABLE
X-Content-Filtered-By: Mailman/MimeDel 2.1.16
Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org,
 Sergey Kandaurov <pluknet@freebsd.org>, src-committers@freebsd.org
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 12:23:36 -0000

On Thu, 14 Nov 2013, George Neville-Neil wrote:

> On Nov 14, 2013, at 16:03 , Sergey Kandaurov <pluknet@FreeBSD.org> wrote:
>
>> On 15 November 2013 00:07, George V. Neville-Neil <gnn@freebsd.org> wrot=
e:
>>> Log:
>>>  Shift our OUI correctly.
>>>
>>>  Pointed out by: emaste
>>>
>>> Modified:
>>>  head/sys/net/ieee_oui.h
>>>
>>> Modified: head/sys/net/ieee_oui.h
>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D
>>> --- head/sys/net/ieee_oui.h     Thu Nov 14 19:53:35 2013        (r25814=
1)
>>> +++ head/sys/net/ieee_oui.h     Thu Nov 14 20:07:17 2013        (r25814=
2)
>>> @@ -62,5 +62,5 @@
>>>  */
>>>
>>> /* Allocate 64K to bhyve */
>>> -#define OUI_FREEBSD_BHYVE_LOW  OUI_FREEBSD + 0x000001
>>> -#define OUI_FREEBSD_BHYVE_HIGH OUI_FREEBSD + 0x00ffff
>>> +#define OUI_FREEBSD_BHYVE_LOW  ((OUI_FREEBSD << 3) + 0x000001)
>>> +#define OUI_FREEBSD_BHYVE_HIGH ((OUI_FREEBSD << 3) + 0x00ffff)

This also fixes the syntax bugs (missing parentheses).

>> Shouldn't it be rather shifted with 24 (3 x 8bits)?
>
> Correct, and it should really be an | not a +.  I=92ll commit a fix.

Any chance of also fixing the style bugs?  The most obvious ones are
spaces instead of tabs after #define's.

From=20the next commit:

% Modified: head/sys/net/ieee_oui.h
% =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
% --- head/sys/net/ieee_oui.h=09Thu Nov 14 21:31:58 2013=09(r258146)
% +++ head/sys/net/ieee_oui.h=09Thu Nov 14 21:57:37 2013=09(r258147)
% ...
% @@ -62,5 +62,5 @@
%   */
%=20
%  /* Allocate 64K to bhyve */
% -#define OUI_FREEBSD_BHYVE_LOW=09((OUI_FREEBSD << 3) + 0x000001)
% -#define OUI_FREEBSD_BHYVE_HIGH=09((OUI_FREEBSD << 3) + 0x00ffff)
% +#define OUI_FREEBSD_BHYVE_LOW=09(((uint64_t)OUI_FREEBSD << 24) | 0x00000=
1)
% +#define OUI_FREEBSD_BHYVE_HIGH=09(((uint64_t)OUI_FREEBSD << 24) | 0x00ff=
ff)
%

This introduces a new bug: uint64_t is used but isn't defined.  To avoid
all of the following design errors/style bugs:

- requiring applications to include <stdint.h> to use the BHYVE part of thi=
s
   header
- polluting this header for all applications by declaring uint64_t
   unconditionally in case the BHIVE parts are used
- same as previous, but without (user-visible) pollution by using __uint64_=
t
   instead of uint64_t
- breaking use of the definitions in cpp expressions by using any
   typedefed type in them
- using the long long abomination instead of uint64_t in the cast to
   avoid the pollution and make the definition possibly useable in cpp
   expressions, though it may still have the wrong type
- using the long long abomination as a type suffix for OUI_FREEBSD
   instead of casting OUI_FREEEBSD,

I suggest #defining OUI_FREEBSD as some literal constant shifted right
by 24.  Its type is then determined by the C rules for types of
literals combined with the rules for right shifts.  Shifting OUI_FREEBSD
back gives the same type as the original literal (this is not obvious)
the same value as the original literal, and the same value as the left
shift expressions above.  (Except in cpp expressions types don't work
normally.)

Does the API require defining OUI_FREEBSD as a value that needs to be
shifted left by 24 to use?  It would be more useful to define it as the
left-shifted value.  Then it gives the base for the FreeBSD range.
Values that aren't left shifted have the advantage of fitting in 32 bits,
so that their natural type is always int the type needed to hold the
left-shifted value can be implementation-defined (it should be int64_t
on 32-bit systems and long on 64-bit systems).

Bruce
From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 13:12:54 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 85E5DFFB;
 Fri, 15 Nov 2013 13:12:54 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 74EBC281A;
 Fri, 15 Nov 2013 13:12:54 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAFDCs3Q016769;
 Fri, 15 Nov 2013 13:12:54 GMT (envelope-from mav@svn.freebsd.org)
Received: (from mav@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAFDCsH3016766;
 Fri, 15 Nov 2013 13:12:54 GMT (envelope-from mav@svn.freebsd.org)
Message-Id: <201311151312.rAFDCsH3016766@svn.freebsd.org>
From: Alexander Motin <mav@FreeBSD.org>
Date: Fri, 15 Nov 2013 13:12:54 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258168 - head/sys/dev/sound/pci/hda
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 13:12:54 -0000

Author: mav
Date: Fri Nov 15 13:12:53 2013
New Revision: 258168
URL: http://svnweb.freebsd.org/changeset/base/258168

Log:
  Add ID for Intel Lynx Point HDMI CODEC.
  
  Submitted by:	Dmitry Luhtionov <dmitryluhtionov@gmail.com>

Modified:
  head/sys/dev/sound/pci/hda/hdac.h
  head/sys/dev/sound/pci/hda/hdacc.c

Modified: head/sys/dev/sound/pci/hda/hdac.h
==============================================================================
--- head/sys/dev/sound/pci/hda/hdac.h	Fri Nov 15 12:12:50 2013	(r258167)
+++ head/sys/dev/sound/pci/hda/hdac.h	Fri Nov 15 13:12:53 2013	(r258168)
@@ -605,6 +605,7 @@
 #define HDA_CODEC_INTELIP2	HDA_CODEC_CONSTRUCT(INTEL, 0x2804)
 #define HDA_CODEC_INTELCPT	HDA_CODEC_CONSTRUCT(INTEL, 0x2805)
 #define HDA_CODEC_INTELPPT	HDA_CODEC_CONSTRUCT(INTEL, 0x2806)
+#define HDA_CODEC_INTELLP	HDA_CODEC_CONSTRUCT(INTEL, 0x2807)
 #define HDA_CODEC_INTELCL	HDA_CODEC_CONSTRUCT(INTEL, 0x29fb)
 #define HDA_CODEC_INTELXXXX	HDA_CODEC_CONSTRUCT(INTEL, 0xffff)
 

Modified: head/sys/dev/sound/pci/hda/hdacc.c
==============================================================================
--- head/sys/dev/sound/pci/hda/hdacc.c	Fri Nov 15 12:12:50 2013	(r258167)
+++ head/sys/dev/sound/pci/hda/hdacc.c	Fri Nov 15 13:12:53 2013	(r258168)
@@ -318,6 +318,7 @@ static const struct {
 	{ HDA_CODEC_INTELIP2, 0,	"Intel Ibex Peak" },
 	{ HDA_CODEC_INTELCPT, 0,	"Intel Cougar Point" },
 	{ HDA_CODEC_INTELPPT, 0,	"Intel Panther Point" },
+	{ HDA_CODEC_INTELLP, 0,		"Intel Lynx Point" },
 	{ HDA_CODEC_INTELCL, 0,		"Intel Crestline" },
 	{ HDA_CODEC_SII1390, 0,		"Silicon Image SiI1390" },
 	{ HDA_CODEC_SII1392, 0,		"Silicon Image SiI1392" },

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 13:19:15 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 9EE71233;
 Fri, 15 Nov 2013 13:19:15 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 8EA462858;
 Fri, 15 Nov 2013 13:19:15 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAFDJFYE017571;
 Fri, 15 Nov 2013 13:19:15 GMT (envelope-from mav@svn.freebsd.org)
Received: (from mav@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAFDJFsp017570;
 Fri, 15 Nov 2013 13:19:15 GMT (envelope-from mav@svn.freebsd.org)
Message-Id: <201311151319.rAFDJFsp017570@svn.freebsd.org>
From: Alexander Motin <mav@FreeBSD.org>
Date: Fri, 15 Nov 2013 13:19:15 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258169 - head/sys/dev/ichsmb
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 13:19:15 -0000

Author: mav
Date: Fri Nov 15 13:19:15 2013
New Revision: 258169
URL: http://svnweb.freebsd.org/changeset/base/258169

Log:
  Add ID for Intel Avoton SMBus controller.

Modified:
  head/sys/dev/ichsmb/ichsmb_pci.c

Modified: head/sys/dev/ichsmb/ichsmb_pci.c
==============================================================================
--- head/sys/dev/ichsmb/ichsmb_pci.c	Fri Nov 15 13:12:53 2013	(r258168)
+++ head/sys/dev/ichsmb/ichsmb_pci.c	Fri Nov 15 13:19:15 2013	(r258169)
@@ -85,6 +85,7 @@ __FBSDID("$FreeBSD$");
 #define ID_PATSBURG			0x1d228086
 #define ID_CPT				0x1c228086
 #define ID_PPT				0x1e228086
+#define ID_AVOTON			0x1f3c8086
 #define ID_COLETOCRK			0x23B08086 
 #define ID_LPT				0x8c228086
 
@@ -190,6 +191,9 @@ ichsmb_pci_probe(device_t dev)
 	case ID_PPT:
 		device_set_desc(dev, "Intel Panther Point SMBus controller");
 		break;
+	case ID_AVOTON:
+		device_set_desc(dev, "Intel Avoton SMBus controller");
+		break;
 	case ID_LPT:
 		device_set_desc(dev, "Intel Lynx Point SMBus controller");
 		break;

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 13:55:57 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id E739AAC6;
 Fri, 15 Nov 2013 13:55:56 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id D65F12A84;
 Fri, 15 Nov 2013 13:55:56 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAFDtuSM030322;
 Fri, 15 Nov 2013 13:55:56 GMT (envelope-from mav@svn.freebsd.org)
Received: (from mav@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAFDtu11030319;
 Fri, 15 Nov 2013 13:55:56 GMT (envelope-from mav@svn.freebsd.org)
Message-Id: <201311151355.rAFDtu11030319@svn.freebsd.org>
From: Alexander Motin <mav@FreeBSD.org>
Date: Fri, 15 Nov 2013 13:55:56 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258170 - head/sys/dev/sound/pci/hda
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 13:55:57 -0000

Author: mav
Date: Fri Nov 15 13:55:55 2013
New Revision: 258170
URL: http://svnweb.freebsd.org/changeset/base/258170

Log:
  Add some more Intel HDA controller IDs and rename HDMI CODEC to Haswell.

Modified:
  head/sys/dev/sound/pci/hda/hdac.c
  head/sys/dev/sound/pci/hda/hdac.h
  head/sys/dev/sound/pci/hda/hdacc.c

Modified: head/sys/dev/sound/pci/hda/hdac.c
==============================================================================
--- head/sys/dev/sound/pci/hda/hdac.c	Fri Nov 15 13:19:15 2013	(r258169)
+++ head/sys/dev/sound/pci/hda/hdac.c	Fri Nov 15 13:55:55 2013	(r258170)
@@ -78,11 +78,20 @@ static const struct {
 	char		quirks_on;
 	char		quirks_off;
 } hdac_devices[] = {
+	{ HDA_INTEL_OAK,     "Intel Oaktrail",	0, 0 },
+	{ HDA_INTEL_BAY,     "Intel BayTrail",	0, 0 },
+	{ HDA_INTEL_HSW1,    "Intel Haswell",	0, 0 },
+	{ HDA_INTEL_HSW2,    "Intel Haswell",	0, 0 },
+	{ HDA_INTEL_HSW3,    "Intel Haswell",	0, 0 },
 	{ HDA_INTEL_CPT,     "Intel Cougar Point",	0, 0 },
 	{ HDA_INTEL_PATSBURG,"Intel Patsburg",  0, 0 },
 	{ HDA_INTEL_PPT1,    "Intel Panther Point",	0, 0 },
 	{ HDA_INTEL_LPT1,    "Intel Lynx Point",	0, 0 },
 	{ HDA_INTEL_LPT2,    "Intel Lynx Point",	0, 0 },
+	{ HDA_INTEL_WELLS1,  "Intel Wellsburg",	0, 0 },
+	{ HDA_INTEL_WELLS2,  "Intel Wellsburg",	0, 0 },
+	{ HDA_INTEL_LPTLP1,  "Intel Lynx Point-LP",	0, 0 },
+	{ HDA_INTEL_LPTLP2,  "Intel Lynx Point-LP",	0, 0 },
 	{ HDA_INTEL_82801F,  "Intel 82801F",	0, 0 },
 	{ HDA_INTEL_63XXESB, "Intel 631x/632xESB",	0, 0 },
 	{ HDA_INTEL_82801G,  "Intel 82801G",	0, 0 },

Modified: head/sys/dev/sound/pci/hda/hdac.h
==============================================================================
--- head/sys/dev/sound/pci/hda/hdac.h	Fri Nov 15 13:19:15 2013	(r258169)
+++ head/sys/dev/sound/pci/hda/hdac.h	Fri Nov 15 13:55:55 2013	(r258170)
@@ -41,6 +41,11 @@
 
 /* Intel */
 #define INTEL_VENDORID		0x8086
+#define HDA_INTEL_OAK		HDA_MODEL_CONSTRUCT(INTEL, 0x080a)
+#define HDA_INTEL_BAY		HDA_MODEL_CONSTRUCT(INTEL, 0x0f04)
+#define HDA_INTEL_HSW1		HDA_MODEL_CONSTRUCT(INTEL, 0x0a0c)
+#define HDA_INTEL_HSW2		HDA_MODEL_CONSTRUCT(INTEL, 0x0c0c)
+#define HDA_INTEL_HSW3		HDA_MODEL_CONSTRUCT(INTEL, 0x0d0c)
 #define HDA_INTEL_CPT		HDA_MODEL_CONSTRUCT(INTEL, 0x1c20)
 #define HDA_INTEL_PATSBURG	HDA_MODEL_CONSTRUCT(INTEL, 0x1d20)
 #define HDA_INTEL_PPT1		HDA_MODEL_CONSTRUCT(INTEL, 0x1e20)
@@ -56,6 +61,10 @@
 #define HDA_INTEL_SCH		HDA_MODEL_CONSTRUCT(INTEL, 0x811b)
 #define HDA_INTEL_LPT1		HDA_MODEL_CONSTRUCT(INTEL, 0x8c20)
 #define HDA_INTEL_LPT2		HDA_MODEL_CONSTRUCT(INTEL, 0x8c21)
+#define HDA_INTEL_WELLS1	HDA_MODEL_CONSTRUCT(INTEL, 0x8d20)
+#define HDA_INTEL_WELLS2	HDA_MODEL_CONSTRUCT(INTEL, 0x8d21)
+#define HDA_INTEL_LPTLP1	HDA_MODEL_CONSTRUCT(INTEL, 0x9c20)
+#define HDA_INTEL_LPTLP2	HDA_MODEL_CONSTRUCT(INTEL, 0x9c21)
 #define HDA_INTEL_ALL		HDA_MODEL_CONSTRUCT(INTEL, 0xffff)
 
 /* Nvidia */
@@ -605,7 +614,7 @@
 #define HDA_CODEC_INTELIP2	HDA_CODEC_CONSTRUCT(INTEL, 0x2804)
 #define HDA_CODEC_INTELCPT	HDA_CODEC_CONSTRUCT(INTEL, 0x2805)
 #define HDA_CODEC_INTELPPT	HDA_CODEC_CONSTRUCT(INTEL, 0x2806)
-#define HDA_CODEC_INTELLP	HDA_CODEC_CONSTRUCT(INTEL, 0x2807)
+#define HDA_CODEC_INTELHSW	HDA_CODEC_CONSTRUCT(INTEL, 0x2807)
 #define HDA_CODEC_INTELCL	HDA_CODEC_CONSTRUCT(INTEL, 0x29fb)
 #define HDA_CODEC_INTELXXXX	HDA_CODEC_CONSTRUCT(INTEL, 0xffff)
 

Modified: head/sys/dev/sound/pci/hda/hdacc.c
==============================================================================
--- head/sys/dev/sound/pci/hda/hdacc.c	Fri Nov 15 13:19:15 2013	(r258169)
+++ head/sys/dev/sound/pci/hda/hdacc.c	Fri Nov 15 13:55:55 2013	(r258170)
@@ -318,7 +318,7 @@ static const struct {
 	{ HDA_CODEC_INTELIP2, 0,	"Intel Ibex Peak" },
 	{ HDA_CODEC_INTELCPT, 0,	"Intel Cougar Point" },
 	{ HDA_CODEC_INTELPPT, 0,	"Intel Panther Point" },
-	{ HDA_CODEC_INTELLP, 0,		"Intel Lynx Point" },
+	{ HDA_CODEC_INTELHSW, 0,	"Intel Haswell" },
 	{ HDA_CODEC_INTELCL, 0,		"Intel Crestline" },
 	{ HDA_CODEC_SII1390, 0,		"Silicon Image SiI1390" },
 	{ HDA_CODEC_SII1392, 0,		"Silicon Image SiI1392" },

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 15:08:54 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 0C9544F7;
 Fri, 15 Nov 2013 15:08:54 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id EFD602F20;
 Fri, 15 Nov 2013 15:08:53 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAFF8rvw055204;
 Fri, 15 Nov 2013 15:08:53 GMT (envelope-from jhb@svn.freebsd.org)
Received: (from jhb@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAFF8rDt055203;
 Fri, 15 Nov 2013 15:08:53 GMT (envelope-from jhb@svn.freebsd.org)
Message-Id: <201311151508.rAFF8rDt055203@svn.freebsd.org>
From: John Baldwin <jhb@FreeBSD.org>
Date: Fri, 15 Nov 2013 15:08:53 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject: svn commit: r258171 - stable/9/sys/boot/i386/btx/btx
X-SVN-Group: stable-9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 15:08:54 -0000

Author: jhb
Date: Fri Nov 15 15:08:53 2013
New Revision: 258171
URL: http://svnweb.freebsd.org/changeset/base/258171

Log:
  MFC 256293:
  Sanitize the %eflags returned by BIOS routines.  Some BIOS routines enter
  protected mode and may leave protected-mode-specific flags like PSL_NT set
  when they return to real mode.  This can cause a fault when BTX re-enters
  protected mode after the BIOS mode returns.
  
  PR:		amd64/182740

Modified:
  stable/9/sys/boot/i386/btx/btx/btx.S
Directory Properties:
  stable/9/sys/   (props changed)
  stable/9/sys/boot/   (props changed)

Modified: stable/9/sys/boot/i386/btx/btx/btx.S
==============================================================================
--- stable/9/sys/boot/i386/btx/btx/btx.S	Fri Nov 15 13:55:55 2013	(r258170)
+++ stable/9/sys/boot/i386/btx/btx/btx.S	Fri Nov 15 15:08:53 2013	(r258171)
@@ -41,6 +41,8 @@
 		.set PSL_RESERVED_DEFAULT,0x00000002
 		.set PSL_T,0x00000100		# Trap flag
 		.set PSL_I,0x00000200		# Interrupt enable flag
+		.set PSL_D,0x00000400		# String instruction direction
+		.set PSL_NT,0x00004000		# Nested task flag
 		.set PSL_VM,0x00020000		# Virtual 8086 mode flag
 		.set PSL_AC,0x00040000		# Alignment check flag
 /*
@@ -611,8 +613,8 @@ rret_tramp:	movw $MEM_ESPR-0x08,%sp		# R
 		pushl %ds			#  regs
 		pushl %es
 		pushfl				# Save %eflags
-		cli				# Disable interrupts
-		std				# String ops dec
+		pushl $PSL_RESERVED_DEFAULT|PSL_D # Use clean %eflags with
+		popfl				#  string ops dec
 		xorw %ax,%ax			# Reset seg 
 		movw %ax,%ds			#  regs
 		movw %ax,%es			#  (%ss is already 0)
@@ -675,6 +677,7 @@ rret_tramp.1:	xorl %ecx,%ecx			# Zero
 		testl $V86F_FLAGS,%edx		# User wants flags?
 		jz rret_tramp.3			# No
 		movl MEM_ESPR-0x3c,%eax		# Read real mode flags
+		andl $~(PSL_T|PSL_NT),%eax	# Clear unsafe flags
 		movw %ax,-0x08(%esi)		# Update user flags (low 16)
 /*
  * Return to the user task

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 15:08:59 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 6288B4F8;
 Fri, 15 Nov 2013 15:08:59 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 5143F2F21;
 Fri, 15 Nov 2013 15:08:59 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAFF8xaC055249;
 Fri, 15 Nov 2013 15:08:59 GMT (envelope-from jhb@svn.freebsd.org)
Received: (from jhb@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAFF8xlE055248;
 Fri, 15 Nov 2013 15:08:59 GMT (envelope-from jhb@svn.freebsd.org)
Message-Id: <201311151508.rAFF8xlE055248@svn.freebsd.org>
From: John Baldwin <jhb@FreeBSD.org>
Date: Fri, 15 Nov 2013 15:08:59 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org
Subject: svn commit: r258172 - stable/8/sys/boot/i386/btx/btx
X-SVN-Group: stable-8
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 15:08:59 -0000

Author: jhb
Date: Fri Nov 15 15:08:58 2013
New Revision: 258172
URL: http://svnweb.freebsd.org/changeset/base/258172

Log:
  MFC 256293:
  Sanitize the %eflags returned by BIOS routines.  Some BIOS routines enter
  protected mode and may leave protected-mode-specific flags like PSL_NT set
  when they return to real mode.  This can cause a fault when BTX re-enters
  protected mode after the BIOS mode returns.
  
  PR:		amd64/182740

Modified:
  stable/8/sys/boot/i386/btx/btx/btx.S
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/boot/   (props changed)

Modified: stable/8/sys/boot/i386/btx/btx/btx.S
==============================================================================
--- stable/8/sys/boot/i386/btx/btx/btx.S	Fri Nov 15 15:08:53 2013	(r258171)
+++ stable/8/sys/boot/i386/btx/btx/btx.S	Fri Nov 15 15:08:58 2013	(r258172)
@@ -41,6 +41,8 @@
 		.set PSL_RESERVED_DEFAULT,0x00000002
 		.set PSL_T,0x00000100		# Trap flag
 		.set PSL_I,0x00000200		# Interrupt enable flag
+		.set PSL_D,0x00000400		# String instruction direction
+		.set PSL_NT,0x00004000		# Nested task flag
 		.set PSL_VM,0x00020000		# Virtual 8086 mode flag
 		.set PSL_AC,0x00040000		# Alignment check flag
 /*
@@ -611,8 +613,8 @@ rret_tramp:	movw $MEM_ESPR-0x08,%sp		# R
 		pushl %ds			#  regs
 		pushl %es
 		pushfl				# Save %eflags
-		cli				# Disable interrupts
-		std				# String ops dec
+		pushl $PSL_RESERVED_DEFAULT|PSL_D # Use clean %eflags with
+		popfl				#  string ops dec
 		xorw %ax,%ax			# Reset seg 
 		movw %ax,%ds			#  regs
 		movw %ax,%es			#  (%ss is already 0)
@@ -675,6 +677,7 @@ rret_tramp.1:	xorl %ecx,%ecx			# Zero
 		testl $V86F_FLAGS,%edx		# User wants flags?
 		jz rret_tramp.3			# No
 		movl MEM_ESPR-0x3c,%eax		# Read real mode flags
+		andl $~(PSL_T|PSL_NT),%eax	# Clear unsafe flags
 		movw %ax,-0x08(%esi)		# Update user flags (low 16)
 /*
  * Return to the user task

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 15:14:08 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 64823936;
 Fri, 15 Nov 2013 15:14:08 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 3A5032F8E;
 Fri, 15 Nov 2013 15:14:08 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAFFE8EK058321;
 Fri, 15 Nov 2013 15:14:08 GMT (envelope-from mav@svn.freebsd.org)
Received: (from mav@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAFFE7Np058319;
 Fri, 15 Nov 2013 15:14:07 GMT (envelope-from mav@svn.freebsd.org)
Message-Id: <201311151514.rAFFE7Np058319@svn.freebsd.org>
From: Alexander Motin <mav@FreeBSD.org>
Date: Fri, 15 Nov 2013 15:14:07 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258173 - head/sys/dev/ahci
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 15:14:08 -0000

Author: mav
Date: Fri Nov 15 15:14:07 2013
New Revision: 258173
URL: http://svnweb.freebsd.org/changeset/base/258173

Log:
  Add few more minor parts of DevSleep support from AHCI 1.3.1 proposal.

Modified:
  head/sys/dev/ahci/ahci.c
  head/sys/dev/ahci/ahci.h

Modified: head/sys/dev/ahci/ahci.c
==============================================================================
--- head/sys/dev/ahci/ahci.c	Fri Nov 15 15:08:58 2013	(r258172)
+++ head/sys/dev/ahci/ahci.c	Fri Nov 15 15:14:07 2013	(r258173)
@@ -1113,13 +1113,16 @@ ahci_ch_attach(device_t dev)
 	version = ATA_INL(ctlr->r_mem, AHCI_VS);
 	if (version < 0x00010200 && (ctlr->caps & AHCI_CAP_FBSS))
 		ch->chcaps |= AHCI_P_CMD_FBSCP;
+	if (ch->caps2 & AHCI_CAP2_SDS)
+		ch->chscaps = ATA_INL(ch->r_mem, AHCI_P_DEVSLP);
 	if (bootverbose) {
-		device_printf(dev, "Caps:%s%s%s%s%s\n",
+		device_printf(dev, "Caps:%s%s%s%s%s%s\n",
 		    (ch->chcaps & AHCI_P_CMD_HPCP) ? " HPCP":"",
 		    (ch->chcaps & AHCI_P_CMD_MPSP) ? " MPSP":"",
 		    (ch->chcaps & AHCI_P_CMD_CPD) ? " CPD":"",
 		    (ch->chcaps & AHCI_P_CMD_ESP) ? " ESP":"",
-		    (ch->chcaps & AHCI_P_CMD_FBSCP) ? " FBSCP":"");
+		    (ch->chcaps & AHCI_P_CMD_FBSCP) ? " FBSCP":"",
+		    (ch->chscaps & AHCI_P_DEVSLP_DSP) ? " DSP":"");
 	}
 	/* Create the device queue for our SIM. */
 	devq = cam_simq_alloc(ch->numslots);

Modified: head/sys/dev/ahci/ahci.h
==============================================================================
--- head/sys/dev/ahci/ahci.h	Fri Nov 15 15:08:58 2013	(r258172)
+++ head/sys/dev/ahci/ahci.h	Fri Nov 15 15:14:07 2013	(r258173)
@@ -137,6 +137,7 @@
 #define         ATA_SC_IPM_NONE         0x00000000
 #define         ATA_SC_IPM_DIS_PARTIAL  0x00000100
 #define         ATA_SC_IPM_DIS_SLUMBER  0x00000200
+#define         ATA_SC_IPM_DIS_DEVSLEEP 0x00000400
 
 #define ATA_SACTIVE                     16
 
@@ -286,6 +287,17 @@
 #define 	AHCI_P_FBS_ADO_SHIFT 12
 #define 	AHCI_P_FBS_DWE      0x000f0000
 #define 	AHCI_P_FBS_DWE_SHIFT 16
+#define AHCI_P_DEVSLP               0x44
+#define 	AHCI_P_DEVSLP_ADSE  0x00000001
+#define 	AHCI_P_DEVSLP_DSP   0x00000002
+#define 	AHCI_P_DEVSLP_DETO  0x000003fc
+#define 	AHCI_P_DEVSLP_DETO_SHIFT 2
+#define 	AHCI_P_DEVSLP_MDAT  0x00007c00
+#define 	AHCI_P_DEVSLP_MDAT_SHIFT 10
+#define 	AHCI_P_DEVSLP_DITO  0x01ff8000
+#define 	AHCI_P_DEVSLP_DITO_SHIFT 15
+#define 	AHCI_P_DEVSLP_DM    0x0e000000
+#define 	AHCI_P_DEVSLP_DM_SHIFT 25
 
 /* Just to be sure, if building as module. */
 #if MAXPHYS < 512 * 1024
@@ -402,6 +414,7 @@ struct ahci_channel {
 	uint32_t		caps;		/* Controller capabilities */
 	uint32_t		caps2;		/* Controller capabilities */
 	uint32_t		chcaps;		/* Channel capabilities */
+	uint32_t		chscaps;	/* Channel sleep capabilities */
 	int			quirks;
 	int			numslots;	/* Number of present slots */
 	int			pm_level;	/* power management level */

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 15:29:54 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 123566C;
 Fri, 15 Nov 2013 15:29:54 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id DAD6020C0;
 Fri, 15 Nov 2013 15:29:53 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAFFTrXG062523;
 Fri, 15 Nov 2013 15:29:53 GMT (envelope-from jhb@svn.freebsd.org)
Received: (from jhb@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAFFTrTN062522;
 Fri, 15 Nov 2013 15:29:53 GMT (envelope-from jhb@svn.freebsd.org)
Message-Id: <201311151529.rAFFTrTN062522@svn.freebsd.org>
From: John Baldwin <jhb@FreeBSD.org>
Date: Fri, 15 Nov 2013 15:29:53 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258174 - head/sys/kern
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 15:29:54 -0000

Author: jhb
Date: Fri Nov 15 15:29:53 2013
New Revision: 258174
URL: http://svnweb.freebsd.org/changeset/base/258174

Log:
  Don't allow vfs.lorunningspace or vfs.hirunningspace to be set such
  that lorunningspace is greater than hirunningspace as the system
  performs terribly if it is mistuned in this fashion.
  
  MFC after:	1 week

Modified:
  head/sys/kern/vfs_bio.c

Modified: head/sys/kern/vfs_bio.c
==============================================================================
--- head/sys/kern/vfs_bio.c	Fri Nov 15 15:14:07 2013	(r258173)
+++ head/sys/kern/vfs_bio.c	Fri Nov 15 15:29:53 2013	(r258174)
@@ -118,6 +118,7 @@ static int flushbufqueues(int, int);
 static void buf_daemon(void);
 static void bremfreel(struct buf *bp);
 static __inline void bd_wakeup(void);
+static int sysctl_runningspace(SYSCTL_HANDLER_ARGS);
 #if defined(COMPAT_FREEBSD4) || defined(COMPAT_FREEBSD5) || \
     defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD7)
 static int sysctl_bufspace(SYSCTL_HANDLER_ARGS);
@@ -167,10 +168,12 @@ static int bufdefragcnt;
 SYSCTL_INT(_vfs, OID_AUTO, bufdefragcnt, CTLFLAG_RW, &bufdefragcnt, 0,
     "Number of times we have had to repeat buffer allocation to defragment");
 static long lorunningspace;
-SYSCTL_LONG(_vfs, OID_AUTO, lorunningspace, CTLFLAG_RW, &lorunningspace, 0,
+SYSCTL_PROC(_vfs, OID_AUTO, lorunningspace, CTLTYPE_LONG | CTLFLAG_MPSAFE |
+    CTLFLAG_RW, &lorunningspace, 0, sysctl_runningspace, "L",
     "Minimum preferred space used for in-progress I/O");
 static long hirunningspace;
-SYSCTL_LONG(_vfs, OID_AUTO, hirunningspace, CTLFLAG_RW, &hirunningspace, 0,
+SYSCTL_PROC(_vfs, OID_AUTO, hirunningspace, CTLTYPE_LONG | CTLFLAG_MPSAFE |
+    CTLFLAG_RW, &hirunningspace, 0, sysctl_runningspace, "L",
     "Maximum amount of space to use for in-progress I/O");
 int dirtybufferflushes;
 SYSCTL_INT(_vfs, OID_AUTO, dirtybufferflushes, CTLFLAG_RW, &dirtybufferflushes,
@@ -332,6 +335,34 @@ const char *buf_wmesg = BUF_WMESG;
 #define VFS_BIO_NEED_FREE	0x04	/* wait for free bufs, hi hysteresis */
 #define VFS_BIO_NEED_BUFSPACE	0x08	/* wait for buf space, lo hysteresis */
 
+static int
+sysctl_runningspace(SYSCTL_HANDLER_ARGS)
+{
+	long value;
+	int error;
+
+	value = *(long *)arg1;
+	error = sysctl_handle_long(oidp, &value, 0, req);
+	if (error != 0 || req->newptr == NULL)
+		return (error);
+	mtx_lock(&rbreqlock);
+	if (arg1 == &hirunningspace) {
+		if (value < lorunningspace)
+			error = EINVAL;
+		else
+			hirunningspace = value;
+	} else {
+		KASSERT(arg1 == &lorunningspace,
+		    ("%s: unknown arg1", __func__));
+		if (value > hirunningspace)
+			error = EINVAL;
+		else
+			lorunningspace = value;
+	}
+	mtx_unlock(&rbreqlock);
+	return (error);
+}
+
 #if defined(COMPAT_FREEBSD4) || defined(COMPAT_FREEBSD5) || \
     defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD7)
 static int

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 15:44:10 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 04FF6462;
 Fri, 15 Nov 2013 15:44:10 +0000 (UTC)
Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1])
 (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id CD95721B1;
 Fri, 15 Nov 2013 15:44:09 +0000 (UTC)
Received: from jhbbsd.localnet (unknown [209.249.190.124])
 by bigwig.baldwin.cx (Postfix) with ESMTPSA id B642FB979;
 Fri, 15 Nov 2013 10:44:08 -0500 (EST)
From: John Baldwin <jhb@freebsd.org>
To: Bruce Evans <brde@optusnet.com.au>
Subject: Re: svn commit: r258142 - head/sys/net
Date: Fri, 15 Nov 2013 10:05:59 -0500
User-Agent: KMail/1.13.5 (FreeBSD/8.4-CBSD-20130906; KDE/4.5.5; amd64; ; )
References: <201311142007.rAEK7InH068095@svn.freebsd.org>
 <A2749F6A-4F91-4DC7-A2C4-0F75AE20DB5E@freebsd.org>
 <20131115223304.R2093@besplex.bde.org>
In-Reply-To: <20131115223304.R2093@besplex.bde.org>
MIME-Version: 1.0
Content-Type: Text/Plain;
  charset="iso-8859-15"
Content-Transfer-Encoding: 7bit
Message-Id: <201311151005.59405.jhb@freebsd.org>
X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7
 (bigwig.baldwin.cx); Fri, 15 Nov 2013 10:44:08 -0500 (EST)
Cc: svn-src-head@freebsd.org, George Neville-Neil <gnn@freebsd.org>,
 svn-src-all@freebsd.org, Sergey Kandaurov <pluknet@freebsd.org>,
 src-committers@freebsd.org
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 15:44:10 -0000

On Friday, November 15, 2013 7:23:23 am Bruce Evans wrote:
> On Thu, 14 Nov 2013, George Neville-Neil wrote:
> Does the API require defining OUI_FREEBSD as a value that needs to be
> shifted left by 24 to use?  It would be more useful to define it as the
> left-shifted value.  Then it gives the base for the FreeBSD range.
> Values that aren't left shifted have the advantage of fitting in 32 bits,
> so that their natural type is always int the type needed to hold the
> left-shifted value can be implementation-defined (it should be int64_t
> on 32-bit systems and long on 64-bit systems).

The API is free to be whatever we want.  I agree that it would be simpler
to make the full value explicit.  Perhaps something like this:

#define OUI_FREEBSD_BASE 0x589cfc000000
#define OUI_FREEBSD(nic)  (OUI_FREEBSD_BASE | (nic))

And then you can have:

#define OUI_FREEBSD_BHYVE_LOW OUI_FREEBSD(0x000001)
#define OUI_FREEBSD_BHYVE_HIGH OUI_FREEBSD(0x00ffff)

That avoids the needs for any casts, etc.

-- 
John Baldwin

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 16:03:33 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 86355D7A;
 Fri, 15 Nov 2013 16:03:33 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 761B42326;
 Fri, 15 Nov 2013 16:03:33 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAFG3X1H075169;
 Fri, 15 Nov 2013 16:03:33 GMT (envelope-from gnn@svn.freebsd.org)
Received: (from gnn@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAFG3XAp075168;
 Fri, 15 Nov 2013 16:03:33 GMT (envelope-from gnn@svn.freebsd.org)
Message-Id: <201311151603.rAFG3XAp075168@svn.freebsd.org>
From: "George V. Neville-Neil" <gnn@FreeBSD.org>
Date: Fri, 15 Nov 2013 16:03:33 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258175 - head/sys/net
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 16:03:33 -0000

Author: gnn
Date: Fri Nov 15 16:03:32 2013
New Revision: 258175
URL: http://svnweb.freebsd.org/changeset/base/258175

Log:
  Clean up the macros to avoid using casts.
  
  Suggested by: bde and jhb

Modified:
  head/sys/net/ieee_oui.h

Modified: head/sys/net/ieee_oui.h
==============================================================================
--- head/sys/net/ieee_oui.h	Fri Nov 15 15:29:53 2013	(r258174)
+++ head/sys/net/ieee_oui.h	Fri Nov 15 16:03:32 2013	(r258175)
@@ -32,7 +32,8 @@
  */
 
 /* Organizationally Unique Identifier assigned by IEEE 14 Nov 2013 */
-#define OUI_FREEBSD 0x589cfc
+#define OUI_FREEBSD_BASE 0x589cfc000000
+#define OUI_FREEBSD(nic) (OUI_FREEBSD_BASE | (nic))
 
 /* 
  * OUIs are most often used to uniquely identify network interfaces
@@ -62,5 +63,5 @@
  */
 
 /* Allocate 64K to bhyve */
-#define OUI_FREEBSD_BHYVE_LOW	(((uint64_t)OUI_FREEBSD << 24) | 0x000001)
-#define OUI_FREEBSD_BHYVE_HIGH	(((uint64_t)OUI_FREEBSD << 24) | 0x00ffff)
+#define OUI_FREEBSD_BHYVE_LOW	OUI_FREEBSD(0x000001)
+#define OUI_FREEBSD_BHYVE_HIGH	OUI_FREEBSD(0x00ffff)

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 16:05:56 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 9BDF8E7;
 Fri, 15 Nov 2013 16:05:56 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 70CBA2356;
 Fri, 15 Nov 2013 16:05:56 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAFG5uoA075801;
 Fri, 15 Nov 2013 16:05:56 GMT (envelope-from gibbs@svn.freebsd.org)
Received: (from gibbs@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAFG5uUl075789;
 Fri, 15 Nov 2013 16:05:56 GMT (envelope-from gibbs@svn.freebsd.org)
Message-Id: <201311151605.rAFG5uUl075789@svn.freebsd.org>
From: "Justin T. Gibbs" <gibbs@FreeBSD.org>
Date: Fri, 15 Nov 2013 16:05:56 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258176 - in head/sys: amd64/amd64 i386/i386
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 16:05:56 -0000

Author: gibbs
Date: Fri Nov 15 16:05:55 2013
New Revision: 258176
URL: http://svnweb.freebsd.org/changeset/base/258176

Log:
  Fix accounting for hw.realmem on the i386 and amd64 platforms.
  
  sys/i386/i386/machdep.c:
  sys/amd64/amd64/machdep.c:
  	The value reported by FreeBSD as "real memory" when booting
  	doesn't match what is later reported by sysctl as hw.realmem.
  	This is due to the fact that the value printed during the
  	boot process is fetched from smbios data (when possible),
  	and accounts for holes in physical memory. On the other
  	hand, the value of hw.realmem is unconditionally set to be
  	one larger than the highest page of the physical address
  	space.
  
  	Fix this by setting hw.realmem to the same value printed
  	during boot, this makes hw.realmem honour it's name and
  	account properly for physical memory present in the system.
  
  Submitted by:	Roger Pau Monné
  Reviewed by:	gibbs

Modified:
  head/sys/amd64/amd64/machdep.c
  head/sys/i386/i386/machdep.c

Modified: head/sys/amd64/amd64/machdep.c
==============================================================================
--- head/sys/amd64/amd64/machdep.c	Fri Nov 15 16:03:32 2013	(r258175)
+++ head/sys/amd64/amd64/machdep.c	Fri Nov 15 16:05:55 2013	(r258176)
@@ -256,7 +256,6 @@ cpu_startup(dummy)
 #ifdef PERFMON
 	perfmon_init();
 #endif
-	realmem = Maxmem;
 
 	/*
 	 * Display physical memory if SMBIOS reports reasonable amount.
@@ -270,6 +269,7 @@ cpu_startup(dummy)
 	if (memsize < ptoa((uintmax_t)cnt.v_free_count))
 		memsize = ptoa((uintmax_t)Maxmem);
 	printf("real memory  = %ju (%ju MB)\n", memsize, memsize >> 20);
+	realmem = atop(memsize);
 
 	/*
 	 * Display any holes after the first chunk of extended memory.

Modified: head/sys/i386/i386/machdep.c
==============================================================================
--- head/sys/i386/i386/machdep.c	Fri Nov 15 16:03:32 2013	(r258175)
+++ head/sys/i386/i386/machdep.c	Fri Nov 15 16:05:55 2013	(r258176)
@@ -294,7 +294,6 @@ cpu_startup(dummy)
 #ifdef PERFMON
 	perfmon_init();
 #endif
-	realmem = Maxmem;
 
 	/*
 	 * Display physical memory if SMBIOS reports reasonable amount.
@@ -308,6 +307,7 @@ cpu_startup(dummy)
 	if (memsize < ptoa((uintmax_t)cnt.v_free_count))
 		memsize = ptoa((uintmax_t)Maxmem);
 	printf("real memory  = %ju (%ju MB)\n", memsize, memsize >> 20);
+	realmem = atop(memsize);
 
 	/*
 	 * Display any holes after the first chunk of extended memory.

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 16:16:56 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 59C87759;
 Fri, 15 Nov 2013 16:16:56 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 2E957241F;
 Fri, 15 Nov 2013 16:16:56 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAFGGu67079595;
 Fri, 15 Nov 2013 16:16:56 GMT (envelope-from jhb@svn.freebsd.org)
Received: (from jhb@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAFGGtVK079593;
 Fri, 15 Nov 2013 16:16:55 GMT (envelope-from jhb@svn.freebsd.org)
Message-Id: <201311151616.rAFGGtVK079593@svn.freebsd.org>
From: John Baldwin <jhb@FreeBSD.org>
Date: Fri, 15 Nov 2013 16:16:55 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258177 - head/sys/arm/econa
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 16:16:56 -0000

Author: jhb
Date: Fri Nov 15 16:16:55 2013
New Revision: 258177
URL: http://svnweb.freebsd.org/changeset/base/258177

Log:
  Remove an incorrectly copied and pasted clause from these license
  statements.
  
  Approved by:	Yohanes Nugroho <yohanes@gmail.com>
  MFC after:	1 week

Modified:
  head/sys/arm/econa/uart_bus_ec.c
  head/sys/arm/econa/uart_cpu_ec.c

Modified: head/sys/arm/econa/uart_bus_ec.c
==============================================================================
--- head/sys/arm/econa/uart_bus_ec.c	Fri Nov 15 16:05:55 2013	(r258176)
+++ head/sys/arm/econa/uart_bus_ec.c	Fri Nov 15 16:16:55 2013	(r258177)
@@ -11,9 +11,6 @@
  * 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.
- * 3. Neither the name of MARVELL nor the names of contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
  *
  * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND
  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE

Modified: head/sys/arm/econa/uart_cpu_ec.c
==============================================================================
--- head/sys/arm/econa/uart_cpu_ec.c	Fri Nov 15 16:05:55 2013	(r258176)
+++ head/sys/arm/econa/uart_cpu_ec.c	Fri Nov 15 16:16:55 2013	(r258177)
@@ -12,9 +12,6 @@
  * 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.
- * 3. Neither the name of MARVELL nor the names of contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
  *
  * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND
  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 16:35:29 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 8A40DC71;
 Fri, 15 Nov 2013 16:35:29 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 784F32538;
 Fri, 15 Nov 2013 16:35:29 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAFGZTeM086191;
 Fri, 15 Nov 2013 16:35:29 GMT (envelope-from gibbs@svn.freebsd.org)
Received: (from gibbs@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAFGZTv1086190;
 Fri, 15 Nov 2013 16:35:29 GMT (envelope-from gibbs@svn.freebsd.org)
Message-Id: <201311151635.rAFGZTv1086190@svn.freebsd.org>
From: "Justin T. Gibbs" <gibbs@FreeBSD.org>
Date: Fri, 15 Nov 2013 16:35:29 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258178 - head/sys/dev/xen/balloon
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 16:35:29 -0000

Author: gibbs
Date: Fri Nov 15 16:35:28 2013
New Revision: 258178
URL: http://svnweb.freebsd.org/changeset/base/258178

Log:
  Improve robustness of the Xen balloon driver.
  
  sys/dev/xen/balloon/balloon.c:
  	Remove unused and commented out code.
  
  	Fix deadlock caused by performing a sleepable malloc
  	while holding the balloon mutex.
  
  	Perform proper accounting of the memory used by the domain.
  
  Submitted by:	Roger Pau Monné
  Sponsored by:	Citrix Systems R&D
  Reviewed by:	gibbs
  MFC after:	2 days

Modified:
  head/sys/dev/xen/balloon/balloon.c

Modified: head/sys/dev/xen/balloon/balloon.c
==============================================================================
--- head/sys/dev/xen/balloon/balloon.c	Fri Nov 15 16:16:55 2013	(r258177)
+++ head/sys/dev/xen/balloon/balloon.c	Fri Nov 15 16:35:28 2013	(r258178)
@@ -52,18 +52,13 @@ __FBSDID("$FreeBSD$");
 
 static MALLOC_DEFINE(M_BALLOON, "Balloon", "Xen Balloon Driver");
 
-struct mtx balloon_mutex;
+/* Convert from KB (as fetched from xenstore) to number of PAGES */
+#define KB_TO_PAGE_SHIFT	(PAGE_SHIFT - 10)
 
-/*
- * Protects atomic reservation decrease/increase against concurrent increases.
- * Also protects non-atomic updates of current_pages and driver_pages, and
- * balloon lists.
- */
-struct mtx balloon_lock;
+struct mtx balloon_mutex;
 
 /* We increase/decrease in batches which fit in a page */
 static unsigned long frame_list[PAGE_SIZE / sizeof(unsigned long)];
-#define ARRAY_SIZE(A)	(sizeof(A) / sizeof(A[0]))
 
 struct balloon_stats {
 	/* We aim for 'current allocation' == 'target allocation'. */
@@ -116,15 +111,21 @@ static void balloon_process(void *unused
 	printk(KERN_WARNING "xen_mem: " fmt, ##args)
 
 /* balloon_append: add the given page to the balloon. */
-static void 
+static int
 balloon_append(vm_page_t page)
 {
 	struct balloon_entry *entry;
 
-	entry = malloc(sizeof(struct balloon_entry), M_BALLOON, M_WAITOK);
+	mtx_assert(&balloon_mutex, MA_OWNED);
+
+	entry = malloc(sizeof(struct balloon_entry), M_BALLOON, M_NOWAIT);
+	if (!entry)
+		return (ENOMEM);
 	entry->page = page;
 	STAILQ_INSERT_HEAD(&ballooned_pages, entry, list);
 	bs.balloon_low++;
+
+	return (0);
 }
 
 /* balloon_retrieve: rescue a page from the balloon, if it is not empty. */
@@ -134,8 +135,10 @@ balloon_retrieve(void)
 	vm_page_t page;
 	struct balloon_entry *entry;
 
+	mtx_assert(&balloon_mutex, MA_OWNED);
+
 	if (STAILQ_EMPTY(&ballooned_pages))
-		return NULL;
+		return (NULL);
 
 	entry = STAILQ_FIRST(&ballooned_pages);
 	STAILQ_REMOVE_HEAD(&ballooned_pages, list);
@@ -145,7 +148,7 @@ balloon_retrieve(void)
 	
 	bs.balloon_low--;
 
-	return page;
+	return (page);
 }
 
 static unsigned long 
@@ -154,21 +157,22 @@ current_target(void)
 	unsigned long target = min(bs.target_pages, bs.hard_limit);
 	if (target > (bs.current_pages + bs.balloon_low + bs.balloon_high))
 		target = bs.current_pages + bs.balloon_low + bs.balloon_high;
-	return target;
+	return (target);
 }
 
 static unsigned long
 minimum_target(void)
 {
 #ifdef XENHVM
-#define max_pfn physmem
+#define max_pfn realmem
 #else
 #define max_pfn HYPERVISOR_shared_info->arch.max_pfn
 #endif
 	unsigned long min_pages, curr_pages = current_target();
 
 #define MB2PAGES(mb) ((mb) << (20 - PAGE_SHIFT))
-	/* Simple continuous piecewiese linear function:
+	/*
+	 * Simple continuous piecewiese linear function:
 	 *  max MiB -> min MiB	gradient
 	 *       0	   0
 	 *      16	  16
@@ -189,12 +193,10 @@ minimum_target(void)
 	else
 		min_pages = MB2PAGES(296) + (max_pfn >> 5);
 #undef MB2PAGES
+#undef max_pfn
 
 	/* Don't enforce growth */
-	return min(min_pages, curr_pages);
-#ifndef CONFIG_XEN
-#undef max_pfn
-#endif
+	return (min(min_pages, curr_pages));
 }
 
 static int 
@@ -210,10 +212,10 @@ increase_reservation(unsigned long nr_pa
 		.domid        = DOMID_SELF
 	};
 
-	if (nr_pages > ARRAY_SIZE(frame_list))
-		nr_pages = ARRAY_SIZE(frame_list);
+	mtx_assert(&balloon_mutex, MA_OWNED);
 
-	mtx_lock(&balloon_lock);
+	if (nr_pages > nitems(frame_list))
+		nr_pages = nitems(frame_list);
 
 	for (entry = STAILQ_FIRST(&ballooned_pages), i = 0;
 	     i < nr_pages; i++, entry = STAILQ_NEXT(entry, list)) {
@@ -253,33 +255,14 @@ increase_reservation(unsigned long nr_pa
 
 		set_phys_to_machine(pfn, frame_list[i]);
 
-#if 0
-#ifndef XENHVM
-		/* Link back into the page tables if not highmem. */
-		if (pfn < max_low_pfn) {
-			int ret;
-			ret = HYPERVISOR_update_va_mapping(
-				(unsigned long)__va(pfn << PAGE_SHIFT),
-				pfn_pte_ma(frame_list[i], PAGE_KERNEL),
-				0);
-			PASSING(ret == 0,
-			    ("HYPERVISOR_update_va_mapping failed"));
-		}
-#endif
-#endif
-
-		/* Relinquish the page back to the allocator. */
 		vm_page_unwire(page, 0);
 		vm_page_free(page);
 	}
 
 	bs.current_pages += nr_pages;
-	//totalram_pages = bs.current_pages;
 
  out:
-	mtx_unlock(&balloon_lock);
-
-	return 0;
+	return (0);
 }
 
 static int
@@ -295,8 +278,10 @@ decrease_reservation(unsigned long nr_pa
 		.domid        = DOMID_SELF
 	};
 
-	if (nr_pages > ARRAY_SIZE(frame_list))
-		nr_pages = ARRAY_SIZE(frame_list);
+	mtx_assert(&balloon_mutex, MA_OWNED);
+
+	if (nr_pages > nitems(frame_list))
+		nr_pages = nitems(frame_list);
 
 	for (i = 0; i < nr_pages; i++) {
 		if ((page = vm_page_alloc(NULL, 0, 
@@ -310,39 +295,15 @@ decrease_reservation(unsigned long nr_pa
 		pfn = (VM_PAGE_TO_PHYS(page) >> PAGE_SHIFT);
 		frame_list[i] = PFNTOMFN(pfn);
 
-#if 0
-		if (!PageHighMem(page)) {
-			v = phys_to_virt(pfn << PAGE_SHIFT);
-			scrub_pages(v, 1);
-#ifdef CONFIG_XEN
-			ret = HYPERVISOR_update_va_mapping(
-				(unsigned long)v, __pte_ma(0), 0);
-			BUG_ON(ret);
-#endif
-		}
-#endif
-#ifdef CONFIG_XEN_SCRUB_PAGES
-		else {
-			v = kmap(page);
-			scrub_pages(v, 1);
-			kunmap(page);
-		}
-#endif
-	}
-
-#ifdef CONFIG_XEN
-	/* Ensure that ballooned highmem pages don't have kmaps. */
-	kmap_flush_unused();
-	flush_tlb_all();
-#endif
-
-	mtx_lock(&balloon_lock);
-
-	/* No more mappings: invalidate P2M and add to balloon. */
-	for (i = 0; i < nr_pages; i++) {
-		pfn = MFNTOPFN(frame_list[i]);
 		set_phys_to_machine(pfn, INVALID_P2M_ENTRY);
-		balloon_append(PHYS_TO_VM_PAGE(pfn << PAGE_SHIFT));
+		if (balloon_append(page) != 0) {
+			vm_page_unwire(page, 0);
+			vm_page_free(page);
+
+			nr_pages = i;
+			need_sleep = 1;
+			break;
+		}
 	}
 
 	set_xen_guest_handle(reservation.extent_start, frame_list);
@@ -351,9 +312,6 @@ decrease_reservation(unsigned long nr_pa
 	KASSERT(ret == nr_pages, ("HYPERVISOR_memory_op failed"));
 
 	bs.current_pages -= nr_pages;
-	//totalram_pages = bs.current_pages;
-
-	mtx_unlock(&balloon_lock);
 
 	return (need_sleep);
 }
@@ -425,11 +383,11 @@ watch_target(struct xs_watch *watch,
 		return;
 	} 
         
-	/* The given memory/target value is in KiB, so it needs converting to
-	   pages.  PAGE_SHIFT converts bytes to pages, hence PAGE_SHIFT - 10.
-	*/
-	set_new_target(new_target >> (PAGE_SHIFT - 10));
-    
+	/*
+	 * The given memory/target value is in KiB, so it needs converting to
+	 * pages.  PAGE_SHIFT converts bytes to pages, hence PAGE_SHIFT - 10.
+	 */
+	set_new_target(new_target >> KB_TO_PAGE_SHIFT);
 }
 
 static void 
@@ -461,13 +419,12 @@ balloon_init(void *arg)
 	if (!is_running_on_xen())
 		return;
 
-	mtx_init(&balloon_lock, "balloon_lock", NULL, MTX_DEF);
 	mtx_init(&balloon_mutex, "balloon_mutex", NULL, MTX_DEF);
 
 #ifndef XENHVM
 	bs.current_pages = min(xen_start_info->nr_pages, max_pfn);
 #else
-	bs.current_pages = physmem;
+	bs.current_pages = realmem;
 #endif
 	bs.target_pages  = bs.current_pages;
 	bs.balloon_low   = 0;
@@ -497,76 +454,7 @@ void balloon_update_driver_allowance(lon
 void 
 balloon_update_driver_allowance(long delta)
 {
-	mtx_lock(&balloon_lock);
+	mtx_lock(&balloon_mutex);
 	bs.driver_pages += delta;
-	mtx_unlock(&balloon_lock);
-}
-
-#if 0
-static int dealloc_pte_fn(
-	pte_t *pte, struct page *pte_page, unsigned long addr, void *data)
-{
-	unsigned long mfn = pte_mfn(*pte);
-	int ret;
-	struct xen_memory_reservation reservation = {
-		.extent_start = &mfn,
-		.nr_extents   = 1,
-		.extent_order = 0,
-		.domid        = DOMID_SELF
-	};
-	set_pte_at(&init_mm, addr, pte, __pte_ma(0));
-	set_phys_to_machine(__pa(addr) >> PAGE_SHIFT, INVALID_P2M_ENTRY);
-	ret = HYPERVISOR_memory_op(XENMEM_decrease_reservation, &reservation);
-	KASSERT(ret == 1, ("HYPERVISOR_memory_op failed"));
-	return 0;
-}
-
-#endif
-
-#if 0
-vm_page_t
-balloon_alloc_empty_page_range(unsigned long nr_pages)
-{
-	vm_page_t pages;
-	int i, rc;
-	unsigned long *mfn_list;
-	struct xen_memory_reservation reservation = {
-		.address_bits = 0,
-		.extent_order = 0,
-		.domid        = DOMID_SELF
-	};
-
-	pages = vm_page_alloc_contig(nr_pages, 0, -1, 4, 4)
-	if (pages == NULL)
-		return NULL;
-	
-	mfn_list = malloc(nr_pages*sizeof(unsigned long), M_DEVBUF, M_WAITOK);
-	
-	for (i = 0; i < nr_pages; i++) {
-		mfn_list[i] = PFNTOMFN(VM_PAGE_TO_PHYS(pages[i]) >> PAGE_SHIFT);
-		PFNTOMFN(i) = INVALID_P2M_ENTRY;
-		reservation.extent_start = mfn_list;
-		reservation.nr_extents = nr_pages;
-		rc = HYPERVISOR_memory_op(XENMEM_decrease_reservation,
-		    &reservation);
-		KASSERT(rc == nr_pages, ("HYPERVISOR_memory_op failed"));
-	}
-
-	current_pages -= nr_pages;
-
-	wakeup(balloon_process);
-
-	return pages;
-}
-
-void 
-balloon_dealloc_empty_page_range(vm_page_t page, unsigned long nr_pages)
-{
-	unsigned long i;
-
-	for (i = 0; i < nr_pages; i++)
-		balloon_append(page + i);
-
-	wakeup(balloon_process);
+	mtx_unlock(&balloon_mutex);
 }
-#endif

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 16:37:49 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 3B9EDFDB;
 Fri, 15 Nov 2013 16:37:49 +0000 (UTC)
Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1])
 (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 15EF3255F;
 Fri, 15 Nov 2013 16:37:49 +0000 (UTC)
Received: from jhbbsd.localnet (unknown [209.249.190.124])
 by bigwig.baldwin.cx (Postfix) with ESMTPSA id 1FB6FB9A3;
 Fri, 15 Nov 2013 11:37:48 -0500 (EST)
From: John Baldwin <jhb@freebsd.org>
To: "Justin T. Gibbs" <gibbs@freebsd.org>
Subject: Re: svn commit: r258176 - in head/sys: amd64/amd64 i386/i386
Date: Fri, 15 Nov 2013 11:37:33 -0500
User-Agent: KMail/1.13.5 (FreeBSD/8.4-CBSD-20130906; KDE/4.5.5; amd64; ; )
References: <201311151605.rAFG5uUl075789@svn.freebsd.org>
In-Reply-To: <201311151605.rAFG5uUl075789@svn.freebsd.org>
MIME-Version: 1.0
Content-Type: Text/Plain;
  charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Message-Id: <201311151137.33459.jhb@freebsd.org>
X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7
 (bigwig.baldwin.cx); Fri, 15 Nov 2013 11:37:48 -0500 (EST)
Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org,
 src-committers@freebsd.org
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 16:37:49 -0000

On Friday, November 15, 2013 11:05:56 am Justin T. Gibbs wrote:
> Author: gibbs
> Date: Fri Nov 15 16:05:55 2013
> New Revision: 258176
> URL: http://svnweb.freebsd.org/changeset/base/258176
>=20
> Log:
>   Fix accounting for hw.realmem on the i386 and amd64 platforms.
>  =20
>   sys/i386/i386/machdep.c:
>   sys/amd64/amd64/machdep.c:
>   	The value reported by FreeBSD as "real memory" when booting
>   	doesn't match what is later reported by sysctl as hw.realmem.
>   	This is due to the fact that the value printed during the
>   	boot process is fetched from smbios data (when possible),
>   	and accounts for holes in physical memory. On the other
>   	hand, the value of hw.realmem is unconditionally set to be
>   	one larger than the highest page of the physical address
>   	space.
>  =20
>   	Fix this by setting hw.realmem to the same value printed
>   	during boot, this makes hw.realmem honour it's name and
>   	account properly for physical memory present in the system.
>  =20
>   Submitted by:	Roger Pau Monn=C3=A9
>   Reviewed by:	gibbs

Reviewed by me as well FWIW.

=2D-=20
John Baldwin

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 18:44:25 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id DF13DD78;
 Fri, 15 Nov 2013 18:44:25 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id CF5212D74;
 Fri, 15 Nov 2013 18:44:25 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAFIiPFb031445;
 Fri, 15 Nov 2013 18:44:25 GMT (envelope-from sbruno@svn.freebsd.org)
Received: (from sbruno@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAFIiPq0031444;
 Fri, 15 Nov 2013 18:44:25 GMT (envelope-from sbruno@svn.freebsd.org)
Message-Id: <201311151844.rAFIiPq0031444@svn.freebsd.org>
From: Sean Bruno <sbruno@FreeBSD.org>
Date: Fri, 15 Nov 2013 18:44:25 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258179 - head/contrib/gcc
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 18:44:25 -0000

Author: sbruno
Date: Fri Nov 15 18:44:25 2013
New Revision: 258179
URL: http://svnweb.freebsd.org/changeset/base/258179

Log:
  Merge in gcc svn r120505 to include definition of TREE_OVERFLOW_P:
  
  http://gcc.gnu.org/viewcvs/gcc/trunk/gcc/tree.h?revision=120505&view=markup
  
  This repairs build breakage for non x86 arch's that use gcc to build
  intruduced at svn R258157

Modified:
  head/contrib/gcc/tree.h

Modified: head/contrib/gcc/tree.h
==============================================================================
--- head/contrib/gcc/tree.h	Fri Nov 15 16:35:28 2013	(r258178)
+++ head/contrib/gcc/tree.h	Fri Nov 15 18:44:25 2013	(r258179)
@@ -1084,6 +1084,11 @@ extern void omp_clause_range_check_faile
 
 #define TREE_OVERFLOW(NODE) (CST_CHECK (NODE)->common.public_flag)
 
+/* TREE_OVERFLOW can only be true for EXPR of CONSTANT_CLASS_P. */
+
+#define TREE_OVERFLOW_P(EXPR) \
+  (CONSTANT_CLASS_P (EXPR) && TREE_OVERFLOW (EXPR))
+
 /* In a VAR_DECL, FUNCTION_DECL, NAMESPACE_DECL or TYPE_DECL,
    nonzero means name is to be accessible from outside this module.
    In an IDENTIFIER_NODE, nonzero means an external declaration

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 19:01:30 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 236A96C1;
 Fri, 15 Nov 2013 19:01:30 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 133C62EA0;
 Fri, 15 Nov 2013 19:01:30 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAFJ1TjZ038010;
 Fri, 15 Nov 2013 19:01:29 GMT (envelope-from scottl@svn.freebsd.org)
Received: (from scottl@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAFJ1TPI038008;
 Fri, 15 Nov 2013 19:01:29 GMT (envelope-from scottl@svn.freebsd.org)
Message-Id: <201311151901.rAFJ1TPI038008@svn.freebsd.org>
From: Scott Long <scottl@FreeBSD.org>
Date: Fri, 15 Nov 2013 19:01:29 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-svnadmin@freebsd.org
Subject: svn commit: r258180 - svnadmin/conf
X-SVN-Group: svnadmin
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 19:01:30 -0000

Author: scottl
Date: Fri Nov 15 19:01:29 2013
New Revision: 258180
URL: http://svnweb.freebsd.org/changeset/base/258180

Log:
  Welcome Alistair Crooks to FreeBSD.  Alistair has been a long-time figure in
  the NetBSD community, and is joining FreeBSD to share the work he's done at
  Netflix.  Max Yevemenkin and I will be his mentors
  
  Approved by: core

Modified:
  svnadmin/conf/access
  svnadmin/conf/mentors

Modified: svnadmin/conf/access
==============================================================================
--- svnadmin/conf/access	Fri Nov 15 18:44:25 2013	(r258179)
+++ svnadmin/conf/access	Fri Nov 15 19:01:29 2013	(r258180)
@@ -21,6 +21,7 @@ ache
 achim
 adrian
 ae
+agc
 akiyama
 alc
 alfred

Modified: svnadmin/conf/mentors
==============================================================================
--- svnadmin/conf/mentors	Fri Nov 15 18:44:25 2013	(r258179)
+++ svnadmin/conf/mentors	Fri Nov 15 19:01:29 2013	(r258180)
@@ -11,6 +11,7 @@
 
 # Mentee	Mentor		Optional comment
 achim		scottl		Co-mentor: emaste
+agc		scottl		Co-mentor: emax
 asomers		ken		Co-mentor: gibbs, will
 benl		philip		Co-mentor: simon
 carl		jimharris

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 19:14:13 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 3E3CBAEF
 for <svn-src-all@freebsd.org>; Fri, 15 Nov 2013 19:14:13 +0000 (UTC)
Received: from nm7.bullet.mail.bf1.yahoo.com (nm7.bullet.mail.bf1.yahoo.com
 [98.139.212.166])
 (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id BC3D32F4D
 for <svn-src-all@freebsd.org>; Fri, 15 Nov 2013 19:14:12 +0000 (UTC)
Received: from [98.139.215.143] by nm7.bullet.mail.bf1.yahoo.com with NNFMP;
 15 Nov 2013 19:14:04 -0000
Received: from [98.139.211.160] by tm14.bullet.mail.bf1.yahoo.com with NNFMP;
 15 Nov 2013 19:14:04 -0000
Received: from [127.0.0.1] by smtp217.mail.bf1.yahoo.com with NNFMP;
 15 Nov 2013 19:14:04 -0000
X-Yahoo-Newman-Id: 789293.48223.bm@smtp217.mail.bf1.yahoo.com
X-Yahoo-Newman-Property: ymail-3
X-YMail-OSG: tHqjTK4VM1lwus.7SDT5tBEZuLeP.vVsXP4D2kj9YgkSgTg
 JtbOIF5FvQIv3MknzJ8dzHaA5lOugHGWyp1vPm7hXUkoVEnU0kTkB0lguNEr
 JtadHzORBRkMUbHnne80IeK0IcANsmtQYD37TnGkvtLr5241Xv9MKLuOJLpr
 wMkgFVlZ0RmPVwIdfg5Jw7qtNzefdkROF2_IOdW3e10KirUPiugFcDwNtgUI
 z0VaZJ5feoXW162UGOIxtHuZ.wARE2jpaamwbwBFpPt7cdfjsc_YcneTbAhl
 A2EJ6p6.YgsSPE0PPf89RZORHVWNXqaMCw2140AcylhKm6Pu8x4SO4l5HlVx
 cPYN3G9eQQC949.gdgDvdcMbcKzna0ylxt8hp1x5OA1xHBcx91Ztn1GxZDJC
 8dzUxLt.2oeN1pllcXaNZxIYro3i81xFn9WyVcFmybSoF1jcmmblaT9X0DhH
 y6fHtKfmspcFfWVld9PsnFyWgiqj0WZ66vJbr64jn7CHy77i9lj.D.50ExsX
 ndpuypgBlkohXs.8Htw9Q9H6mJdEf96kxuTLhlYX.ES9T4b72gc30Vwb4__l
 O02VPxwaFryjb81LKux8stcGQk9.I0q4LjbOIXpdmINNqkjWoxGZ5QthBxon
 bHpICVtROKoE8v8HhalQO8x97rZ0RJz95Vm2AQ__M5lBy_Xx26PwGUuUwMZ4
 bCbBxNsyy75s6hSFekIo7wFWanBSzUJ6KSeBE_5dHaKFHQMUY.s7ZxqZ7YDh
 lmZfurwDUJzx_VUzkvG5tXOZCgQ6lb2GX3lXnoVJeprohegk9e15waAil.h_
 mVB6RZpZySUXuzWKN3h2KyvFSPAgrliySTx1BgdE4NAiIdckV_Zw5.kxrNtD
 s122F_b6gg3.NextCtbdQH4PsbWZQ092L
X-Yahoo-SMTP: xcjD0guswBAZaPPIbxpWwLcp9Unf
X-Rocket-Received: from [192.168.0.102] (pfg@190.157.126.109 with )
 by smtp217.mail.bf1.yahoo.com with SMTP; 15 Nov 2013 11:14:04 -0800 PST
Message-ID: <52867279.3080203@FreeBSD.org>
Date: Fri, 15 Nov 2013 14:14:01 -0500
From: Pedro Giffuni <pfg@FreeBSD.org>
User-Agent: Mozilla/5.0 (X11; FreeBSD amd64;
 rv:24.0) Gecko/20100101 Thunderbird/24.1.0
MIME-Version: 1.0
To: Sean Bruno <sbruno@FreeBSD.org>, src-committers@freebsd.org, 
 svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject: Re: svn commit: r258179 - head/contrib/gcc
References: <201311151844.rAFIiPq0031444@svn.freebsd.org>
In-Reply-To: <201311151844.rAFIiPq0031444@svn.freebsd.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 19:14:13 -0000

On 15.11.2013 13:44, Sean Bruno wrote:
> Author: sbruno
> Date: Fri Nov 15 18:44:25 2013
> New Revision: 258179
> URL: http://svnweb.freebsd.org/changeset/base/258179
>
> Log:
>    Merge in gcc svn r120505 to include definition of TREE_OVERFLOW_P:
>    
>    http://gcc.gnu.org/viewcvs/gcc/trunk/gcc/tree.h?revision=120505&view=markup
>    
>    This repairs build breakage for non x86 arch's that use gcc to build
>    intruduced at svn R258157
>

Pointyhat to me!

Ugh.. it is strange ... I didn't notice it in my first build and I am 
using gcc
to build. I rebuilt again and I just noticed it but you were faster.

FWIW, I have a *bunch* of gcc fixes/updates from Google:

https://android.googlesource.com/toolchain/gcc/+/honeycomb/gcc-4.2.1/README.google

I will have to sort this out better :(.

Pedro.




From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 19:55:37 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 551F497A;
 Fri, 15 Nov 2013 19:55:37 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 441F1219B;
 Fri, 15 Nov 2013 19:55:37 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAFJtbo1055270;
 Fri, 15 Nov 2013 19:55:37 GMT (envelope-from pjd@svn.freebsd.org)
Received: (from pjd@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAFJtanx055262;
 Fri, 15 Nov 2013 19:55:36 GMT (envelope-from pjd@svn.freebsd.org)
Message-Id: <201311151955.rAFJtanx055262@svn.freebsd.org>
From: Pawel Jakub Dawidek <pjd@FreeBSD.org>
Date: Fri, 15 Nov 2013 19:55:36 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258181 - in head: sys/kern sys/sys usr.bin/procstat
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 19:55:37 -0000

Author: pjd
Date: Fri Nov 15 19:55:35 2013
New Revision: 258181
URL: http://svnweb.freebsd.org/changeset/base/258181

Log:
  Replace CAP_POLL_EVENT and CAP_POST_EVENT capability rights (which I had
  a very hard time to fully understand) with much more intuitive rights:
  
  	CAP_EVENT - when set on descriptor, the descriptor can be monitored
  		with syscalls like select(2), poll(2), kevent(2).
  
  	CAP_KQUEUE_EVENT - When set on a kqueue descriptor, the kevent(2)
  		syscall can be called on this kqueue to with the eventlist
  		argument set to non-NULL value; in other words the given
  		kqueue descriptor can be used to monitor other descriptors.
  	CAP_KQUEUE_CHANGE - When set on a kqueue descriptor, the kevent(2)
  		syscall can be called on this kqueue to with the changelist
  		argument set to non-NULL value; in other words it allows to
  		modify events monitored with the given kqueue descriptor.
  
  Add alias CAP_KQUEUE, which allows for both CAP_KQUEUE_EVENT and
  CAP_KQUEUE_CHANGE.
  
  Add backward compatibility define CAP_POLL_EVENT which is equal to CAP_EVENT.
  
  Sponsored by:	The FreeBSD Foundation
  MFC after:	3 days

Modified:
  head/sys/kern/kern_event.c
  head/sys/kern/sys_generic.c
  head/sys/kern/uipc_mqueue.c
  head/sys/sys/capability.h
  head/usr.bin/procstat/procstat_files.c

Modified: head/sys/kern/kern_event.c
==============================================================================
--- head/sys/kern/kern_event.c	Fri Nov 15 19:01:29 2013	(r258180)
+++ head/sys/kern/kern_event.c	Fri Nov 15 19:55:35 2013	(r258181)
@@ -855,10 +855,17 @@ kern_kevent(struct thread *td, int fd, i
 	cap_rights_t rights;
 	int i, n, nerrors, error;
 
-	error = fget(td, fd, cap_rights_init(&rights, CAP_POST_EVENT), &fp);
+	cap_rights_init(&rights);
+	if (nchanges > 0)
+		cap_rights_set(&rights, CAP_KQUEUE_CHANGE);
+	if (nevents > 0)
+		cap_rights_set(&rights, CAP_KQUEUE_EVENT);
+	error = fget(td, fd, &rights, &fp);
 	if (error != 0)
 		return (error);
-	if ((error = kqueue_acquire(fp, &kq)) != 0)
+
+	error = kqueue_acquire(fp, &kq);
+	if (error != 0)
 		goto done_norel;
 
 	nerrors = 0;
@@ -1015,7 +1022,7 @@ findkn:
 	if (fops->f_isfd) {
 		KASSERT(td != NULL, ("td is NULL"));
 		error = fget(td, kev->ident,
-		    cap_rights_init(&rights, CAP_POLL_EVENT), &fp);
+		    cap_rights_init(&rights, CAP_EVENT), &fp);
 		if (error)
 			goto done;
 
@@ -2301,7 +2308,7 @@ kqfd_register(int fd, struct kevent *kev
 	cap_rights_t rights;
 	int error;
 
-	error = fget(td, fd, cap_rights_init(&rights, CAP_POST_EVENT), &fp);
+	error = fget(td, fd, cap_rights_init(&rights, CAP_KQUEUE_CHANGE), &fp);
 	if (error != 0)
 		return (error);
 	if ((error = kqueue_acquire(fp, &kq)) != 0)

Modified: head/sys/kern/sys_generic.c
==============================================================================
--- head/sys/kern/sys_generic.c	Fri Nov 15 19:01:29 2013	(r258180)
+++ head/sys/kern/sys_generic.c	Fri Nov 15 19:55:35 2013	(r258181)
@@ -1195,8 +1195,9 @@ getselfd_cap(struct filedesc *fdp, int f
 {
 	cap_rights_t rights;
 
-	return (fget_unlocked(fdp, fd, cap_rights_init(&rights, CAP_POLL_EVENT),
-	    0, fpp, NULL));
+	cap_rights_init(&rights, CAP_EVENT);
+
+	return (fget_unlocked(fdp, fd, &rights, 0, fpp, NULL));
 }
 
 /*
@@ -1392,7 +1393,7 @@ pollrescan(struct thread *td)
 #ifdef CAPABILITIES
 		if (fp == NULL ||
 		    cap_check(cap_rights(fdp, fd->fd),
-		    cap_rights_init(&rights, CAP_POLL_EVENT)) != 0)
+		    cap_rights_init(&rights, CAP_EVENT)) != 0)
 #else
 		if (fp == NULL)
 #endif
@@ -1467,7 +1468,7 @@ pollscan(td, fds, nfd)
 #ifdef CAPABILITIES
 			if (fp == NULL ||
 			    cap_check(cap_rights(fdp, fds->fd),
-			    cap_rights_init(&rights, CAP_POLL_EVENT)) != 0)
+			    cap_rights_init(&rights, CAP_EVENT)) != 0)
 #else
 			if (fp == NULL)
 #endif

Modified: head/sys/kern/uipc_mqueue.c
==============================================================================
--- head/sys/kern/uipc_mqueue.c	Fri Nov 15 19:01:29 2013	(r258180)
+++ head/sys/kern/uipc_mqueue.c	Fri Nov 15 19:55:35 2013	(r258181)
@@ -2119,7 +2119,7 @@ getmq(struct thread *td, int fd, struct 
 {
 	cap_rights_t rights;
 
-	return _getmq(td, fd, cap_rights_init(&rights, CAP_POLL_EVENT), fget,
+	return _getmq(td, fd, cap_rights_init(&rights, CAP_EVENT), fget,
 	    fpp, ppn, pmq);
 }
 
@@ -2282,7 +2282,7 @@ again:
 	}
 #ifdef CAPABILITIES
 	error = cap_check(cap_rights(fdp, mqd),
-	    cap_rights_init(&rights, CAP_POLL_EVENT));
+	    cap_rights_init(&rights, CAP_EVENT));
 	if (error) {
 		FILEDESC_SUNLOCK(fdp);
 		goto out;

Modified: head/sys/sys/capability.h
==============================================================================
--- head/sys/sys/capability.h	Fri Nov 15 19:01:29 2013	(r258180)
+++ head/sys/sys/capability.h	Fri Nov 15 19:55:35 2013	(r258181)
@@ -226,9 +226,10 @@
 #define	CAP_SEM_POST		CAPRIGHT(1, 0x0000000000000008ULL)
 #define	CAP_SEM_WAIT		CAPRIGHT(1, 0x0000000000000010ULL)
 
-/* kqueue events. */
-#define	CAP_POLL_EVENT		CAPRIGHT(1, 0x0000000000000020ULL)
-#define	CAP_POST_EVENT		CAPRIGHT(1, 0x0000000000000040ULL)
+/* Allows select(2) and poll(2) on descriptor. */
+#define	CAP_EVENT		CAPRIGHT(1, 0x0000000000000020ULL)
+/* Allows for kevent(2) on kqueue descriptor with eventlist != NULL. */
+#define	CAP_KQUEUE_EVENT	CAPRIGHT(1, 0x0000000000000040ULL)
 
 /* Strange and powerful rights that should not be given lightly. */
 /* Allows for ioctl(2). */
@@ -263,14 +264,22 @@
 /* Allows for acl_set_fd(3) and acl_set_fd_np(3). */
 #define	CAP_ACL_SET		CAPRIGHT(1, 0x0000000000080000ULL)
 
+/* Allows for kevent(2) on kqueue descriptor with changelist != NULL. */
+#define	CAP_KQUEUE_CHANGE	CAPRIGHT(1, 0x0000000000100000ULL)
+
+#define	CAP_KQUEUE		(CAP_KQUEUE_EVENT | CAP_KQUEUE_CHANGE)
+
 /* All used bits for index 1. */
-#define	CAP_ALL1		CAPRIGHT(1, 0x00000000000FFFFFULL)
+#define	CAP_ALL1		CAPRIGHT(1, 0x00000000001FFFFFULL)
 
 /* Available bits for index 1. */
-#define	CAP_UNUSED1_21		CAPRIGHT(1, 0x0000000000100000ULL)
+#define	CAP_UNUSED1_22		CAPRIGHT(1, 0x0000000000200000ULL)
 /* ... */
 #define	CAP_UNUSED1_57		CAPRIGHT(1, 0x0100000000000000ULL)
 
+/* Backward compatibility. */
+#define	CAP_POLL_EVENT		CAP_EVENT
+
 #define	CAP_ALL(rights)		do {					\
 	(rights)->cr_rights[0] =					\
 	    ((uint64_t)CAP_RIGHTS_VERSION << 62) | CAP_ALL0;		\

Modified: head/usr.bin/procstat/procstat_files.c
==============================================================================
--- head/usr.bin/procstat/procstat_files.c	Fri Nov 15 19:01:29 2013	(r258180)
+++ head/usr.bin/procstat/procstat_files.c	Fri Nov 15 19:55:35 2013	(r258181)
@@ -203,8 +203,9 @@ static struct cap_desc {
 	{ CAP_SEM_WAIT,		"sw" },
 
 	/* Event monitoring and posting. */
-	{ CAP_POLL_EVENT,	"po" },
-	{ CAP_POST_EVENT,	"ev" },
+	{ CAP_EVENT,		"ev" },
+	{ CAP_KQUEUE_EVENT,	"ke" },
+	{ CAP_KQUEUE_CHANGE,	"kc" },
 
 	/* Strange and powerful rights that should not be given lightly. */
 	{ CAP_IOCTL,		"io" },

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 19:56:29 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 5905DAC8;
 Fri, 15 Nov 2013 19:56:29 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 489E521A4;
 Fri, 15 Nov 2013 19:56:29 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAFJuTlu055402;
 Fri, 15 Nov 2013 19:56:29 GMT (envelope-from pjd@svn.freebsd.org)
Received: (from pjd@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAFJuTQ4055401;
 Fri, 15 Nov 2013 19:56:29 GMT (envelope-from pjd@svn.freebsd.org)
Message-Id: <201311151956.rAFJuTQ4055401@svn.freebsd.org>
From: Pawel Jakub Dawidek <pjd@FreeBSD.org>
Date: Fri, 15 Nov 2013 19:56:29 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258182 - head/share/man/man4
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 19:56:29 -0000

Author: pjd
Date: Fri Nov 15 19:56:28 2013
New Revision: 258182
URL: http://svnweb.freebsd.org/changeset/base/258182

Log:
  Correct right names.
  
  Sponsored by:	The FreeBSD Foundation
  MFC after:	3 days

Modified:
  head/share/man/man4/rights.4

Modified: head/share/man/man4/rights.4
==============================================================================
--- head/share/man/man4/rights.4	Fri Nov 15 19:55:35 2013	(r258181)
+++ head/share/man/man4/rights.4	Fri Nov 15 19:56:28 2013	(r258182)
@@ -305,7 +305,7 @@ An alias to
 .Dv CAP_KQUEUE_CHANGE
 and
 .Dv CAP_KQUEUE_EVENT .
-.It Dv CAP_KEVENT_CHANGE
+.It Dv CAP_KQUEUE_CHANGE
 Permit
 .Xr kevent 2
 on a
@@ -313,7 +313,7 @@ on a
 descriptor that modifies list of monitored events (the
 .Fa changelist
 argument is non-NULL).
-.It Dv CAP_KEVENT_EVENT
+.It Dv CAP_KQUEUE_EVENT
 Permit
 .Xr kevent 2
 on a

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 19:58:26 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id BB181C47;
 Fri, 15 Nov 2013 19:58:26 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 8FED221B5;
 Fri, 15 Nov 2013 19:58:26 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAFJwQEC055649;
 Fri, 15 Nov 2013 19:58:26 GMT (envelope-from jhb@svn.freebsd.org)
Received: (from jhb@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAFJwQHL055647;
 Fri, 15 Nov 2013 19:58:26 GMT (envelope-from jhb@svn.freebsd.org)
Message-Id: <201311151958.rAFJwQHL055647@svn.freebsd.org>
From: John Baldwin <jhb@FreeBSD.org>
Date: Fri, 15 Nov 2013 19:58:26 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject: svn commit: r258183 - stable/9/sys/kern
X-SVN-Group: stable-9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 19:58:26 -0000

Author: jhb
Date: Fri Nov 15 19:58:26 2013
New Revision: 258183
URL: http://svnweb.freebsd.org/changeset/base/258183

Log:
  MFC 256274:
  Ignore attempts to set the nmbcluster sysctls to their current value
  rather than failing with an error.

Modified:
  stable/9/sys/kern/kern_mbuf.c
Directory Properties:
  stable/9/sys/   (props changed)

Modified: stable/9/sys/kern/kern_mbuf.c
==============================================================================
--- stable/9/sys/kern/kern_mbuf.c	Fri Nov 15 19:56:28 2013	(r258182)
+++ stable/9/sys/kern/kern_mbuf.c	Fri Nov 15 19:58:26 2013	(r258183)
@@ -163,7 +163,7 @@ sysctl_nmbclusters(SYSCTL_HANDLER_ARGS)
 
 	newnmbclusters = nmbclusters;
 	error = sysctl_handle_int(oidp, &newnmbclusters, 0, req);
-	if (error == 0 && req->newptr) {
+	if (error == 0 && req->newptr && newnmbclusters != nmbclusters) {
 		if (newnmbclusters > nmbclusters &&
 		    nmbufs >= nmbclusters + nmbjumbop + nmbjumbo9 + nmbjumbo16) {
 			nmbclusters = newnmbclusters;
@@ -185,7 +185,7 @@ sysctl_nmbjumbop(SYSCTL_HANDLER_ARGS)
 
 	newnmbjumbop = nmbjumbop;
 	error = sysctl_handle_int(oidp, &newnmbjumbop, 0, req);
-	if (error == 0 && req->newptr) {
+	if (error == 0 && req->newptr && newnmbjumbop != nmbjumbop) {
 		if (newnmbjumbop > nmbjumbop &&
 		    nmbufs >= nmbclusters + nmbjumbop + nmbjumbo9 + nmbjumbo16) {
 			nmbjumbop = newnmbjumbop;
@@ -206,7 +206,7 @@ sysctl_nmbjumbo9(SYSCTL_HANDLER_ARGS)
 
 	newnmbjumbo9 = nmbjumbo9;
 	error = sysctl_handle_int(oidp, &newnmbjumbo9, 0, req);
-	if (error == 0 && req->newptr) {
+	if (error == 0 && req->newptr && newnmbjumbo9 != nmbjumbo9) {
 		if (newnmbjumbo9 > nmbjumbo9 &&
 		    nmbufs >= nmbclusters + nmbjumbop + nmbjumbo9 + nmbjumbo16) {
 			nmbjumbo9 = newnmbjumbo9;
@@ -227,7 +227,7 @@ sysctl_nmbjumbo16(SYSCTL_HANDLER_ARGS)
 
 	newnmbjumbo16 = nmbjumbo16;
 	error = sysctl_handle_int(oidp, &newnmbjumbo16, 0, req);
-	if (error == 0 && req->newptr) {
+	if (error == 0 && req->newptr && newnmbjumbo16 != nmbjumbo16) {
 		if (newnmbjumbo16 > nmbjumbo16 &&
 		    nmbufs >= nmbclusters + nmbjumbop + nmbjumbo9 + nmbjumbo16) {
 			nmbjumbo16 = newnmbjumbo16;
@@ -248,7 +248,7 @@ sysctl_nmbufs(SYSCTL_HANDLER_ARGS)
 
 	newnmbufs = nmbufs;
 	error = sysctl_handle_int(oidp, &newnmbufs, 0, req);
-	if (error == 0 && req->newptr) {
+	if (error == 0 && req->newptr && newnmbufs != nmbufs) {
 		if (newnmbufs > nmbufs) {
 			nmbufs = newnmbufs;
 			nmbufs = uma_zone_set_max(zone_mbuf, nmbufs);

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 19:58:31 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id B9E19C48;
 Fri, 15 Nov 2013 19:58:31 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 8FE9021B6;
 Fri, 15 Nov 2013 19:58:31 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAFJwVQl055691;
 Fri, 15 Nov 2013 19:58:31 GMT (envelope-from jhb@svn.freebsd.org)
Received: (from jhb@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAFJwVeb055690;
 Fri, 15 Nov 2013 19:58:31 GMT (envelope-from jhb@svn.freebsd.org)
Message-Id: <201311151958.rAFJwVeb055690@svn.freebsd.org>
From: John Baldwin <jhb@FreeBSD.org>
Date: Fri, 15 Nov 2013 19:58:31 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org
Subject: svn commit: r258184 - stable/8/sys/kern
X-SVN-Group: stable-8
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 19:58:31 -0000

Author: jhb
Date: Fri Nov 15 19:58:31 2013
New Revision: 258184
URL: http://svnweb.freebsd.org/changeset/base/258184

Log:
  MFC 256274:
  Ignore attempts to set the nmbcluster sysctls to their current value
  rather than failing with an error.

Modified:
  stable/8/sys/kern/kern_mbuf.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/kern/   (props changed)

Modified: stable/8/sys/kern/kern_mbuf.c
==============================================================================
--- stable/8/sys/kern/kern_mbuf.c	Fri Nov 15 19:58:26 2013	(r258183)
+++ stable/8/sys/kern/kern_mbuf.c	Fri Nov 15 19:58:31 2013	(r258184)
@@ -128,7 +128,7 @@ sysctl_nmbclusters(SYSCTL_HANDLER_ARGS)
 
 	newnmbclusters = nmbclusters;
 	error = sysctl_handle_int(oidp, &newnmbclusters, 0, req); 
-	if (error == 0 && req->newptr) {
+	if (error == 0 && req->newptr && newnmbclusters != nmbclusters) {
 		if (newnmbclusters > nmbclusters) {
 			nmbclusters = newnmbclusters;
 			uma_zone_set_max(zone_clust, nmbclusters);
@@ -149,7 +149,7 @@ sysctl_nmbjumbop(SYSCTL_HANDLER_ARGS)
 
 	newnmbjumbop = nmbjumbop;
 	error = sysctl_handle_int(oidp, &newnmbjumbop, 0, req); 
-	if (error == 0 && req->newptr) {
+	if (error == 0 && req->newptr && newnmbjumbop != nmbjumbop) {
 		if (newnmbjumbop> nmbjumbop) {
 			nmbjumbop = newnmbjumbop;
 			uma_zone_set_max(zone_jumbop, nmbjumbop);
@@ -170,7 +170,7 @@ sysctl_nmbjumbo9(SYSCTL_HANDLER_ARGS)
 
 	newnmbjumbo9 = nmbjumbo9;
 	error = sysctl_handle_int(oidp, &newnmbjumbo9, 0, req); 
-	if (error == 0 && req->newptr) {
+	if (error == 0 && req->newptr && newnmbjumbo9 != nmbjumbo9) {
 		if (newnmbjumbo9> nmbjumbo9) {
 			nmbjumbo9 = newnmbjumbo9;
 			uma_zone_set_max(zone_jumbo9, nmbjumbo9);
@@ -190,7 +190,7 @@ sysctl_nmbjumbo16(SYSCTL_HANDLER_ARGS)
 
 	newnmbjumbo16 = nmbjumbo16;
 	error = sysctl_handle_int(oidp, &newnmbjumbo16, 0, req); 
-	if (error == 0 && req->newptr) {
+	if (error == 0 && req->newptr && newnmbjumbo16 != nmbjumbo16) {
 		if (newnmbjumbo16> nmbjumbo16) {
 			nmbjumbo16 = newnmbjumbo16;
 			uma_zone_set_max(zone_jumbo16, nmbjumbo16);

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 20:01:08 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 6876DEF7;
 Fri, 15 Nov 2013 20:01:08 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 48E462206;
 Fri, 15 Nov 2013 20:01:08 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAFK18s6058382;
 Fri, 15 Nov 2013 20:01:08 GMT (envelope-from jhb@svn.freebsd.org)
Received: (from jhb@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAFK17Yk058379;
 Fri, 15 Nov 2013 20:01:07 GMT (envelope-from jhb@svn.freebsd.org)
Message-Id: <201311152001.rAFK17Yk058379@svn.freebsd.org>
From: John Baldwin <jhb@FreeBSD.org>
Date: Fri, 15 Nov 2013 20:01:07 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258185 - in head: tools/regression/usr.sbin/etcupdate
 usr.sbin/etcupdate
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 20:01:08 -0000

Author: jhb
Date: Fri Nov 15 20:01:07 2013
New Revision: 258185
URL: http://svnweb.freebsd.org/changeset/base/258185

Log:
  Fix a couple of issues with -F:
  - Fix ALWAYS_INSTALL to take precedence over the FreeBSD ID checks.
    In particular, always install a file where the only change was
    the FreeBSD ID even if -F is specified.
  - Fix the -F option in the case that the only upstream change is a
    change in the FreeBSD ID and the local file is removed.
  - Add tests for these two cases.

Modified:
  head/tools/regression/usr.sbin/etcupdate/fbsdid.sh
  head/usr.sbin/etcupdate/etcupdate.sh

Modified: head/tools/regression/usr.sbin/etcupdate/fbsdid.sh
==============================================================================
--- head/tools/regression/usr.sbin/etcupdate/fbsdid.sh	Fri Nov 15 19:58:31 2013	(r258184)
+++ head/tools/regression/usr.sbin/etcupdate/fbsdid.sh	Fri Nov 15 20:01:07 2013	(r258185)
@@ -195,6 +195,17 @@ EOF
 
 these are some local mods to the file
 EOF
+
+	# local-remove: A file removed locally changed it's FreeBSD ID
+	# but nothing else
+	store_id $OLD/local-remove ": head/local-remove 12000 jhb "
+	store_id $NEW/local-remove ": head/local-remove 12345 jhb "
+	for i in $OLD $NEW; do
+		cat >> $i/local-remove <<EOF
+
+this is a file
+EOF
+	done
 }
 
 # $1 - relative path to file that should be missing from TEST
@@ -282,6 +293,7 @@ cat > $WORKDIR/correct.out <<EOF
   C /add
 Warnings:
   Modified regular file remains: /remove
+  Removed file changed: /local-remove
 EOF
 
 echo "Differences for regular:"
@@ -299,6 +311,7 @@ conflict /conflict 868452f666fea1c60ffb9
 file /local "" aa33e614b5e749449f230e2a2b0072eb
 conflict /local 3df93e64043c8e348fc625b93ea220f4
 file /local-already "" 0298b958a603049f45ae6a109c4f7fea
+missing /local-remove
 
 # Now test with -F.
 
@@ -329,3 +342,38 @@ file /conflict "" dc27978df125b0daeb7d9b
 conflict /conflict 868452f666fea1c60ffb918ad9ad9607
 file /local "" 3ed5a35e380c8a93fb5f599d4c052713
 file /local-already "" 0298b958a603049f45ae6a109c4f7fea
+missing /local-remove
+
+# Now test with -F and -A forcing all installs.  (-A should have
+# precedence over -F)
+
+build_trees
+
+$COMMAND -A '/*' -rF -d $WORKDIR -D $TEST > $WORKDIR/testAF.out
+
+cat > $WORKDIR/correctAF.out <<EOF
+  D /remove
+  U /already
+  U /conflict
+  U /local
+  U /local-already
+  A /local-remove
+  U /old
+  U /add
+EOF
+
+echo "Differences for -A '/*' -F:"
+diff -u -L "correct" $WORKDIR/correctAF.out -L "test" $WORKDIR/testAF.out
+
+missing /remove
+file /old "" 6a9f34f109d94406a4de3bc5d72de259
+noconflict /old
+file /already "" 21f4eca3aacc702c49878c8da7afd3d0
+noconflict /already
+file /add "" 0208bd647111fedf6318511712ab9e97
+noconflict /add
+file /conflict "" 75ee141c4136beaf14e39de92efa84e4
+noconflict /conflict
+file /local "" 6a8fc5c2755b7a49015089f5e1dbe092
+file /local-already "" 49045f8b51542dd634655301cd296f66
+file /local-remove "" 5c38322efed4014797d7127f5c652d9d

Modified: head/usr.sbin/etcupdate/etcupdate.sh
==============================================================================
--- head/usr.sbin/etcupdate/etcupdate.sh	Fri Nov 15 19:58:31 2013	(r258184)
+++ head/usr.sbin/etcupdate/etcupdate.sh	Fri Nov 15 20:01:07 2013	(r258185)
@@ -1026,16 +1026,6 @@ handle_modified_file()
 		fi
 	fi
 
-	# If the only change in the new file versus the old file is a
-	# change in the FreeBSD ID string and -F is specified, just
-	# update the FreeBSD ID string in the local file.
-	if [ -n "$FREEBSD_ID" -a $cmp -eq $COMPARE_DIFFFILES ] && \
-	    fbsdid_only $OLDTREE/$file $NEWTREE/$file; then
-		if update_freebsdid $file; then
-			continue
-		fi
-	fi
-
 	# If the file was removed from the dest tree, just whine.
 	if [ $newdestcmp -eq $COMPARE_ONLYFIRST ]; then
 		# If the removed file matches an ALWAYS_INSTALL glob,
@@ -1050,6 +1040,14 @@ handle_modified_file()
 			return
 		fi
 
+		# If the only change in the new file versus the old
+		# file is a change in the FreeBSD ID string and -F is
+		# specified, don't warn.
+		if [ -n "$FREEBSD_ID" -a $cmp -eq $COMPARE_DIFFFILES ] && \
+		    fbsdid_only $OLDTREE/$file $NEWTREE/$file; then
+			return
+		fi
+
 		case $cmp in
 			$COMPARE_DIFFTYPE)
 				old=`file_type $OLDTREE/$file`
@@ -1080,6 +1078,16 @@ handle_modified_file()
 		fi
 	fi
 
+	# If the only change in the new file versus the old file is a
+	# change in the FreeBSD ID string and -F is specified, just
+	# update the FreeBSD ID string in the local file.
+	if [ -n "$FREEBSD_ID" -a $cmp -eq $COMPARE_DIFFFILES ] && \
+	    fbsdid_only $OLDTREE/$file $NEWTREE/$file; then
+		if update_freebsdid $file; then
+			continue
+		fi
+	fi
+
 	# If the file changed types between the old and new trees but
 	# the files in the new and dest tree are both of the same
 	# type, treat it like an added file just comparing the new and

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 20:23:53 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 19C7F636;
 Fri, 15 Nov 2013 20:23:53 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 08CCB2303;
 Fri, 15 Nov 2013 20:23:53 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAFKNqtN065822;
 Fri, 15 Nov 2013 20:23:52 GMT (envelope-from asomers@svn.freebsd.org)
Received: (from asomers@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAFKNqhh065821;
 Fri, 15 Nov 2013 20:23:52 GMT (envelope-from asomers@svn.freebsd.org)
Message-Id: <201311152023.rAFKNqhh065821@svn.freebsd.org>
From: Alan Somers <asomers@FreeBSD.org>
Date: Fri, 15 Nov 2013 20:23:52 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject: svn commit: r258186 - stable/9/sbin/geom/class/part
X-SVN-Group: stable-9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 20:23:53 -0000

Author: asomers
Date: Fri Nov 15 20:23:52 2013
New Revision: 258186
URL: http://svnweb.freebsd.org/changeset/base/258186

Log:
  MFC 257006
  
  sbin/geom/class/part/geom_part.c
          Always validate the return of find_geomcfg().  It could be NULL, for
          example when the geom is withering.
  
  Approved by:	ken(mentor)
  Sponsored by:	Spectra Logic Corporation

Modified:
  stable/9/sbin/geom/class/part/geom_part.c
Directory Properties:
  stable/9/sbin/geom/class/part/   (props changed)

Modified: stable/9/sbin/geom/class/part/geom_part.c
==============================================================================
--- stable/9/sbin/geom/class/part/geom_part.c	Fri Nov 15 20:01:07 2013	(r258185)
+++ stable/9/sbin/geom/class/part/geom_part.c	Fri Nov 15 20:23:52 2013	(r258186)
@@ -364,7 +364,11 @@ gpart_autofill_resize(struct gctl_req *r
 	}
 
 	offset = (pp->lg_stripeoffset / pp->lg_sectorsize) % alignment;
-	last = (off_t)strtoimax(find_geomcfg(gp, "last"), NULL, 0);
+	s = find_geomcfg(gp, "last");
+	if (s == NULL)
+		errx(EXIT_FAILURE, "Final block not found for geom %s",
+		    gp->lg_name);
+	last = (off_t)strtoimax(s, NULL, 0);
 	LIST_FOREACH(pp, &gp->lg_provider, lg_provider) {
 		s = find_provcfg(pp, "index");
 		if (s == NULL)
@@ -502,8 +506,16 @@ gpart_autofill(struct gctl_req *req)
 	if (size > alignment)
 		size = ALIGNDOWN(size, alignment);
 
-	first = (off_t)strtoimax(find_geomcfg(gp, "first"), NULL, 0);
-	last = (off_t)strtoimax(find_geomcfg(gp, "last"), NULL, 0);
+	s = find_geomcfg(gp, "first");
+	if (s == NULL)
+		errx(EXIT_FAILURE, "Starting block not found for geom %s",
+		    gp->lg_name);
+	first = (off_t)strtoimax(s, NULL, 0);
+	s = find_geomcfg(gp, "last");
+	if (s == NULL)
+		errx(EXIT_FAILURE, "Final block not found for geom %s",
+		    gp->lg_name);
+	last = (off_t)strtoimax(s, NULL, 0);
 	grade = ~0ULL;
 	a_first = ALIGNUP(first + offset, alignment);
 	last = ALIGNDOWN(last + offset, alignment);
@@ -587,12 +599,22 @@ gpart_show_geom(struct ggeom *gp, const 
 	int idx, wblocks, wname, wmax;
 
 	scheme = find_geomcfg(gp, "scheme");
+	if (scheme == NULL)
+		errx(EXIT_FAILURE, "Scheme not found for geom %s", gp->lg_name);
 	s = find_geomcfg(gp, "first");
+	if (s == NULL)
+		errx(EXIT_FAILURE, "Starting block not found for geom %s",
+		    gp->lg_name);
 	first = (off_t)strtoimax(s, NULL, 0);
 	s = find_geomcfg(gp, "last");
+	if (s == NULL)
+		errx(EXIT_FAILURE, "Final block not found for geom %s",
+		    gp->lg_name);
 	last = (off_t)strtoimax(s, NULL, 0);
 	wblocks = strlen(s);
 	s = find_geomcfg(gp, "state");
+	if (s == NULL)
+		errx(EXIT_FAILURE, "State not found for geom %s", gp->lg_name);
 	if (s != NULL && *s != 'C')
 		s = NULL;
 	wmax = strlen(gp->lg_name);
@@ -748,6 +770,8 @@ gpart_backup(struct gctl_req *req, unsig
 		abort();
 	pp = LIST_FIRST(&gp->lg_consumer)->lg_provider;
 	s = find_geomcfg(gp, "last");
+	if (s == NULL)
+		abort();
 	wblocks = strlen(s);
 	wtype = 0;
 	LIST_FOREACH(pp, &gp->lg_provider, lg_provider) {
@@ -757,6 +781,8 @@ gpart_backup(struct gctl_req *req, unsig
 			wtype = i;
 	}
 	s = find_geomcfg(gp, "entries");
+	if (s == NULL)
+		abort();
 	windex = strlen(s);
 	printf("%s %s\n", scheme, s);
 	LIST_FOREACH(pp, &gp->lg_provider, lg_provider) {
@@ -1177,6 +1203,8 @@ gpart_bootcode(struct gctl_req *req, uns
 	if (gp == NULL)
 		errx(EXIT_FAILURE, "No such geom: %s.", s);
 	s = find_geomcfg(gp, "scheme");
+	if (s == NULL)
+		errx(EXIT_FAILURE, "Scheme not found for geom %s", gp->lg_name);
 	vtoc8 = 0;
 	if (strcmp(s, "VTOC8") == 0)
 		vtoc8 = 1;

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 20:26:16 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 189DD798;
 Fri, 15 Nov 2013 20:26:16 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id ED7642316;
 Fri, 15 Nov 2013 20:26:15 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAFKQFtB066152;
 Fri, 15 Nov 2013 20:26:15 GMT (envelope-from edavis@svn.freebsd.org)
Received: (from edavis@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAFKQEHs066137;
 Fri, 15 Nov 2013 20:26:14 GMT (envelope-from edavis@svn.freebsd.org)
Message-Id: <201311152026.rAFKQEHs066137@svn.freebsd.org>
From: Eric Davis <edavis@FreeBSD.org>
Date: Fri, 15 Nov 2013 20:26:14 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258187 - head/sys/dev/bxe
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 20:26:16 -0000

Author: edavis
Date: Fri Nov 15 20:26:14 2013
New Revision: 258187
URL: http://svnweb.freebsd.org/changeset/base/258187

Log:
  Fixed a tx watchdog chip reset that could occur on mostly idle links.
  Fixed various link related issues and 10GBaseT is now linking properly.
  Modified the types for the driver tunables to be consistent with the sysctl APIs.
  
  Approved by:	davidch (mentor)

Modified:
  head/sys/dev/bxe/bxe.c
  head/sys/dev/bxe/bxe.h
  head/sys/dev/bxe/bxe_elink.c
  head/sys/dev/bxe/ecore_hsi.h
  head/sys/dev/bxe/ecore_init.h
  head/sys/dev/bxe/ecore_reg.h
  head/sys/dev/bxe/ecore_sp.c
  head/sys/dev/bxe/ecore_sp.h

Modified: head/sys/dev/bxe/bxe.c
==============================================================================
--- head/sys/dev/bxe/bxe.c	Fri Nov 15 20:23:52 2013	(r258186)
+++ head/sys/dev/bxe/bxe.c	Fri Nov 15 20:26:14 2013	(r258187)
@@ -34,7 +34,7 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD$");
 
-#define BXE_DRIVER_VERSION "1.78.18"
+#define BXE_DRIVER_VERSION "1.78.75"
 
 #include "bxe.h"
 #include "ecore_sp.h"
@@ -303,70 +303,70 @@ static int load_count[2][3] = { {0} }; /
 SYSCTL_NODE(_hw, OID_AUTO, bxe, CTLFLAG_RD, 0, "bxe driver parameters");
 
 /* Debug */
-uint32_t bxe_debug = 0;
-TUNABLE_INT("hw.bxe.debug", &bxe_debug);
-SYSCTL_UINT(_hw_bxe, OID_AUTO, debug, (CTLFLAG_RDTUN),
-            &bxe_debug, 0, "Debug logging mode");
+unsigned long bxe_debug = 0;
+TUNABLE_ULONG("hw.bxe.debug", &bxe_debug);
+SYSCTL_ULONG(_hw_bxe, OID_AUTO, debug, (CTLFLAG_RDTUN),
+             &bxe_debug, 0, "Debug logging mode");
 
 /* Interrupt Mode: 0 (IRQ), 1 (MSI/IRQ), and 2 (MSI-X/MSI/IRQ) */
 static int bxe_interrupt_mode = INTR_MODE_MSIX;
 TUNABLE_INT("hw.bxe.interrupt_mode", &bxe_interrupt_mode);
-SYSCTL_UINT(_hw_bxe, OID_AUTO, interrupt_mode, CTLFLAG_RDTUN,
-            &bxe_interrupt_mode, 0, "Interrupt (MSI-X/MSI/INTx) mode");
+SYSCTL_INT(_hw_bxe, OID_AUTO, interrupt_mode, CTLFLAG_RDTUN,
+           &bxe_interrupt_mode, 0, "Interrupt (MSI-X/MSI/INTx) mode");
 
 /* Number of Queues: 0 (Auto) or 1 to 16 (fixed queue number) */
 static int bxe_queue_count = 4;
 TUNABLE_INT("hw.bxe.queue_count", &bxe_queue_count);
-SYSCTL_UINT(_hw_bxe, OID_AUTO, queue_count, CTLFLAG_RDTUN,
-            &bxe_queue_count, 0, "Multi-Queue queue count");
+SYSCTL_INT(_hw_bxe, OID_AUTO, queue_count, CTLFLAG_RDTUN,
+           &bxe_queue_count, 0, "Multi-Queue queue count");
 
 /* max number of buffers per queue (default RX_BD_USABLE) */
-static uint32_t bxe_max_rx_bufs = 0;
+static int bxe_max_rx_bufs = 0;
 TUNABLE_INT("hw.bxe.max_rx_bufs", &bxe_max_rx_bufs);
-SYSCTL_UINT(_hw_bxe, OID_AUTO, max_rx_bufs, CTLFLAG_RDTUN,
-            &bxe_max_rx_bufs, 0, "Maximum Number of Rx Buffers Per Queue");
+SYSCTL_INT(_hw_bxe, OID_AUTO, max_rx_bufs, CTLFLAG_RDTUN,
+           &bxe_max_rx_bufs, 0, "Maximum Number of Rx Buffers Per Queue");
 
 /* Host interrupt coalescing RX tick timer (usecs) */
-static uint32_t bxe_hc_rx_ticks = 25;
+static int bxe_hc_rx_ticks = 25;
 TUNABLE_INT("hw.bxe.hc_rx_ticks", &bxe_hc_rx_ticks);
-SYSCTL_UINT(_hw_bxe, OID_AUTO, hc_rx_ticks, CTLFLAG_RDTUN,
-            &bxe_hc_rx_ticks, 0, "Host Coalescing Rx ticks");
+SYSCTL_INT(_hw_bxe, OID_AUTO, hc_rx_ticks, CTLFLAG_RDTUN,
+           &bxe_hc_rx_ticks, 0, "Host Coalescing Rx ticks");
 
 /* Host interrupt coalescing TX tick timer (usecs) */
-static uint32_t bxe_hc_tx_ticks = 50;
+static int bxe_hc_tx_ticks = 50;
 TUNABLE_INT("hw.bxe.hc_tx_ticks", &bxe_hc_tx_ticks);
-SYSCTL_UINT(_hw_bxe, OID_AUTO, hc_tx_ticks, CTLFLAG_RDTUN,
-            &bxe_hc_tx_ticks, 0, "Host Coalescing Tx ticks");
+SYSCTL_INT(_hw_bxe, OID_AUTO, hc_tx_ticks, CTLFLAG_RDTUN,
+           &bxe_hc_tx_ticks, 0, "Host Coalescing Tx ticks");
 
 /* Maximum number of Rx packets to process at a time */
-static uint32_t bxe_rx_budget = 0xffffffff;
+static int bxe_rx_budget = 0xffffffff;
 TUNABLE_INT("hw.bxe.rx_budget", &bxe_rx_budget);
-SYSCTL_UINT(_hw_bxe, OID_AUTO, rx_budget, CTLFLAG_TUN,
-            &bxe_rx_budget, 0, "Rx processing budget");
+SYSCTL_INT(_hw_bxe, OID_AUTO, rx_budget, CTLFLAG_TUN,
+           &bxe_rx_budget, 0, "Rx processing budget");
 
 /* Maximum LRO aggregation size */
-static uint32_t bxe_max_aggregation_size = 0;
+static int bxe_max_aggregation_size = 0;
 TUNABLE_INT("hw.bxe.max_aggregation_size", &bxe_max_aggregation_size);
-SYSCTL_UINT(_hw_bxe, OID_AUTO, max_aggregation_size, CTLFLAG_TUN,
-            &bxe_max_aggregation_size, 0, "max aggregation size");
+SYSCTL_INT(_hw_bxe, OID_AUTO, max_aggregation_size, CTLFLAG_TUN,
+           &bxe_max_aggregation_size, 0, "max aggregation size");
 
 /* PCI MRRS: -1 (Auto), 0 (128B), 1 (256B), 2 (512B), 3 (1KB) */
 static int bxe_mrrs = -1;
 TUNABLE_INT("hw.bxe.mrrs", &bxe_mrrs);
-SYSCTL_UINT(_hw_bxe, OID_AUTO, mrrs, CTLFLAG_RDTUN,
-            &bxe_mrrs, 0, "PCIe maximum read request size");
+SYSCTL_INT(_hw_bxe, OID_AUTO, mrrs, CTLFLAG_RDTUN,
+           &bxe_mrrs, 0, "PCIe maximum read request size");
 
 /* AutoGrEEEn: 0 (hardware default), 1 (force on), 2 (force off) */
 static int bxe_autogreeen = 0;
 TUNABLE_INT("hw.bxe.autogreeen", &bxe_autogreeen);
-SYSCTL_UINT(_hw_bxe, OID_AUTO, autogreeen, CTLFLAG_RDTUN,
-            &bxe_autogreeen, 0, "AutoGrEEEn support");
+SYSCTL_INT(_hw_bxe, OID_AUTO, autogreeen, CTLFLAG_RDTUN,
+           &bxe_autogreeen, 0, "AutoGrEEEn support");
 
 /* 4-tuple RSS support for UDP: 0 (disabled), 1 (enabled) */
 static int bxe_udp_rss = 0;
 TUNABLE_INT("hw.bxe.udp_rss", &bxe_udp_rss);
-SYSCTL_UINT(_hw_bxe, OID_AUTO, udp_rss, CTLFLAG_RDTUN,
-            &bxe_udp_rss, 0, "UDP RSS support");
+SYSCTL_INT(_hw_bxe, OID_AUTO, udp_rss, CTLFLAG_RDTUN,
+           &bxe_udp_rss, 0, "UDP RSS support");
 
 
 #define STAT_NAME_LEN 32 /* no stat names below can be longer than this */
@@ -3604,10 +3604,10 @@ bxe_watchdog(struct bxe_softc    *sc,
         return (0);
     }
 
-    BXE_FP_TX_UNLOCK(fp);
-
     BLOGE(sc, "TX watchdog timeout on fp[%02d], resetting!\n", fp->index);
 
+    BXE_FP_TX_UNLOCK(fp);
+
     atomic_store_rel_long(&sc->chip_tq_flags, CHIP_TQ_REINIT);
     taskqueue_enqueue(sc->chip_tq, &sc->chip_tq_task);
 
@@ -3652,21 +3652,21 @@ bxe_txeof(struct bxe_softc    *sc,
 
     tx_bd_avail = bxe_tx_avail(sc, fp);
 
-    /* reset the watchdog timer if there are pending transmits */
-    if (tx_bd_avail >= BXE_TX_CLEANUP_THRESHOLD) {
+    if (tx_bd_avail < BXE_TX_CLEANUP_THRESHOLD) {
+        ifp->if_drv_flags |= IFF_DRV_OACTIVE;
+    } else {
         ifp->if_drv_flags &= ~IFF_DRV_OACTIVE;
+    }
 
-        if (tx_bd_avail >= (TX_BD_USABLE - 1)) {
-            /* clear watchdog if the tx chain is empty */
-            fp->watchdog_timer = 0;
-            return (FALSE);
-        }
-
-        /* reset watchdog if there are pending transmits */
+    if (fp->tx_pkt_prod != fp->tx_pkt_cons) {
+        /* reset the watchdog timer if there are pending transmits */
         fp->watchdog_timer = BXE_TX_TIMEOUT;
+        return (TRUE);
+    } else {
+        /* clear watchdog when there are no pending transmits */
+        fp->watchdog_timer = 0;
+        return (FALSE);
     }
-
-    return (TRUE);
 }
 
 static void
@@ -5879,13 +5879,11 @@ bxe_tx_start_locked(struct bxe_softc    
 
         /* handle any completions if we're running low */
         if (tx_bd_avail < BXE_TX_CLEANUP_THRESHOLD) {
+            /* bxe_txeof will set IFF_DRV_OACTIVE appropriately */
             bxe_txeof(sc, fp);
-        }
-
-        /* close TX if we're still running low */
-        if (tx_bd_avail < BXE_TX_CLEANUP_THRESHOLD) {
-            ifp->if_drv_flags &= ~IFF_DRV_OACTIVE;
-            break;
+            if (ifp->if_drv_flags & IFF_DRV_OACTIVE) {
+                break;
+            }
         }
     }
 
@@ -6008,13 +6006,11 @@ bxe_tx_mq_start_locked(struct bxe_softc 
 
         /* handle any completions if we're running low */
         if (tx_bd_avail < BXE_TX_CLEANUP_THRESHOLD) {
+            /* bxe_txeof will set IFF_DRV_OACTIVE appropriately */
             bxe_txeof(sc, fp);
-        }
-
-        /* close TX if we're still running low */
-        if (tx_bd_avail < BXE_TX_CLEANUP_THRESHOLD) {
-            ifp->if_drv_flags &= ~IFF_DRV_OACTIVE;
-            break;
+            if (ifp->if_drv_flags & IFF_DRV_OACTIVE) {
+                break;
+            }
         }
 
         next = drbr_dequeue(ifp, tx_br);
@@ -14173,7 +14169,7 @@ bxe_get_tunable_params(struct bxe_softc 
 
     BLOGD(sc, DBG_LOAD,
           "User Config: "
-          "debug=0x%x "
+          "debug=0x%lx "
           "interrupt_mode=%d "
           "queue_count=%d "
           "hc_rx_ticks=%d "

Modified: head/sys/dev/bxe/bxe.h
==============================================================================
--- head/sys/dev/bxe/bxe.h	Fri Nov 15 20:23:52 2013	(r258186)
+++ head/sys/dev/bxe/bxe.h	Fri Nov 15 20:26:14 2013	(r258187)
@@ -748,6 +748,9 @@ struct bxe_fastpath {
 #define BXE_VF_ID_INVALID  0xFF
 #define IS_SRIOV(sc) 0
 
+#define GET_NUM_VFS_PER_PATH(sc) 0
+#define GET_NUM_VFS_PER_PF(sc)   0
+
 /* maximum number of fast-path interrupt contexts */
 #define FP_SB_MAX_E1x 16
 #define FP_SB_MAX_E2  HC_SB_MAX_SB_E2
@@ -1405,7 +1408,7 @@ struct bxe_softc {
 #define BXE_MF_FUNC_DIS      0x00000800
 #define BXE_TX_SWITCHING     0x00001000
 
-    uint32_t debug; /* per-instance debug logging config */
+    unsigned long debug; /* per-instance debug logging config */
 
 #define MAX_BARS 5
     struct bxe_bar bar[MAX_BARS]; /* map BARs 0, 2, 4 */
@@ -1603,7 +1606,7 @@ struct bxe_softc {
     int      max_rx_bufs;
     int      hc_rx_ticks;
     int      hc_tx_ticks;
-    uint32_t rx_budget;
+    int      rx_budget;
     int      max_aggregation_size;
     int      mrrs;
     int      autogreeen;

Modified: head/sys/dev/bxe/bxe_elink.c
==============================================================================
--- head/sys/dev/bxe/bxe_elink.c	Fri Nov 15 20:23:52 2013	(r258186)
+++ head/sys/dev/bxe/bxe_elink.c	Fri Nov 15 20:26:14 2013	(r258187)
@@ -607,6 +607,7 @@ Theotherbitsarereservedandshouldbezero*/
 #define MDIO_WC_REG_RX1_PCI_CTRL			0x80ca
 #define MDIO_WC_REG_RX2_PCI_CTRL			0x80da
 #define MDIO_WC_REG_RX3_PCI_CTRL			0x80ea
+#define MDIO_WC_REG_RXB_ANA_RX_CONTROL_PCI		0x80fa
 #define MDIO_WC_REG_XGXSBLK2_UNICORE_MODE_10G 		0x8104
 #define MDIO_WC_REG_XGXS_STATUS3			0x8129
 #define MDIO_WC_REG_PAR_DET_10G_STATUS			0x8130
@@ -4632,6 +4633,19 @@ static void elink_warpcore_enable_AN_KR(
 
 		elink_warpcore_enable_AN_KR2(phy, params, vars);
 	} else {
+		/* Enable Auto-Detect to support 1G over CL37 as well */
+		elink_cl45_write(sc, phy, MDIO_WC_DEVAD,
+				 MDIO_WC_REG_SERDESDIGITAL_CONTROL1000X1, 0x10);
+
+		/* Force cl48 sync_status LOW to avoid getting stuck in CL73
+		 * parallel-detect loop when CL73 and CL37 are enabled.
+		 */
+		CL22_WR_OVER_CL45(sc, phy, MDIO_REG_BANK_AER_BLOCK,
+				  MDIO_AER_BLOCK_AER_REG, 0);
+		elink_cl45_write(sc, phy, MDIO_WC_DEVAD,
+				 MDIO_WC_REG_RXB_ANA_RX_CONTROL_PCI, 0x0800);
+		elink_set_aer_mmd(params, phy);
+
 		elink_disable_kr2(params, vars, phy);
 	}
 
@@ -7317,10 +7331,8 @@ static elink_status_t elink_link_initial
 		    (CHIP_IS_E1x(sc) ||
 		     CHIP_IS_E2(sc)))
 			elink_set_parallel_detection(phy, params);
-			if (params->phy[ELINK_INT_PHY].config_init)
-				params->phy[ELINK_INT_PHY].config_init(phy,
-								 params,
-								 vars);
+		if (params->phy[ELINK_INT_PHY].config_init)
+			params->phy[ELINK_INT_PHY].config_init(phy, params, vars);
 	}
 
 	/* Re-read this value in case it was changed inside config_init due to
@@ -8904,17 +8916,20 @@ static elink_status_t elink_get_edc_mode
 				*edc_mode = ELINK_EDC_MODE_ACTIVE_DAC;
 			else
 				check_limiting_mode = 1;
-		} else if (copper_module_type &
-			ELINK_SFP_EEPROM_FC_TX_TECH_BITMASK_COPPER_PASSIVE) {
-				ELINK_DEBUG_P0(sc,
-				   "Passive Copper cable detected\n");
-				*edc_mode =
-				      ELINK_EDC_MODE_PASSIVE_DAC;
 		} else {
-			ELINK_DEBUG_P1(sc,
-			   "Unknown copper-cable-type 0x%x !!!\n",
-			   copper_module_type);
-			return ELINK_STATUS_ERROR;
+			*edc_mode = ELINK_EDC_MODE_PASSIVE_DAC;
+			/* Even in case PASSIVE_DAC indication is not set,
+			 * treat it as a passive DAC cable, since some cables
+			 * don't have this indication.
+			 */
+			if (copper_module_type &
+			    ELINK_SFP_EEPROM_FC_TX_TECH_BITMASK_COPPER_PASSIVE) {
+				ELINK_DEBUG_P0(sc,
+					       "Passive Copper cable detected\n");
+			} else {
+				ELINK_DEBUG_P0(sc,
+					       "Unknown copper-cable-type\n");
+			}
 		}
 		break;
 	}
@@ -14360,6 +14375,10 @@ static uint8_t elink_analyze_link_error(
 	ELINK_DEBUG_P3(sc, "Link changed:[%x %x]->%x\n", vars->link_up,
 	   old_status, status);
 
+	/* Do not touch the link in case physical link down */
+	if ((vars->phy_flags & PHY_PHYSICAL_LINK_FLAG) == 0)
+		return 1;
+
 	/* a. Update shmem->link_status accordingly
 	 * b. Update elink_vars->link_up
 	 */

Modified: head/sys/dev/bxe/ecore_hsi.h
==============================================================================
--- head/sys/dev/bxe/ecore_hsi.h	Fri Nov 15 20:23:52 2013	(r258186)
+++ head/sys/dev/bxe/ecore_hsi.h	Fri Nov 15 20:26:14 2013	(r258187)
@@ -1057,6 +1057,9 @@ struct port_feat_cfg {		    /* port 0: 0
 	#define PORT_FEATURE_MBA_VLAN_TAG_MASK              0x0000FFFF
 	#define PORT_FEATURE_MBA_VLAN_TAG_SHIFT                      0
 	#define PORT_FEATURE_MBA_VLAN_EN                    0x00010000
+	#define PORT_FEATUTE_BOFM_CFGD_EN                   0x00020000
+	#define PORT_FEATURE_BOFM_CFGD_FTGT                 0x00040000
+	#define PORT_FEATURE_BOFM_CFGD_VEN                  0x00080000
 
 	uint32_t Reserved1;
 	uint32_t smbus_config;
@@ -1099,8 +1102,8 @@ struct port_feat_cfg {		    /* port 0: 0
     #define PORT_FEATURE_LINK_SPEED_MASK                0x000F0000
 		#define PORT_FEATURE_LINK_SPEED_SHIFT                16
 		#define PORT_FEATURE_LINK_SPEED_AUTO                 0x00000000
-		#define PORT_FEATURE_LINK_SPEED_10M_FULL             0x00010000
-		#define PORT_FEATURE_LINK_SPEED_10M_HALF             0x00020000
+		#define PORT_FEATURE_LINK_SPEED_10M_HALF             0x00010000
+		#define PORT_FEATURE_LINK_SPEED_10M_FULL             0x00020000
 		#define PORT_FEATURE_LINK_SPEED_100M_HALF            0x00030000
 		#define PORT_FEATURE_LINK_SPEED_100M_FULL            0x00040000
 		#define PORT_FEATURE_LINK_SPEED_1G                   0x00050000
@@ -1654,6 +1657,7 @@ struct drv_func_mb {
 	#define DRV_MSG_CODE_LOAD_REQ_FORCE_LFA         0x00002000
 
 	#define DRV_MSG_CODE_USR_BLK_IMAGE_REQ          0x00000001
+	#define DRV_MSG_CODE_ISCSI_PERS_IMAGE_REQ       0x00000002
 
 	uint32_t fw_mb_header;
 	#define FW_MSG_CODE_MASK                        0xffff0000
@@ -2558,6 +2562,8 @@ struct shmem2_region {
 	uint32_t drv_func_info_size;			/* Offset 0x150 */
 	uint32_t link_attr_sync[PORT_MAX];		/* Offset 0x154 */
 	#define LINK_ATTR_SYNC_KR2_ENABLE	(1<<0)
+
+	uint32_t ibft_host_addr_hi;  /* Initialize by uEFI ROM */
 };
 
 

Modified: head/sys/dev/bxe/ecore_init.h
==============================================================================
--- head/sys/dev/bxe/ecore_init.h	Fri Nov 15 20:23:52 2013	(r258186)
+++ head/sys/dev/bxe/ecore_init.h	Fri Nov 15 20:26:14 2013	(r258187)
@@ -717,23 +717,35 @@ static const struct {
  * [30] MCP Latched ump_tx_parity
  * [31] MCP Latched scpad_parity
  */
-#define MISC_AEU_ENABLE_MCP_PRTY_BITS	\
+#define MISC_AEU_ENABLE_MCP_PRTY_SUB_BITS	\
 	(AEU_INPUTS_ATTN_BITS_MCP_LATCHED_ROM_PARITY | \
 	 AEU_INPUTS_ATTN_BITS_MCP_LATCHED_UMP_RX_PARITY | \
-	 AEU_INPUTS_ATTN_BITS_MCP_LATCHED_UMP_TX_PARITY | \
+	 AEU_INPUTS_ATTN_BITS_MCP_LATCHED_UMP_TX_PARITY)
+
+#define MISC_AEU_ENABLE_MCP_PRTY_BITS	\
+	(MISC_AEU_ENABLE_MCP_PRTY_SUB_BITS | \
 	 AEU_INPUTS_ATTN_BITS_MCP_LATCHED_SCPAD_PARITY)
 
 /* Below registers control the MCP parity attention output. When
  * MISC_AEU_ENABLE_MCP_PRTY_BITS are set - attentions are
  * enabled, when cleared - disabled.
  */
-static const uint32_t mcp_attn_ctl_regs[] = {
-	MISC_REG_AEU_ENABLE4_FUNC_0_OUT_0,
-	MISC_REG_AEU_ENABLE4_NIG_0,
-	MISC_REG_AEU_ENABLE4_PXP_0,
-	MISC_REG_AEU_ENABLE4_FUNC_1_OUT_0,
-	MISC_REG_AEU_ENABLE4_NIG_1,
-	MISC_REG_AEU_ENABLE4_PXP_1
+static const struct {
+	uint32_t addr;
+	uint32_t bits;
+} mcp_attn_ctl_regs[] = {
+	{ MISC_REG_AEU_ENABLE4_FUNC_0_OUT_0,
+		MISC_AEU_ENABLE_MCP_PRTY_BITS },
+	{ MISC_REG_AEU_ENABLE4_NIG_0,
+		MISC_AEU_ENABLE_MCP_PRTY_SUB_BITS },
+	{ MISC_REG_AEU_ENABLE4_PXP_0,
+		MISC_AEU_ENABLE_MCP_PRTY_SUB_BITS },
+	{ MISC_REG_AEU_ENABLE4_FUNC_1_OUT_0,
+		MISC_AEU_ENABLE_MCP_PRTY_BITS },
+	{ MISC_REG_AEU_ENABLE4_NIG_1,
+		MISC_AEU_ENABLE_MCP_PRTY_SUB_BITS },
+	{ MISC_REG_AEU_ENABLE4_PXP_1,
+		MISC_AEU_ENABLE_MCP_PRTY_SUB_BITS }
 };
 
 static inline void ecore_set_mcp_parity(struct bxe_softc *sc, uint8_t enable)
@@ -742,14 +754,14 @@ static inline void ecore_set_mcp_parity(
 	uint32_t reg_val;
 
 	for (i = 0; i < ARRSIZE(mcp_attn_ctl_regs); i++) {
-		reg_val = REG_RD(sc, mcp_attn_ctl_regs[i]);
+		reg_val = REG_RD(sc, mcp_attn_ctl_regs[i].addr);
 
 		if (enable)
-			reg_val |= MISC_AEU_ENABLE_MCP_PRTY_BITS;
+			reg_val |= MISC_AEU_ENABLE_MCP_PRTY_BITS; /* Linux is using mcp_attn_ctl_regs[i].bits */
 		else
-			reg_val &= ~MISC_AEU_ENABLE_MCP_PRTY_BITS;
+			reg_val &= ~MISC_AEU_ENABLE_MCP_PRTY_BITS; /* Linux is using mcp_attn_ctl_regs[i].bits */
 
-		REG_WR(sc, mcp_attn_ctl_regs[i], reg_val);
+		REG_WR(sc, mcp_attn_ctl_regs[i].addr, reg_val);
 	}
 }
 

Modified: head/sys/dev/bxe/ecore_reg.h
==============================================================================
--- head/sys/dev/bxe/ecore_reg.h	Fri Nov 15 20:23:52 2013	(r258186)
+++ head/sys/dev/bxe/ecore_reg.h	Fri Nov 15 20:26:14 2013	(r258187)
@@ -3384,6 +3384,7 @@ Theotherbitsarereservedandshouldbezero*/
 #define MDIO_WC_REG_RX1_PCI_CTRL			0x80ca
 #define MDIO_WC_REG_RX2_PCI_CTRL			0x80da
 #define MDIO_WC_REG_RX3_PCI_CTRL			0x80ea
+#define MDIO_WC_REG_RXB_ANA_RX_CONTROL_PCI		0x80fa
 #define MDIO_WC_REG_XGXSBLK2_UNICORE_MODE_10G		0x8104
 #define MDIO_WC_REG_XGXS_STATUS3			0x8129
 #define MDIO_WC_REG_PAR_DET_10G_STATUS			0x8130

Modified: head/sys/dev/bxe/ecore_sp.c
==============================================================================
--- head/sys/dev/bxe/ecore_sp.c	Fri Nov 15 20:23:52 2013	(r258186)
+++ head/sys/dev/bxe/ecore_sp.c	Fri Nov 15 20:26:14 2013	(r258187)
@@ -168,16 +168,6 @@ static inline void __ecore_exe_queue_res
 	}
 }
 
-static inline void ecore_exe_queue_reset_pending(struct bxe_softc *sc,
-						 struct ecore_exe_queue_obj *o)
-{
-	ECORE_SPIN_LOCK_BH(&o->lock);
-
-	__ecore_exe_queue_reset_pending(sc, o);
-
-	ECORE_SPIN_UNLOCK_BH(&o->lock);
-}
-
 /**
  * ecore_exe_queue_step - execute one execution chunk atomically
  *
@@ -188,7 +178,6 @@ static inline void ecore_exe_queue_reset
  * (Should be called while holding the exe_queue->lock).
  */
 static inline int ecore_exe_queue_step(struct bxe_softc *sc,
-				       struct ecore_vlan_mac_obj *vobj,
 				       struct ecore_exe_queue_obj *o,
 				       unsigned long *ramrod_flags)
 {
@@ -491,7 +480,7 @@ static void __ecore_vlan_mac_h_exec_pend
 		  ramrod_flags);
 	o->head_exe_request = FALSE;
 	o->saved_ramrod_flags = 0;
-	rc = ecore_exe_queue_step(sc, o, &o->exe_queue, &ramrod_flags);
+	rc = ecore_exe_queue_step(sc, &o->exe_queue, &ramrod_flags);
 	if (rc != ECORE_SUCCESS) {
 		ECORE_ERR("execution of pending commands failed with rc %d\n",
 			  rc);
@@ -667,7 +656,8 @@ static int ecore_get_n_elements(struct b
 {
 	struct ecore_vlan_mac_registry_elem *pos;
 	uint8_t *next = base;
-	int counter = 0, read_lock;
+	int counter = 0;
+	int read_lock;
 
 	ECORE_MSG(sc, "get_n_elements - taking vlan_mac_lock (reader)\n");
 	read_lock = ecore_vlan_mac_h_read_lock(sc, o);
@@ -680,7 +670,7 @@ static int ecore_get_n_elements(struct b
 		if (counter < n) {
 			ECORE_MEMCPY(next, &pos->u, size);
 			counter++;
-			ECORE_MSG(sc, "copied element number %d to address %p element was:",
+			ECORE_MSG(sc, "copied element number %d to address %p element was:\n",
 				  counter, next);
 			next += stride + size;
 		}
@@ -1669,7 +1659,7 @@ static int __ecore_vlan_mac_execute_step
 		 */
 		rc = ECORE_PENDING;
 	} else {
-		rc = ecore_exe_queue_step(sc, o, &o->exe_queue, ramrod_flags);
+		rc = ecore_exe_queue_step(sc, &o->exe_queue, ramrod_flags);
 	}
 	ECORE_SPIN_UNLOCK_BH(&o->exe_queue.lock);
 
@@ -1693,12 +1683,19 @@ static int ecore_complete_vlan_mac(struc
 	struct ecore_raw_obj *r = &o->raw;
 	int rc;
 
+	/* Clearing the pending list & raw state should be made
+	 * atomically (as execution flow assumes they represent the same)
+	 */
+	ECORE_SPIN_LOCK_BH(&o->exe_queue.lock);
+
 	/* Reset pending list */
-	ecore_exe_queue_reset_pending(sc, &o->exe_queue);
+	__ecore_exe_queue_reset_pending(sc, &o->exe_queue);
 
 	/* Clear pending */
 	r->clear_pending(r);
 
+	ECORE_SPIN_UNLOCK_BH(&o->exe_queue.lock);
+
 	/* If ramrod failed this is most likely a SW bug */
 	if (cqe->message.error)
 		return ECORE_INVAL;
@@ -1857,6 +1854,7 @@ static int ecore_execute_vlan_mac(struct
 	 * and exit. Otherwise send a ramrod to FW.
 	 */
 	if (!drv_only) {
+		ECORE_DBG_BREAK_IF(r->check_pending(r));
 
 		/* Set pending */
 		r->set_pending(r);
@@ -2090,10 +2088,11 @@ static int ecore_vlan_mac_del_all(struct
 				  unsigned long *ramrod_flags)
 {
 	struct ecore_vlan_mac_registry_elem *pos = NULL;
-	int rc = 0, read_lock;
 	struct ecore_vlan_mac_ramrod_params p;
 	struct ecore_exe_queue_obj *exeq = &o->exe_queue;
 	struct ecore_exeq_elem *exeq_pos, *exeq_pos_n;
+	int read_lock;
+	int rc = 0;
 
 	/* Clear pending commands first */
 
@@ -2529,7 +2528,8 @@ static int ecore_set_rx_mode_e2(struct b
 			ETH_FILTER_RULES_CMD_TX_CMD;
 
 		ecore_rx_mode_set_cmd_state_e2(sc, &p->tx_accept_flags,
-			&(data->rules[rule_idx++]), FALSE);
+					       &(data->rules[rule_idx++]),
+					       FALSE);
 	}
 
 	/* Rx */
@@ -2541,7 +2541,8 @@ static int ecore_set_rx_mode_e2(struct b
 			ETH_FILTER_RULES_CMD_RX_CMD;
 
 		ecore_rx_mode_set_cmd_state_e2(sc, &p->rx_accept_flags,
-			&(data->rules[rule_idx++]), FALSE);
+					       &(data->rules[rule_idx++]),
+					       FALSE);
 	}
 
 	/* If FCoE Queue configuration has been requested configure the Rx and
@@ -2559,10 +2560,10 @@ static int ecore_set_rx_mode_e2(struct b
 			data->rules[rule_idx].cmd_general_data =
 						ETH_FILTER_RULES_CMD_TX_CMD;
 
-			ecore_rx_mode_set_cmd_state_e2(sc,
-							 &p->tx_accept_flags,
-						     &(data->rules[rule_idx++]),
+			ecore_rx_mode_set_cmd_state_e2(sc, &p->tx_accept_flags,
+						       &(data->rules[rule_idx]),
 						       TRUE);
+			rule_idx++;
 		}
 
 		/* Rx */
@@ -2573,10 +2574,10 @@ static int ecore_set_rx_mode_e2(struct b
 			data->rules[rule_idx].cmd_general_data =
 						ETH_FILTER_RULES_CMD_RX_CMD;
 
-			ecore_rx_mode_set_cmd_state_e2(sc,
-							 &p->rx_accept_flags,
-						     &(data->rules[rule_idx++]),
+			ecore_rx_mode_set_cmd_state_e2(sc, &p->rx_accept_flags,
+						       &(data->rules[rule_idx]),
 						       TRUE);
+			rule_idx++;
 		}
 	}
 
@@ -2718,7 +2719,7 @@ static int ecore_mcast_enqueue_cmd(struc
 	if (!new_cmd)
 		return ECORE_NOMEM;
 
-	ECORE_MSG(sc, "About to enqueue a new %d command. macs_list_len=%d\n", \
+	ECORE_MSG(sc, "About to enqueue a new %d command. macs_list_len=%d\n",
 		  cmd, macs_list_len);
 
 	ECORE_LIST_INIT(&new_cmd->data.macs_head);
@@ -4259,9 +4260,22 @@ void ecore_init_mac_credit_pool(struct b
 		 * CAM credit is equaly divided between all active functions
 		 * on the PATH.
 		 */
-		if ((func_num > 0)) {
+		if ((func_num > 1)) {
 			if (!CHIP_REV_IS_SLOW(sc))
-				cam_sz = (MAX_MAC_CREDIT_E2 / func_num);
+				cam_sz = (MAX_MAC_CREDIT_E2
+				- GET_NUM_VFS_PER_PATH(sc))
+				/ func_num 
+				+ GET_NUM_VFS_PER_PF(sc);
+			else
+				cam_sz = ECORE_CAM_SIZE_EMUL;
+
+			/* No need for CAM entries handling for 57712 and
+			 * newer.
+			 */
+			ecore_init_credit_pool(p, -1, cam_sz);
+		} else if (func_num == 1) {
+			if (!CHIP_REV_IS_SLOW(sc))
+				cam_sz = MAX_MAC_CREDIT_E2;
 			else
 				cam_sz = ECORE_CAM_SIZE_EMUL;
 
@@ -4332,6 +4346,10 @@ static int ecore_setup_rss(struct bxe_so
 		rss_mode = ETH_RSS_MODE_DISABLED;
 	else if (ECORE_TEST_BIT(ECORE_RSS_MODE_REGULAR, &p->rss_flags))
 		rss_mode = ETH_RSS_MODE_REGULAR;
+#if defined(__VMKLNX__) && (VMWARE_ESX_DDK_VERSION < 55000) /* ! BNX2X_UPSTREAM */
+	else if (ECORE_TEST_BIT(ECORE_RSS_MODE_ESX51, &p->rss_flags))
+		rss_mode = ETH_RSS_MODE_ESX51;
+#endif
 
 	data->rss_mode = rss_mode;
 
@@ -4456,6 +4474,16 @@ void ecore_init_rss_config_obj(struct bx
 	rss_obj->config_rss = ecore_setup_rss;
 }
 
+int validate_vlan_mac(struct bxe_softc *sc,
+		      struct ecore_vlan_mac_obj *vlan_mac)
+{
+	if (!vlan_mac->get_n_elements) {
+		ECORE_ERR("vlan mac object was not intialized\n");
+		return ECORE_INVAL;
+	}
+	return 0;
+}
+
 /********************** Queue state object ***********************************/
 
 /**

Modified: head/sys/dev/bxe/ecore_sp.h
==============================================================================
--- head/sys/dev/bxe/ecore_sp.h	Fri Nov 15 20:23:52 2013	(r258186)
+++ head/sys/dev/bxe/ecore_sp.h	Fri Nov 15 20:26:14 2013	(r258187)
@@ -1148,6 +1148,9 @@ enum {
 	ECORE_RSS_IPV6_UDP,
 
 	ECORE_RSS_TUNNELING,
+#if defined(__VMKLNX__) && (VMWARE_ESX_DDK_VERSION < 55000) /* ! BNX2X_UPSTREAM */
+	ECORE_RSS_MODE_ESX51,
+#endif
 };
 
 struct ecore_config_rss_params {
@@ -1857,6 +1860,9 @@ int ecore_config_rss(struct bxe_softc *s
 void ecore_get_rss_ind_table(struct ecore_rss_config_obj *rss_obj,
 			     uint8_t *ind_table);
 
+/* set as inline so printout will show the offending function */
+int validate_vlan_mac(struct bxe_softc *sc,
+		      struct ecore_vlan_mac_obj *vlan_mac);
 
 #endif /* ECORE_SP_H */
 

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 20:40:31 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id EA851BD8;
 Fri, 15 Nov 2013 20:40:31 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id D6F1323DD;
 Fri, 15 Nov 2013 20:40:31 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAFKeVe6070505;
 Fri, 15 Nov 2013 20:40:31 GMT (envelope-from jkim@svn.freebsd.org)
Received: (from jkim@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAFKeRCH070474;
 Fri, 15 Nov 2013 20:40:27 GMT (envelope-from jkim@svn.freebsd.org)
Message-Id: <201311152040.rAFKeRCH070474@svn.freebsd.org>
From: Jung-uk Kim <jkim@FreeBSD.org>
Date: Fri, 15 Nov 2013 20:40:27 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-vendor@freebsd.org
Subject: svn commit: r258188 - in vendor-sys/acpica/dist: . generate/unix
 generate/unix/acpiexec source/common source/components/debugger
 source/components/namespace source/components/resources source/compo...
X-SVN-Group: vendor-sys
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 20:40:32 -0000

Author: jkim
Date: Fri Nov 15 20:40:27 2013
New Revision: 258188
URL: http://svnweb.freebsd.org/changeset/base/258188

Log:
  Import ACPICA 20131115.

Modified:
  vendor-sys/acpica/dist/changes.txt
  vendor-sys/acpica/dist/generate/unix/Makefile.config
  vendor-sys/acpica/dist/generate/unix/acpiexec/Makefile
  vendor-sys/acpica/dist/source/common/adfile.c
  vendor-sys/acpica/dist/source/common/adwalk.c
  vendor-sys/acpica/dist/source/components/debugger/dbcmds.c
  vendor-sys/acpica/dist/source/components/namespace/nsalloc.c
  vendor-sys/acpica/dist/source/components/namespace/nsutils.c
  vendor-sys/acpica/dist/source/components/resources/rscalc.c
  vendor-sys/acpica/dist/source/components/resources/rscreate.c
  vendor-sys/acpica/dist/source/components/resources/rsutils.c
  vendor-sys/acpica/dist/source/components/utilities/utdebug.c
  vendor-sys/acpica/dist/source/components/utilities/utxface.c
  vendor-sys/acpica/dist/source/components/utilities/utxfinit.c
  vendor-sys/acpica/dist/source/include/acconfig.h
  vendor-sys/acpica/dist/source/include/acpixf.h
  vendor-sys/acpica/dist/source/include/acresrc.h
  vendor-sys/acpica/dist/source/include/platform/aclinux.h
  vendor-sys/acpica/dist/source/os_specific/service_layers/osunixxf.c
  vendor-sys/acpica/dist/source/tools/acpiexec/aehandlers.c

Modified: vendor-sys/acpica/dist/changes.txt
==============================================================================
--- vendor-sys/acpica/dist/changes.txt	Fri Nov 15 20:26:14 2013	(r258187)
+++ vendor-sys/acpica/dist/changes.txt	Fri Nov 15 20:40:27 2013	(r258188)
@@ -1,4 +1,79 @@
 ----------------------------------------
+15 November 2013. Summary of changes for version 20131115:
+
+This release is available at https://acpica.org/downloads
+
+
+1) ACPICA kernel-resident subsystem:
+
+Resource Manager: Fixed loop termination for the "get AML length" 
+function. The loop previously had an error termination on a NULL resource 
+pointer, which can never happen since the loop simply increments a valid 
+resource pointer. This fix changes the loop to terminate with an error on 
+an invalid end-of-buffer condition. The problem can be seen as an 
+infinite loop by callers to AcpiSetCurrentResources with an invalid or 
+corrupted resource descriptor, or a resource descriptor that is missing 
+an END_TAG descriptor. Reported by Dan Carpenter 
+<dan.carpenter@oracle.com>. Lv Zheng, Bob Moore.
+
+Table unload and ACPICA termination: Delete all attached data objects 
+during namespace node deletion. This fix updates namespace node deletion 
+to delete the entire list of attached objects (attached via 
+AcpiAttachObject) instead of just one of the attached items. ACPICA BZ 
+1024. Tomasz Nowicki (tomasz.nowicki@linaro.org).
+
+ACPICA termination: Added support to delete all objects attached to the 
+root namespace node. This fix deletes any and all objects that have been 
+attached to the root node via AcpiAttachData. Previously, none of these 
+objects were deleted. Reported by Tomasz Nowicki. ACPICA BZ 1026.
+
+Debug output: Do not emit the function nesting level for the in-kernel 
+build. The nesting level is really only useful during a single-thread 
+execution. Therefore, only enable this output for the AcpiExec utility. 
+Also, only emit the thread ID when executing under AcpiExec (Context 
+switches are still always detected and a message is emitted). ACPICA BZ 
+972.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a much larger code and data size.
+
+  Current Release:
+    Non-Debug Version:  95.9K Code, 27.0K Data, 122.9K Total
+    Debug Version:     185.1K Code, 77.2K Data, 262.3K Total
+  Previous Release:
+    Non-Debug Version:  95.8K Code, 27.0K Data, 122.8K Total
+    Debug Version:     185.2K Code, 77.2K Data, 262.4K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+AcpiExec/Unix-OSL: Use <termios.h> instead of <termio.h>. This is the 
+correct portable POSIX header for terminal control functions.
+
+Disassembler: Fixed control method invocation issues related to the use 
+of the CondRefOf() operator. The problem is seen in the disassembly where 
+control method invocations may not be disassembled properly if the 
+control method name has been used previously as an argument to CondRefOf. 
+The solution is to not attempt to emit an external declaration for the 
+CondRefOf target (it is not necessary in the first place). This prevents 
+disassembler object type confusion. ACPICA BZ 988.
+
+Unix Makefiles: Added an option to disable compiler optimizations and the 
+_FORTIFY_SOURCE flag. Some older compilers have problems compiling ACPICA 
+with optimizations (reportedly, gcc 4.4 for example). This change adds a 
+command line option for make (NOOPT) that disables all compiler 
+optimizations and the _FORTIFY_SOURCE compiler flag. The default 
+optimization is -O2 with the _FORTIFY_SOURCE flag specified. ACPICA BZ 
+1034. Lv Zheng, Bob Moore.
+
+Tests/ASLTS: Added options to specify individual test cases and modes. 
+This allows testers running aslts.sh to optionally specify individual 
+test modes and test cases. Also added an option to disable the forced 
+generation of the ACPICA tools from source if desired. Lv Zheng.
+
+----------------------------------------
 27 September 2013. Summary of changes for version 20130927:
 
 This release is available at https://acpica.org/downloads
@@ -7,8 +82,10 @@ This release is available at https://acp
 1) ACPICA kernel-resident subsystem:
 
 Fixed a problem with store operations to reference objects. This change 
-fixes a problem where a Store operation to an ArgX object that contained a 
-reference to a field object did not complete the automatic dereference and 
+fixes a problem where a Store operation to an ArgX object that contained 
+a 
+reference to a field object did not complete the automatic dereference 
+and 
 then write to the actual field object. Instead, the object type of the 
 field object was inadvertently changed to match the type of the source 
 operand. The new behavior will actually write to the field object (buffer 
@@ -26,10 +103,12 @@ Hardcoded the access width for the FADT-
 specification requires the reset register width to be 8 bits. ACPICA now 
 hardcodes the width to 8 and ignores the FADT width value. This provides 
 compatibility with other ACPI implementations that have allowed BIOS code 
-with bad register width values to go unnoticed. Matthew Garett, Bob Moore, 
+with bad register width values to go unnoticed. Matthew Garett, Bob 
+Moore, 
 Lv Zheng.
 
-Changed the position/use of the ACPI_PRINTF_LIKE macro. This macro is used 
+Changed the position/use of the ACPI_PRINTF_LIKE macro. This macro is 
+used 
 in the OSL header (acpiosxf). The change modifies the position of this 
 macro in each instance where it is used (AcpiDebugPrint, etc.) to avoid 
 build issues if the OSL defines the implementation of the interface to be 
@@ -42,12 +121,14 @@ additional or different processing for t
 ACPI_EXPORT_SYMBOL to ACPI_EXPORT_SYMBOL_INIT for these functions. Lv 
 Zheng, Bob Moore.
 
-Cleaned up the memory allocation macros for configurability. In the common 
+Cleaned up the memory allocation macros for configurability. In the 
+common 
 case, the ACPI_ALLOCATE and related macros now resolve directly to their 
 respective AcpiOs* OSL interfaces. Two options:
 1) The ACPI_ALLOCATE_ZEROED macro uses a simple local implementation by 
 default, unless overridden by the USE_NATIVE_ALLOCATE_ZEROED define.
-2) For AcpiExec (and for debugging), the macros can optionally be resolved 
+2) For AcpiExec (and for debugging), the macros can optionally be 
+resolved 
 to the local ACPICA interfaces that track each allocation (local tracking 
 is used to immediately detect memory leaks).
 Lv Zheng.
@@ -73,7 +154,8 @@ has a much larger code and data size.
 2) iASL Compiler/Disassembler and Tools:
 
 iASL: Implemented wildcard support for the -e option. This simplifies use 
-when there are many SSDTs that must be included to resolve external method 
+when there are many SSDTs that must be included to resolve external 
+method 
 declarations. ACPICA BZ 1041. Example:
     iasl -e ssdt*.dat -d dsdt.dat
 
@@ -81,7 +163,8 @@ AcpiExec: Add history/line-editing for U
 adds a portable module that implements full history and limited line 
 editing for Unix and Linux systems. It does not use readline() due to 
 portability issues. Instead it uses the POSIX termio interface to put the 
-terminal in raw input mode so that the various special keys can be trapped 
+terminal in raw input mode so that the various special keys can be 
+trapped 
 (such as up/down-arrow for history support and left/right-arrow for line 
 editing). Uses the existing debugger history mechanism. ACPICA BZ 1036.
 

Modified: vendor-sys/acpica/dist/generate/unix/Makefile.config
==============================================================================
--- vendor-sys/acpica/dist/generate/unix/Makefile.config	Fri Nov 15 20:26:14 2013	(r258187)
+++ vendor-sys/acpica/dist/generate/unix/Makefile.config	Fri Nov 15 20:40:27 2013	(r258188)
@@ -118,15 +118,17 @@ ACPICA_HEADERS = \
 
 #
 # Common compiler flags
+# The _GNU_SOURCE symbol is required for many hosts.
 #
-# Flags/option notes:
-#   Global optimization flags (such as -O2, -Os) are not used,
-#       since they cause issues on some compilers (such as gcc 4.4)
-#   The _GNU_SOURCE symbol is required for many hosts.
-#
-OPT_CFLAGS ?= \
-    -D_FORTIFY_SOURCE=2\
-    $(CWARNINGFLAGS)
+OPT_CFLAGS ?= $(CWARNINGFLAGS)
+
+#
+# Optionally disable optimizations. Optimization causes problems on
+# some compilers such as gcc 4.4
+#
+ifneq ($(NOOPT),TRUE)
+OPT_CFLAGS += -O2 -D_FORTIFY_SOURCE=2
+endif
 
 CFLAGS += \
     -D$(HOST)\

Modified: vendor-sys/acpica/dist/generate/unix/acpiexec/Makefile
==============================================================================
--- vendor-sys/acpica/dist/generate/unix/acpiexec/Makefile	Fri Nov 15 20:26:14 2013	(r258187)
+++ vendor-sys/acpica/dist/generate/unix/acpiexec/Makefile	Fri Nov 15 20:40:27 2013	(r258188)
@@ -224,6 +224,11 @@ CFLAGS += \
     -DACPI_EXEC_APP\
     -I$(ACPIEXEC)
 
+ifeq ($(ASLTS),TRUE)
+CFLAGS += \
+    -DACPI_CHECKSUM_ABORT=TRUE
+endif
+
 LDFLAGS += -lpthread
 
 ifneq ($(HOST),_APPLE)

Modified: vendor-sys/acpica/dist/source/common/adfile.c
==============================================================================
--- vendor-sys/acpica/dist/source/common/adfile.c	Fri Nov 15 20:26:14 2013	(r258187)
+++ vendor-sys/acpica/dist/source/common/adfile.c	Fri Nov 15 20:40:27 2013	(r258188)
@@ -329,6 +329,7 @@ FlSplitInputPathname (
 
     if (!Filename)
     {
+        ACPI_FREE (DirectoryPath);
         return (AE_NO_MEMORY);
     }
 
@@ -337,6 +338,9 @@ FlSplitInputPathname (
     if (OutFilename)
     {
         *OutFilename = Filename;
+        return (AE_OK);
     }
+
+    ACPI_FREE (Filename);
     return (AE_OK);
 }

Modified: vendor-sys/acpica/dist/source/common/adwalk.c
==============================================================================
--- vendor-sys/acpica/dist/source/common/adwalk.c	Fri Nov 15 20:26:14 2013	(r258187)
+++ vendor-sys/acpica/dist/source/common/adwalk.c	Fri Nov 15 20:40:27 2013	(r258188)
@@ -820,17 +820,18 @@ AcpiDmXrefDescendingOp (
     {
         if (Status == AE_NOT_FOUND)
         {
-            AcpiDmAddToExternalList (Op, Path, (UINT8) ObjectType, 0);
-
             /*
-             * We could install this into the namespace, but we catch duplicate
-             * externals when they are added to the list.
+             * Add this symbol as an external declaration, except if the
+             * parent is a CondRefOf operator. For this operator, we do not
+             * need an external, nor do we want one, since this can cause
+             * disassembly problems if the symbol is actually a control
+             * method.
              */
-#if 0
-            Status = AcpiNsLookup (WalkState->ScopeInfo, Path, ACPI_TYPE_ANY,
-                       ACPI_IMODE_LOAD_PASS1, ACPI_NS_DONT_OPEN_SCOPE,
-                       WalkState, &Node);
-#endif
+            if (!(Op->Asl.Parent &&
+                (Op->Asl.Parent->Asl.AmlOpcode == AML_COND_REF_OF_OP)))
+            {
+                AcpiDmAddToExternalList (Op, Path, (UINT8) ObjectType, 0);
+            }
         }
     }
 

Modified: vendor-sys/acpica/dist/source/components/debugger/dbcmds.c
==============================================================================
--- vendor-sys/acpica/dist/source/components/debugger/dbcmds.c	Fri Nov 15 20:26:14 2013	(r258187)
+++ vendor-sys/acpica/dist/source/components/debugger/dbcmds.c	Fri Nov 15 20:40:27 2013	(r258188)
@@ -830,7 +830,7 @@ AcpiDmTestResourceConversion (
 
     /* Convert internal resource list to external AML resource template */
 
-    Status = AcpiRsCreateAmlResources (ResourceBuffer.Pointer, &NewAml);
+    Status = AcpiRsCreateAmlResources (&ResourceBuffer, &NewAml);
     if (ACPI_FAILURE (Status))
     {
         AcpiOsPrintf ("AcpiRsCreateAmlResources failed: %s\n",
@@ -842,8 +842,8 @@ AcpiDmTestResourceConversion (
 
     OriginalAml = ReturnBuffer.Pointer;
 
-    AcpiDmCompareAmlResources (
-        OriginalAml->Buffer.Pointer, (ACPI_RSDESC_SIZE) OriginalAml->Buffer.Length,
+    AcpiDmCompareAmlResources (OriginalAml->Buffer.Pointer,
+        (ACPI_RSDESC_SIZE) OriginalAml->Buffer.Length,
         NewAml.Pointer, (ACPI_RSDESC_SIZE) NewAml.Length);
 
     /* Cleanup and exit */
@@ -1042,7 +1042,7 @@ GetCrs:
         }
 
 EndCrs:
-        ACPI_FREE_BUFFER (ReturnBuffer);
+        ACPI_FREE (ReturnBuffer.Pointer);
     }
 
 

Modified: vendor-sys/acpica/dist/source/components/namespace/nsalloc.c
==============================================================================
--- vendor-sys/acpica/dist/source/components/namespace/nsalloc.c	Fri Nov 15 20:26:14 2013	(r258187)
+++ vendor-sys/acpica/dist/source/components/namespace/nsalloc.c	Fri Nov 15 20:40:27 2013	(r258188)
@@ -121,6 +121,7 @@ AcpiNsDeleteNode (
     ACPI_NAMESPACE_NODE     *Node)
 {
     ACPI_OPERAND_OBJECT     *ObjDesc;
+    ACPI_OPERAND_OBJECT     *NextDesc;
 
 
     ACPI_FUNCTION_NAME (NsDeleteNode);
@@ -131,12 +132,13 @@ AcpiNsDeleteNode (
     AcpiNsDetachObject (Node);
 
     /*
-     * Delete an attached data object if present (an object that was created
-     * and attached via AcpiAttachData). Note: After any normal object is
-     * detached above, the only possible remaining object is a data object.
+     * Delete an attached data object list if present (objects that were
+     * attached via AcpiAttachData). Note: After any normal object is
+     * detached above, the only possible remaining object(s) are data
+     * objects, in a linked list.
      */
     ObjDesc = Node->Object;
-    if (ObjDesc &&
+    while (ObjDesc &&
         (ObjDesc->Common.Type == ACPI_TYPE_LOCAL_DATA))
     {
         /* Invoke the attached data deletion handler if present */
@@ -146,7 +148,16 @@ AcpiNsDeleteNode (
             ObjDesc->Data.Handler (Node, ObjDesc->Data.Pointer);
         }
 
+        NextDesc = ObjDesc->Common.NextObject;
         AcpiUtRemoveReference (ObjDesc);
+        ObjDesc = NextDesc;
+    }
+
+    /* Special case for the statically allocated root node */
+
+    if (Node == AcpiGbl_RootNode)
+    {
+        return;
     }
 
     /* Now we can delete the node */

Modified: vendor-sys/acpica/dist/source/components/namespace/nsutils.c
==============================================================================
--- vendor-sys/acpica/dist/source/components/namespace/nsutils.c	Fri Nov 15 20:26:14 2013	(r258187)
+++ vendor-sys/acpica/dist/source/components/namespace/nsutils.c	Fri Nov 15 20:40:27 2013	(r258188)
@@ -693,27 +693,29 @@ void
 AcpiNsTerminate (
     void)
 {
-    ACPI_OPERAND_OBJECT     *ObjDesc;
+    ACPI_STATUS             Status;
 
 
     ACPI_FUNCTION_TRACE (NsTerminate);
 
 
     /*
-     * 1) Free the entire namespace -- all nodes and objects
-     *
-     * Delete all object descriptors attached to namepsace nodes
+     * Free the entire namespace -- all nodes and all objects
+     * attached to the nodes
      */
     AcpiNsDeleteNamespaceSubtree (AcpiGbl_RootNode);
 
-    /* Detach any objects attached to the root */
+    /* Delete any objects attached to the root node */
 
-    ObjDesc = AcpiNsGetAttachedObject (AcpiGbl_RootNode);
-    if (ObjDesc)
+    Status = AcpiUtAcquireMutex (ACPI_MTX_NAMESPACE);
+    if (ACPI_FAILURE (Status))
     {
-        AcpiNsDetachObject (AcpiGbl_RootNode);
+        return_VOID;
     }
 
+    AcpiNsDeleteNode (AcpiGbl_RootNode);
+    (void) AcpiUtReleaseMutex (ACPI_MTX_NAMESPACE);
+
     ACPI_DEBUG_PRINT ((ACPI_DB_INFO, "Namespace freed\n"));
     return_VOID;
 }

Modified: vendor-sys/acpica/dist/source/components/resources/rscalc.c
==============================================================================
--- vendor-sys/acpica/dist/source/components/resources/rscalc.c	Fri Nov 15 20:26:14 2013	(r258187)
+++ vendor-sys/acpica/dist/source/components/resources/rscalc.c	Fri Nov 15 20:40:27 2013	(r258188)
@@ -197,6 +197,7 @@ AcpiRsStreamOptionLength (
  * FUNCTION:    AcpiRsGetAmlLength
  *
  * PARAMETERS:  Resource            - Pointer to the resource linked list
+ *              ResourceListSize    - Size of the resource linked list
  *              SizeNeeded          - Where the required size is returned
  *
  * RETURN:      Status
@@ -210,9 +211,11 @@ AcpiRsStreamOptionLength (
 ACPI_STATUS
 AcpiRsGetAmlLength (
     ACPI_RESOURCE           *Resource,
+    ACPI_SIZE               ResourceListSize,
     ACPI_SIZE               *SizeNeeded)
 {
     ACPI_SIZE               AmlSizeNeeded = 0;
+    ACPI_RESOURCE           *ResourceEnd;
     ACPI_RS_LENGTH          TotalSize;
 
 
@@ -221,7 +224,8 @@ AcpiRsGetAmlLength (
 
     /* Traverse entire list of internal resource descriptors */
 
-    while (Resource)
+    ResourceEnd = ACPI_ADD_PTR (ACPI_RESOURCE, Resource, ResourceListSize);
+    while (Resource < ResourceEnd)
     {
         /* Validate the descriptor type */
 

Modified: vendor-sys/acpica/dist/source/components/resources/rscreate.c
==============================================================================
--- vendor-sys/acpica/dist/source/components/resources/rscreate.c	Fri Nov 15 20:26:14 2013	(r258187)
+++ vendor-sys/acpica/dist/source/components/resources/rscreate.c	Fri Nov 15 20:40:27 2013	(r258188)
@@ -435,23 +435,22 @@ AcpiRsCreatePciRoutingTable (
  *
  * FUNCTION:    AcpiRsCreateAmlResources
  *
- * PARAMETERS:  LinkedListBuffer        - Pointer to the resource linked list
- *              OutputBuffer            - Pointer to the user's buffer
+ * PARAMETERS:  ResourceList            - Pointer to the resource list buffer
+ *              OutputBuffer            - Where the AML buffer is returned
  *
  * RETURN:      Status  AE_OK if okay, else a valid ACPI_STATUS code.
  *              If the OutputBuffer is too small, the error will be
  *              AE_BUFFER_OVERFLOW and OutputBuffer->Length will point
  *              to the size buffer needed.
  *
- * DESCRIPTION: Takes the linked list of device resources and
- *              creates a bytestream to be used as input for the
- *              _SRS control method.
+ * DESCRIPTION: Converts a list of device resources to an AML bytestream
+ *              to be used as input for the _SRS control method.
  *
  ******************************************************************************/
 
 ACPI_STATUS
 AcpiRsCreateAmlResources (
-    ACPI_RESOURCE           *LinkedListBuffer,
+    ACPI_BUFFER             *ResourceList,
     ACPI_BUFFER             *OutputBuffer)
 {
     ACPI_STATUS             Status;
@@ -461,17 +460,15 @@ AcpiRsCreateAmlResources (
     ACPI_FUNCTION_TRACE (RsCreateAmlResources);
 
 
-    ACPI_DEBUG_PRINT ((ACPI_DB_INFO, "LinkedListBuffer = %p\n",
-        LinkedListBuffer));
+    /* Params already validated, no need to re-validate here */
 
-    /*
-     * Params already validated, so we don't re-validate here
-     *
-     * Pass the LinkedListBuffer into a module that calculates
-     * the buffer size needed for the byte stream.
-     */
-    Status = AcpiRsGetAmlLength (LinkedListBuffer,
-                &AmlSizeNeeded);
+    ACPI_DEBUG_PRINT ((ACPI_DB_INFO, "ResourceList Buffer = %p\n",
+        ResourceList->Pointer));
+
+    /* Get the buffer size needed for the AML byte stream */
+
+    Status = AcpiRsGetAmlLength (ResourceList->Pointer,
+                ResourceList->Length, &AmlSizeNeeded);
 
     ACPI_DEBUG_PRINT ((ACPI_DB_INFO, "AmlSizeNeeded=%X, %s\n",
         (UINT32) AmlSizeNeeded, AcpiFormatException (Status)));
@@ -490,14 +487,14 @@ AcpiRsCreateAmlResources (
 
     /* Do the conversion */
 
-    Status = AcpiRsConvertResourcesToAml (LinkedListBuffer, AmlSizeNeeded,
-                    OutputBuffer->Pointer);
+    Status = AcpiRsConvertResourcesToAml (ResourceList->Pointer,
+                AmlSizeNeeded, OutputBuffer->Pointer);
     if (ACPI_FAILURE (Status))
     {
         return_ACPI_STATUS (Status);
     }
 
     ACPI_DEBUG_PRINT ((ACPI_DB_INFO, "OutputBuffer %p Length %X\n",
-            OutputBuffer->Pointer, (UINT32) OutputBuffer->Length));
+        OutputBuffer->Pointer, (UINT32) OutputBuffer->Length));
     return_ACPI_STATUS (AE_OK);
 }

Modified: vendor-sys/acpica/dist/source/components/resources/rsutils.c
==============================================================================
--- vendor-sys/acpica/dist/source/components/resources/rsutils.c	Fri Nov 15 20:26:14 2013	(r258187)
+++ vendor-sys/acpica/dist/source/components/resources/rsutils.c	Fri Nov 15 20:40:27 2013	(r258188)
@@ -827,7 +827,7 @@ AcpiRsSetSrsMethodData (
      * Convert the linked list into a byte stream
      */
     Buffer.Length = ACPI_ALLOCATE_LOCAL_BUFFER;
-    Status = AcpiRsCreateAmlResources (InBuffer->Pointer, &Buffer);
+    Status = AcpiRsCreateAmlResources (InBuffer, &Buffer);
     if (ACPI_FAILURE (Status))
     {
         goto Cleanup;

Modified: vendor-sys/acpica/dist/source/components/utilities/utdebug.c
==============================================================================
--- vendor-sys/acpica/dist/source/components/utilities/utdebug.c	Fri Nov 15 20:26:14 2013	(r258187)
+++ vendor-sys/acpica/dist/source/components/utilities/utdebug.c	Fri Nov 15 20:40:27 2013	(r258188)
@@ -211,6 +211,7 @@ AcpiDebugPrint (
         }
 
         AcpiGbl_PrevThreadId = ThreadId;
+        AcpiGbl_NestingLevel = 0;
     }
 
     /*
@@ -219,13 +220,22 @@ AcpiDebugPrint (
      */
     AcpiOsPrintf ("%9s-%04ld ", ModuleName, LineNumber);
 
+#ifdef ACPI_EXEC_APP
+    /*
+     * For AcpiExec only, emit the thread ID and nesting level.
+     * Note: nesting level is really only useful during a single-thread
+     * execution. Otherwise, multiple threads will keep resetting the
+     * level.
+     */
     if (ACPI_LV_THREADS & AcpiDbgLevel)
     {
         AcpiOsPrintf ("[%u] ", (UINT32) ThreadId);
     }
 
-    AcpiOsPrintf ("[%02ld] %-22.22s: ",
-        AcpiGbl_NestingLevel, AcpiUtTrimFunctionName (FunctionName));
+    AcpiOsPrintf ("[%02ld] ", AcpiGbl_NestingLevel);
+#endif
+
+    AcpiOsPrintf ("%-22.22s: ", AcpiUtTrimFunctionName (FunctionName));
 
     va_start (args, Format);
     AcpiOsVprintf (Format, args);
@@ -475,7 +485,10 @@ AcpiUtExit (
             "%s\n", AcpiGbl_FnExitStr);
     }
 
-    AcpiGbl_NestingLevel--;
+    if (AcpiGbl_NestingLevel)
+    {
+        AcpiGbl_NestingLevel--;
+    }
 }
 
 ACPI_EXPORT_SYMBOL (AcpiUtExit)
@@ -527,7 +540,10 @@ AcpiUtStatusExit (
         }
     }
 
-    AcpiGbl_NestingLevel--;
+    if (AcpiGbl_NestingLevel)
+    {
+        AcpiGbl_NestingLevel--;
+    }
 }
 
 ACPI_EXPORT_SYMBOL (AcpiUtStatusExit)
@@ -569,7 +585,10 @@ AcpiUtValueExit (
             ACPI_FORMAT_UINT64 (Value));
     }
 
-    AcpiGbl_NestingLevel--;
+    if (AcpiGbl_NestingLevel)
+    {
+        AcpiGbl_NestingLevel--;
+    }
 }
 
 ACPI_EXPORT_SYMBOL (AcpiUtValueExit)
@@ -610,7 +629,10 @@ AcpiUtPtrExit (
             "%s %p\n", AcpiGbl_FnExitStr, Ptr);
     }
 
-    AcpiGbl_NestingLevel--;
+    if (AcpiGbl_NestingLevel)
+    {
+        AcpiGbl_NestingLevel--;
+    }
 }
 
 #endif

Modified: vendor-sys/acpica/dist/source/components/utilities/utxface.c
==============================================================================
--- vendor-sys/acpica/dist/source/components/utilities/utxface.c	Fri Nov 15 20:26:14 2013	(r258187)
+++ vendor-sys/acpica/dist/source/components/utilities/utxface.c	Fri Nov 15 20:40:27 2013	(r258188)
@@ -43,6 +43,7 @@
 
 
 #define __UTXFACE_C__
+#define EXPORT_ACPI_INTERFACES
 
 #include "acpi.h"
 #include "accommon.h"

Modified: vendor-sys/acpica/dist/source/components/utilities/utxfinit.c
==============================================================================
--- vendor-sys/acpica/dist/source/components/utilities/utxfinit.c	Fri Nov 15 20:26:14 2013	(r258187)
+++ vendor-sys/acpica/dist/source/components/utilities/utxfinit.c	Fri Nov 15 20:40:27 2013	(r258188)
@@ -43,6 +43,7 @@
 
 
 #define __UTXFINIT_C__
+#define EXPORT_ACPI_INTERFACES
 
 #include "acpi.h"
 #include "accommon.h"

Modified: vendor-sys/acpica/dist/source/include/acconfig.h
==============================================================================
--- vendor-sys/acpica/dist/source/include/acconfig.h	Fri Nov 15 20:26:14 2013	(r258187)
+++ vendor-sys/acpica/dist/source/include/acconfig.h	Fri Nov 15 20:40:27 2013	(r258188)
@@ -84,7 +84,9 @@
  * Should the subsystem abort the loading of an ACPI table if the
  * table checksum is incorrect?
  */
+#ifndef ACPI_CHECKSUM_ABORT
 #define ACPI_CHECKSUM_ABORT             FALSE
+#endif
 
 /*
  * Generate a version of ACPICA that only supports "reduced hardware"

Modified: vendor-sys/acpica/dist/source/include/acpixf.h
==============================================================================
--- vendor-sys/acpica/dist/source/include/acpixf.h	Fri Nov 15 20:26:14 2013	(r258187)
+++ vendor-sys/acpica/dist/source/include/acpixf.h	Fri Nov 15 20:40:27 2013	(r258188)
@@ -47,7 +47,7 @@
 
 /* Current ACPICA subsystem version in YYYYMMDD format */
 
-#define ACPI_CA_VERSION                 0x20130927
+#define ACPI_CA_VERSION                 0x20131115
 
 #include "acconfig.h"
 #include "actypes.h"

Modified: vendor-sys/acpica/dist/source/include/acresrc.h
==============================================================================
--- vendor-sys/acpica/dist/source/include/acresrc.h	Fri Nov 15 20:26:14 2013	(r258187)
+++ vendor-sys/acpica/dist/source/include/acresrc.h	Fri Nov 15 20:40:27 2013	(r258188)
@@ -197,7 +197,7 @@ AcpiRsCreateResourceList (
 
 ACPI_STATUS
 AcpiRsCreateAmlResources (
-    ACPI_RESOURCE           *LinkedListBuffer,
+    ACPI_BUFFER             *ResourceList,
     ACPI_BUFFER             *OutputBuffer);
 
 ACPI_STATUS
@@ -251,7 +251,8 @@ AcpiRsGetListLength (
 
 ACPI_STATUS
 AcpiRsGetAmlLength (
-    ACPI_RESOURCE           *LinkedListBuffer,
+    ACPI_RESOURCE           *ResourceList,
+    ACPI_SIZE               ResourceListSize,
     ACPI_SIZE               *SizeNeeded);
 
 ACPI_STATUS

Modified: vendor-sys/acpica/dist/source/include/platform/aclinux.h
==============================================================================
--- vendor-sys/acpica/dist/source/include/platform/aclinux.h	Fri Nov 15 20:26:14 2013	(r258187)
+++ vendor-sys/acpica/dist/source/include/platform/aclinux.h	Fri Nov 15 20:40:27 2013	(r258188)
@@ -58,11 +58,13 @@
 #include <linux/ctype.h>
 #include <linux/sched.h>
 #include <linux/atomic.h>
-#include <asm/div64.h>
-#include <asm/acpi.h>
+#include <linux/math64.h>
 #include <linux/slab.h>
 #include <linux/spinlock_types.h>
-#include <asm/current.h>
+#ifdef EXPORT_ACPI_INTERFACES
+#include <linux/export.h>
+#endif
+#include <asm/acpi.h>
 
 /* Host-dependent types and defines for in-kernel ACPICA */
 
@@ -85,7 +87,7 @@
 /* Host-dependent types and defines for user-space ACPICA */
 
 #define ACPI_FLUSH_CPU_CACHE()
-#define ACPI_CAST_PTHREAD_T(pthread) ((ACPI_THREAD_ID) (pthread))
+#define ACPI_CAST_PTHREAD_T(Pthread) ((ACPI_THREAD_ID) (Pthread))
 
 #if defined(__ia64__) || defined(__x86_64__) || defined(__aarch64__)
 #define ACPI_MACHINE_WIDTH          64
@@ -110,24 +112,31 @@
 
 
 #ifdef __KERNEL__
+
+/*
+ * FIXME: Inclusion of actypes.h
+ * Linux kernel need this before defining inline OSL interfaces as
+ * actypes.h need to be included to find ACPICA type definitions.
+ * Since from ACPICA's perspective, the actypes.h should be included after
+ * acenv.h (aclinux.h), this leads to a inclusion mis-ordering issue.
+ */
 #include <acpi/actypes.h>
 
+/*
+ * Overrides for in-kernel ACPICA
+ */
 ACPI_STATUS __init AcpiOsInitialize (
     void);
-#define ACPI_USE_NATIVE_DECLARED_AcpiOsInitialize
+#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsInitialize
 
-ACPI_STATUS __exit AcpiOsTerminate (
+ACPI_STATUS AcpiOsTerminate (
     void);
-#define ACPI_USE_NATIVE_DECLARED_AcpiOsTerminate
+#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsTerminate
 
 /*
  * Memory allocation/deallocation
  */
 
-/* Use native linux version of acpi_os_allocate_zeroed */
-
-#define USE_NATIVE_ALLOCATE_ZEROED
-
 /*
  * The irqs_disabled() check is for resume from RAM.
  * Interrupts are off during resume, just like they are for boot.
@@ -140,7 +149,9 @@ AcpiOsAllocate (
 {
     return kmalloc (Size, irqs_disabled () ? GFP_ATOMIC : GFP_KERNEL);
 }
-#define ACPI_USE_NATIVE_DECLARED_AcpiOsAllocate
+#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsAllocate
+
+/* Use native linux version of AcpiOsAllocateZeroed */
 
 static inline void *
 AcpiOsAllocateZeroed (
@@ -148,7 +159,8 @@ AcpiOsAllocateZeroed (
 {
     return kzalloc (Size, irqs_disabled () ? GFP_ATOMIC : GFP_KERNEL);
 }
-#define ACPI_USE_NATIVE_DECLARED_AcpiOsAllocateZeroed
+#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsAllocateZeroed
+#define USE_NATIVE_ALLOCATE_ZEROED
 
 static inline void
 AcpiOsFree (
@@ -156,7 +168,7 @@ AcpiOsFree (
 {
     kfree (Memory);
 }
-#define ACPI_USE_NATIVE_DECLARED_AcpiOsFree
+#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsFree
 
 static inline void *
 AcpiOsAcquireObject (
@@ -165,20 +177,18 @@ AcpiOsAcquireObject (
     return kmem_cache_zalloc (Cache,
         irqs_disabled () ? GFP_ATOMIC : GFP_KERNEL);
 }
-#define ACPI_USE_NATIVE_DECLARED_AcpiOsAcquireObject
+#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsAcquireObject
 
-/*
- * Overrides for in-kernel ACPICA
- */
 static inline ACPI_THREAD_ID
 AcpiOsGetThreadId (
     void)
 {
     return (ACPI_THREAD_ID) (unsigned long) current;
 }
-#define ACPI_USE_NATIVE_DECLARED_AcpiOsGetThreadId
+#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsGetThreadId
 
 #ifndef CONFIG_PREEMPT
+
 /*
  * Used within ACPICA to show where it is safe to preempt execution
  * when CONFIG_PREEMPT=n
@@ -188,6 +198,7 @@ AcpiOsGetThreadId (
         if (!irqs_disabled()) \
             cond_resched(); \
     } while (0)
+
 #endif
 
 /*
@@ -198,47 +209,66 @@ AcpiOsGetThreadId (
  * prevents lockdep from reporting false positives for ACPICA locks.
  */
 #define AcpiOsCreateLock(__Handle) \
-({ \
-    spinlock_t *Lock = ACPI_ALLOCATE(sizeof(*Lock)); \
-    if (Lock) { \
-        *(__Handle) = Lock; \
-        spin_lock_init(*(__Handle)); \
-    } \
-    Lock ? AE_OK : AE_NO_MEMORY; \
-})
-#define ACPI_USE_NATIVE_DECLARED_AcpiOsCreateLock
+    ({ \
+        spinlock_t *Lock = ACPI_ALLOCATE(sizeof(*Lock)); \
+        if (Lock) { \
+            *(__Handle) = Lock; \
+            spin_lock_init(*(__Handle)); \
+        } \
+        Lock ? AE_OK : AE_NO_MEMORY; \
+    })
+#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsCreateLock
 
 void __iomem *
 AcpiOsMapMemory (
     ACPI_PHYSICAL_ADDRESS   Where,
     ACPI_SIZE               Length);
-#define ACPI_USE_NATIVE_DECLARED_AcpiOsMapMemory
+#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsMapMemory
 
 void
 AcpiOsUnmapMemory (
     void __iomem            *LogicalAddress,
     ACPI_SIZE               Size);
-#define ACPI_USE_NATIVE_DECLARED_AcpiOsUnmapMemory
+#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsUnmapMemory
 
-/* OSL interfaces used by debugger/disassembler */
-#define ACPI_USE_NATIVE_DECLARED_AcpiOsReadable
-#define ACPI_USE_NATIVE_DECLARED_AcpiOsWritable
-
-/* OSL interfaces used by utilities */
-#define ACPI_USE_NATIVE_DECLARED_AcpiOsRedirectOutput
-#define ACPI_USE_NATIVE_DECLARED_AcpiOsGetLine
-#define ACPI_USE_NATIVE_DECLARED_AcpiOsGetTableByName
-#define ACPI_USE_NATIVE_DECLARED_AcpiOsGetTableByIndex
-#define ACPI_USE_NATIVE_DECLARED_AcpiOsGetTableByAddress
-#define ACPI_USE_NATIVE_DECLARED_AcpiOsOpenDirectory
-#define ACPI_USE_NATIVE_DECLARED_AcpiOsGetNextFilename
-#define ACPI_USE_NATIVE_DECLARED_AcpiOsCloseDirectory
+/*
+ * OSL interfaces used by debugger/disassembler
+ */
+#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsReadable
+#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsWritable
 
-/* OSL interfaces added by Linux */
+/*
+ * OSL interfaces used by utilities
+ */
+#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsRedirectOutput
+#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsGetLine
+#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsGetTableByName
+#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsGetTableByIndex
+#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsGetTableByAddress
+#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsOpenDirectory
+#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsGetNextFilename
+#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsCloseDirectory
 
-#ifdef EXPORT_ACPI_INTERFACES
-#include <linux/export.h>
-#endif
+/*
+ * OSL interfaces added by Linux
+ */
+void
+EarlyAcpiOsUnmapMemory (
+    void __iomem            *Virt,
+    ACPI_SIZE               Size);
+
+void
+AcpiOsGpeCount (
+    UINT32                  GpeNumber);
+
+void
+AcpiOsFixedEventCount (
+    UINT32                  FixedEventNumber);
+
+ACPI_STATUS
+AcpiOsHotplugExecute (
+    ACPI_OSD_EXEC_CALLBACK  Function,
+    void                    *Context);
 
 #endif /* __KERNEL__ */
 

Modified: vendor-sys/acpica/dist/source/os_specific/service_layers/osunixxf.c
==============================================================================
--- vendor-sys/acpica/dist/source/os_specific/service_layers/osunixxf.c	Fri Nov 15 20:26:14 2013	(r258187)
+++ vendor-sys/acpica/dist/source/os_specific/service_layers/osunixxf.c	Fri Nov 15 20:40:27 2013	(r258188)
@@ -91,7 +91,7 @@ typedef void* (*PTHREAD_CALLBACK) (void 
 /* Terminal support for AcpiExec only */
 
 #ifdef ACPI_EXEC_APP
-#include <termio.h>
+#include <termios.h>
 
 struct termios              OriginalTermAttributes;
 

Modified: vendor-sys/acpica/dist/source/tools/acpiexec/aehandlers.c
==============================================================================
--- vendor-sys/acpica/dist/source/tools/acpiexec/aehandlers.c	Fri Nov 15 20:26:14 2013	(r258187)
+++ vendor-sys/acpica/dist/source/tools/acpiexec/aehandlers.c	Fri Nov 15 20:40:27 2013	(r258188)
@@ -98,6 +98,11 @@ AeAttachedDataHandler (
     ACPI_HANDLE             Object,
     void                    *Data);
 
+static void
+AeAttachedDataHandler2 (
+    ACPI_HANDLE             Object,
+    void                    *Data);
+
 static UINT32
 AeInterfaceHandler (
     ACPI_STRING             InterfaceName,
@@ -605,7 +610,29 @@ AeAttachedDataHandler (
     ACPI_NAMESPACE_NODE     *Node = ACPI_CAST_PTR (ACPI_NAMESPACE_NODE, Data);
 
 
-    AcpiOsPrintf ("Received an attached data deletion on %4.4s\n",
+    AcpiOsPrintf ("Received an attached data deletion (1) on %4.4s\n",
+        Node->Name.Ascii);
+}
+
+
+/******************************************************************************
+ *
+ * FUNCTION:    AeAttachedDataHandler2
+ *
+ * DESCRIPTION: Handler for deletion of nodes with attached data (attached via
+ *              AcpiAttachData)
+ *
+ *****************************************************************************/
+
+static void
+AeAttachedDataHandler2 (
+    ACPI_HANDLE             Object,
+    void                    *Data)
+{
+    ACPI_NAMESPACE_NODE     *Node = ACPI_CAST_PTR (ACPI_NAMESPACE_NODE, Data);
+
+
+    AcpiOsPrintf ("Received an attached data deletion (2) on %4.4s\n",
         Node->Name.Ascii);
 }
 
@@ -1022,8 +1049,23 @@ AeInstallEarlyHandlers (
         Status = AcpiDetachData (Handle, AeAttachedDataHandler);
         AE_CHECK_OK (AcpiDetachData, Status);
 
+        /* Test attach data at the root object */
+
+        Status = AcpiAttachData (ACPI_ROOT_OBJECT, AeAttachedDataHandler,
+            AcpiGbl_RootNode);
+        AE_CHECK_OK (AcpiAttachData, Status);
+
+        Status = AcpiAttachData (ACPI_ROOT_OBJECT, AeAttachedDataHandler2,
+            AcpiGbl_RootNode);
+        AE_CHECK_OK (AcpiAttachData, Status);
+
+        /* Test support for multiple attaches */
+
         Status = AcpiAttachData (Handle, AeAttachedDataHandler, Handle);
         AE_CHECK_OK (AcpiAttachData, Status);
+
+        Status = AcpiAttachData (Handle, AeAttachedDataHandler2, Handle);
+        AE_CHECK_OK (AcpiAttachData, Status);
     }
     else
     {

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 20:41:02 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id A4C03D00;
 Fri, 15 Nov 2013 20:41:02 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 7AD7023E1;
 Fri, 15 Nov 2013 20:41:02 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAFKf2Og072312;
 Fri, 15 Nov 2013 20:41:02 GMT (envelope-from jkim@svn.freebsd.org)
Received: (from jkim@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAFKf25x072311;
 Fri, 15 Nov 2013 20:41:02 GMT (envelope-from jkim@svn.freebsd.org)
Message-Id: <201311152041.rAFKf25x072311@svn.freebsd.org>
From: Jung-uk Kim <jkim@FreeBSD.org>
Date: Fri, 15 Nov 2013 20:41:02 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-vendor@freebsd.org
Subject: svn commit: r258189 - vendor-sys/acpica/20131115
X-SVN-Group: vendor-sys
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 20:41:02 -0000

Author: jkim
Date: Fri Nov 15 20:41:02 2013
New Revision: 258189
URL: http://svnweb.freebsd.org/changeset/base/258189

Log:
  Tag ACPICA 20131115.

Added:
  vendor-sys/acpica/20131115/
     - copied from r258188, vendor-sys/acpica/dist/

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 20:58:30 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 0866BF77;
 Fri, 15 Nov 2013 20:58:30 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id D219F24BA;
 Fri, 15 Nov 2013 20:58:29 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAFKwTCR077813;
 Fri, 15 Nov 2013 20:58:29 GMT (envelope-from jmmv@svn.freebsd.org)
Received: (from jmmv@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAFKwTEh077812;
 Fri, 15 Nov 2013 20:58:29 GMT (envelope-from jmmv@svn.freebsd.org)
Message-Id: <201311152058.rAFKwTEh077812@svn.freebsd.org>
From: Julio Merino <jmmv@FreeBSD.org>
Date: Fri, 15 Nov 2013 20:58:29 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-vendor@freebsd.org
Subject: svn commit: r258190 - vendor/atf
X-SVN-Group: vendor
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 20:58:30 -0000

Author: jmmv
Date: Fri Nov 15 20:58:29 2013
New Revision: 258190
URL: http://svnweb.freebsd.org/changeset/base/258190

Log:
  Update instructions to match reality.
  
  * Point readers to the Subversion Primer in the Committer's Guide
    instead of attempting to provide details here.  The guide is much
    more complete.
  
  * Adjust some comments to better represent reality.
  
  * Prepare to import the whole contents of a release, per the Subversion
    Primer.  Files should only be dropped when doing the merge into
    head/contrib/atf/
  
  Approved by:	rpaulo (mentor)

Deleted:
  vendor/atf/FREEBSD-Xlist
Modified:
  vendor/atf/README.txt

Modified: vendor/atf/README.txt
==============================================================================
--- vendor/atf/README.txt	Fri Nov 15 20:41:02 2013	(r258189)
+++ vendor/atf/README.txt	Fri Nov 15 20:58:29 2013	(r258190)
@@ -1,3 +1,5 @@
+$FreeBSD$
+
 Import tree for ATF: the Automated Testing Framework.
 
 Governance: 	http://code.google.com/p/kyua/wiki/ATF
@@ -5,10 +7,11 @@ License:	BSD (3-Clause)
 
 Upgrade instructions:
 1.  Download a newer version from the URL given above
-2.  Extract the tarball as per the guidelines
-3.  Run the following command to remove extraneous files:
-	sh -c 'for F in `cat FREEBSD-Xlist`; do rm -rf ./$F ; done'
-4.  Make sure to delete files that ere not present in the new version!
-5.  Commit vendor/atf (this should update dist and create a new 'tag')
-6.  Merge vendor/atf/dist to head/contrib/atf, and re-run configure
-7.  Commit head/contrib/atf
+2.  Prepare the import into dist/ as described in:
+    http://www.freebsd.org/doc/en/articles/committers-guide/subversion-primer.html
+3.  Make sure to delete files that ere not present in the new version!
+4.  Commit vendor/atf/dist (this should update dist and create a new 'tag')
+5.  Create a new tag for the import in vendor/atf/atf-<version>
+6.  Merge vendor/atf/dist to head/contrib/atf and re-run configure
+7.  Update reachover Makefiles to cope with deleted/new files, if any
+8.  Commit head/contrib/atf and the reachover Makefiles

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 21:28:07 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id C4D40366;
 Fri, 15 Nov 2013 21:28:07 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id B0FCD2614;
 Fri, 15 Nov 2013 21:28:07 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAFLS7OP087978;
 Fri, 15 Nov 2013 21:28:07 GMT (envelope-from jmmv@svn.freebsd.org)
Received: (from jmmv@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAFLS7FI087974;
 Fri, 15 Nov 2013 21:28:07 GMT (envelope-from jmmv@svn.freebsd.org)
Message-Id: <201311152128.rAFLS7FI087974@svn.freebsd.org>
From: Julio Merino <jmmv@FreeBSD.org>
Date: Fri, 15 Nov 2013 21:28:07 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-vendor@freebsd.org
Subject: svn commit: r258191 - in vendor/atf/dist: . admin atf-c atf-c++
 atf-c++/detail atf-c/detail atf-report atf-run atf-sh bootstrap doc m4
 test-programs
X-SVN-Group: vendor
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 21:28:07 -0000

Author: jmmv
Date: Fri Nov 15 21:28:06 2013
New Revision: 258191
URL: http://svnweb.freebsd.org/changeset/base/258191

Log:
  Import atf-0.17:
  
  Experimental version released on February 14th, 2013.
  
  * Added the atf_utils_cat_file, atf_utils_compare_file,
    atf_utils_copy_file, atf_utils_create_file, atf_utils_file_exists,
    atf_utils_fork, atf_utils_grep_file, atf_utils_grep_string,
    atf_utils_readline, atf_utils_redirect and atf_utils_wait utility
    functions to atf-c-api.  Documented the already-public
    atf_utils_free_charpp function.
  
  * Added the cat_file, compare_file, copy_file, create_file, file_exists,
    fork, grep_collection, grep_file, grep_string, redirect and wait
    functions to the atf::utils namespace of atf-c++-api.  These are
    wrappers around the same functions added to the atf-c-api library.
  
  * Added the ATF_CHECK_MATCH, ATF_CHECK_MATCH_MSG, ATF_REQUIRE_MATCH and
    ATF_REQUIRE_MATCH_MSG macros to atf-c to simplify the validation of a
    string against a regular expression.
  
  * Miscellaneous fixes for manpage typos and compilation problems with
    clang.
  
  * Added caching of the results of those configure tests that rely on
    executing a test program.  This should help crossbuild systems by
    providing a mechanism to pre-specify what the results should be.
  
  * X-NetBSD-PR bin/45690: Make atf-report convert any non-printable
    characters to a plain-text representation (matching their
    corresponding hexadecimal entities) in XML output files.  This is to
    prevent the output of test cases from breaking xsltproc later.
  
  Note that this import, compared to the one for 0.16, brings in all the
  files that are part of the release.  This is to follow the Subversion
  Primer guidelines, which mention that all files should be imported first
  and only dropped when merging into contrib/atf/.
  
  Approved by:	rpaulo (mentor)

Added:
  vendor/atf/dist/INSTALL   (contents, props changed)
  vendor/atf/dist/TODO   (contents, props changed)
  vendor/atf/dist/aclocal.m4   (contents, props changed)
  vendor/atf/dist/atf-c++/atf-c++.m4   (contents, props changed)
  vendor/atf/dist/atf-c++/atf-c++.pc.in   (contents, props changed)
  vendor/atf/dist/atf-c++/detail/auto_array.hpp   (contents, props changed)
  vendor/atf/dist/atf-c++/detail/auto_array_test.cpp   (contents, props changed)
  vendor/atf/dist/atf-c++/noncopyable.hpp   (contents, props changed)
  vendor/atf/dist/atf-c++/utils.cpp   (contents, props changed)
  vendor/atf/dist/atf-c/atf-c.m4   (contents, props changed)
  vendor/atf/dist/atf-c/atf-c.pc.in   (contents, props changed)
  vendor/atf/dist/atf-c/atf-common.m4   (contents, props changed)
  vendor/atf/dist/atf-sh/atf-sh.m4   (contents, props changed)
  vendor/atf/dist/atf-sh/atf-sh.pc.in   (contents, props changed)
  vendor/atf/dist/bootstrap/
  vendor/atf/dist/bootstrap/Makefile.am.inc   (contents, props changed)
  vendor/atf/dist/bootstrap/h_app_empty.cpp   (contents, props changed)
  vendor/atf/dist/bootstrap/h_app_opts_args.cpp   (contents, props changed)
  vendor/atf/dist/bootstrap/h_tp_atf_check_sh.sh   (contents, props changed)
  vendor/atf/dist/bootstrap/h_tp_basic_c.c   (contents, props changed)
  vendor/atf/dist/bootstrap/h_tp_basic_cpp.cpp   (contents, props changed)
  vendor/atf/dist/bootstrap/h_tp_basic_sh.sh   (contents, props changed)
  vendor/atf/dist/bootstrap/h_tp_fail.sh   (contents, props changed)
  vendor/atf/dist/bootstrap/h_tp_pass.sh   (contents, props changed)
  vendor/atf/dist/bootstrap/package.m4   (contents, props changed)
  vendor/atf/dist/bootstrap/t_application_help.at   (contents, props changed)
  vendor/atf/dist/bootstrap/t_application_opts_args.at   (contents, props changed)
  vendor/atf/dist/bootstrap/t_atf_config.at   (contents, props changed)
  vendor/atf/dist/bootstrap/t_atf_run.at   (contents, props changed)
  vendor/atf/dist/bootstrap/t_subr_atf_check.at   (contents, props changed)
  vendor/atf/dist/bootstrap/t_test_program_compare.at   (contents, props changed)
  vendor/atf/dist/bootstrap/t_test_program_filter.at   (contents, props changed)
  vendor/atf/dist/bootstrap/t_test_program_list.at   (contents, props changed)
  vendor/atf/dist/bootstrap/t_test_program_run.at   (contents, props changed)
  vendor/atf/dist/bootstrap/testsuite   (contents, props changed)
  vendor/atf/dist/bootstrap/testsuite.at   (contents, props changed)
  vendor/atf/dist/m4/
  vendor/atf/dist/m4/compiler-flags.m4   (contents, props changed)
  vendor/atf/dist/m4/cxx-std-funcs.m4   (contents, props changed)
  vendor/atf/dist/m4/developer-mode.m4   (contents, props changed)
  vendor/atf/dist/m4/libtool.m4   (contents, props changed)
  vendor/atf/dist/m4/ltoptions.m4   (contents, props changed)
  vendor/atf/dist/m4/ltsugar.m4   (contents, props changed)
  vendor/atf/dist/m4/ltversion.m4   (contents, props changed)
  vendor/atf/dist/m4/lt~obsolete.m4   (contents, props changed)
  vendor/atf/dist/m4/module-application.m4   (contents, props changed)
  vendor/atf/dist/m4/module-defs.m4   (contents, props changed)
  vendor/atf/dist/m4/module-env.m4   (contents, props changed)
  vendor/atf/dist/m4/module-fs.m4   (contents, props changed)
  vendor/atf/dist/m4/module-sanity.m4   (contents, props changed)
  vendor/atf/dist/m4/module-signals.m4   (contents, props changed)
  vendor/atf/dist/m4/runtime-tool.m4   (contents, props changed)
Deleted:
  vendor/atf/dist/admin/check-install.sh
  vendor/atf/dist/atf-c/detail/test_helpers_test.c
  vendor/atf/dist/test-programs/fork_test.sh
Modified:
  vendor/atf/dist/Makefile.am
  vendor/atf/dist/Makefile.in
  vendor/atf/dist/NEWS
  vendor/atf/dist/admin/Makefile.am.inc
  vendor/atf/dist/admin/compile
  vendor/atf/dist/admin/config.guess
  vendor/atf/dist/admin/config.sub
  vendor/atf/dist/admin/depcomp
  vendor/atf/dist/admin/install-sh
  vendor/atf/dist/admin/ltmain.sh
  vendor/atf/dist/admin/missing
  vendor/atf/dist/atf-c++.hpp
  vendor/atf/dist/atf-c++/Makefile.am.inc
  vendor/atf/dist/atf-c++/atf-c++-api.3
  vendor/atf/dist/atf-c++/check.hpp
  vendor/atf/dist/atf-c++/check_test.cpp
  vendor/atf/dist/atf-c++/detail/Atffile
  vendor/atf/dist/atf-c++/detail/Kyuafile
  vendor/atf/dist/atf-c++/detail/Makefile.am.inc
  vendor/atf/dist/atf-c++/detail/process.cpp
  vendor/atf/dist/atf-c++/detail/process.hpp
  vendor/atf/dist/atf-c++/detail/test_helpers.cpp
  vendor/atf/dist/atf-c++/detail/test_helpers.hpp
  vendor/atf/dist/atf-c++/macros_test.cpp
  vendor/atf/dist/atf-c++/tests.cpp
  vendor/atf/dist/atf-c++/tests.hpp
  vendor/atf/dist/atf-c++/utils.hpp
  vendor/atf/dist/atf-c++/utils_test.cpp
  vendor/atf/dist/atf-c.h
  vendor/atf/dist/atf-c/atf-c-api.3
  vendor/atf/dist/atf-c/check_test.c
  vendor/atf/dist/atf-c/detail/Atffile
  vendor/atf/dist/atf-c/detail/Kyuafile
  vendor/atf/dist/atf-c/detail/Makefile.am.inc
  vendor/atf/dist/atf-c/detail/process_test.c
  vendor/atf/dist/atf-c/detail/sanity_test.c
  vendor/atf/dist/atf-c/detail/test_helpers.c
  vendor/atf/dist/atf-c/detail/test_helpers.h
  vendor/atf/dist/atf-c/macros.h
  vendor/atf/dist/atf-c/macros_test.c
  vendor/atf/dist/atf-c/utils.c
  vendor/atf/dist/atf-c/utils.h
  vendor/atf/dist/atf-c/utils_test.c
  vendor/atf/dist/atf-report/atf-report.cpp
  vendor/atf/dist/atf-run/fs.cpp
  vendor/atf/dist/atf-run/io.cpp
  vendor/atf/dist/atf-run/io.hpp
  vendor/atf/dist/atf-run/timer.hpp
  vendor/atf/dist/atf-sh/atf-check.cpp
  vendor/atf/dist/atf-sh/atf-check_test.sh
  vendor/atf/dist/atf-sh/atf_check_test.sh
  vendor/atf/dist/configure
  vendor/atf/dist/configure.ac
  vendor/atf/dist/doc/atf-test-case.4
  vendor/atf/dist/test-programs/Atffile
  vendor/atf/dist/test-programs/Kyuafile
  vendor/atf/dist/test-programs/Makefile.am.inc
  vendor/atf/dist/test-programs/c_helpers.c
  vendor/atf/dist/test-programs/cpp_helpers.cpp
  vendor/atf/dist/test-programs/sh_helpers.sh

Added: vendor/atf/dist/INSTALL
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/atf/dist/INSTALL	Fri Nov 15 21:28:06 2013	(r258191)
@@ -0,0 +1,223 @@
+Installation instructions                       Automated Testing Framework
+===========================================================================
+
+
+Introduction
+************
+
+ATF uses the GNU Automake, GNU Autoconf and GNU Libtool utilities as its
+build system.  These are used only when compiling the application from the
+source code package.  If you want to install ATF from a binary package, you
+do not need to read this document.
+
+For the impatient:
+
+  $ ./configure
+  $ make
+  Gain root privileges
+  # make install
+  Drop root privileges
+  $ make installcheck
+
+Or alternatively, install as a regular user into your home directory:
+
+  $ ./configure --prefix ~/local
+  $ make
+  $ make install
+  $ make installcheck
+
+
+Dependencies
+************
+
+To build and use ATF successfully you need:
+
+* A standards-compliant C/C++ complier.  For example, GNU GCC 2.95 will not
+  work.
+
+* A POSIX shell interpreter.
+
+* A make(1) utility.
+
+If you are building ATF from the code on the repository, you will also need
+to have GNU autoconf, automake and libtool installed.
+
+
+Regenerating the build system
+*****************************
+
+If you are building ATF from code extracted from the repository, you must
+first regenerate the files used by the build system.  You will also need to
+do this if you modify configure.ac, Makefile.am or any of the other build
+system files.  To do this, simply run:
+
+  $ autoreconf -i -s
+
+For formal releases, no extra steps are needed.
+
+
+General build procedure
+***********************
+
+To build and install the source package, you must follow these steps:
+
+1. Configure the sources to adapt to your operating system.  This is done
+   using the 'configure' script located on the sources' top directory,
+   and it is usually invoked without arguments unless you want to change
+   the installation prefix.  More details on this procedure are given on a
+   later section.
+
+2. Build the sources to generate the binaries and scripts.  Simply run
+   'make' on the sources' top directory after configuring them.  No
+   problems should arise.
+
+3. Install the program by running 'make install'.  You may need to become
+   root to issue this step.
+
+4. Issue any manual installation steps that may be required.  These are
+   described later in their own section.
+
+5. Check that the installed programs work by running 'make installcheck'.
+   You do not need to be root to do this, even though some checks will not
+   be run otherwise.
+
+
+Configuration flags
+*******************
+
+The most common, standard flags given to 'configure' are:
+
+* --prefix=directory
+  Possible values: Any path
+  Default: /usr/local
+
+  Specifies where the program (binaries and all associated files) will
+  be installed.
+
+* --sysconfdir=directory
+  Possible values: Any path
+  Default: /usr/local/etc
+
+  Specifies where the installed programs will look for configuration files.
+  '/atf' will be appended to the given path unless ATF_CONFSUBDIR is
+  redefined as explained later on.
+
+* --help
+  Shows information about all available flags and exits immediately,
+  without running any configuration tasks.
+
+The following environment variables are specific to ATF's 'configure'
+script:
+
+* ATF_BUILD_CC
+  Possible values: empty, a absolute or relative path to a C compiler.
+  Default: the value of CC as detected by the configure script.
+
+  Specifies the C compiler that ATF will use at run time whenever the
+  build-time-specific checks are used.
+
+* ATF_BUILD_CFLAGS
+  Possible values: empty, a list of valid C compiler flags.
+  Default: the value of CFLAGS as detected by the configure script.
+
+  Specifies the C compiler flags that ATF will use at run time whenever the
+  build-time-specific checks are used.
+
+* ATF_BUILD_CPP
+  Possible values: empty, a absolute or relative path to a C/C++
+  preprocessor.
+  Default: the value of CPP as detected by the configure script.
+
+  Specifies the C/C++ preprocessor that ATF will use at run time whenever
+  the build-time-specific checks are used.
+
+* ATF_BUILD_CPPFLAGS
+  Possible values: empty, a list of valid C/C++ preprocessor flags.
+  Default: the value of CPPFLAGS as detected by the configure script.
+
+  Specifies the C/C++ preprocessor flags that ATF will use at run time
+  whenever the build-time-specific checks are used.
+
+* ATF_BUILD_CXX
+  Possible values: empty, a absolute or relative path to a C++ compiler.
+  Default: the value of CXX as detected by the configure script.
+
+  Specifies the C++ compiler that ATF will use at run time whenever the
+  build-time-specific checks are used.
+
+* ATF_BUILD_CXXFLAGS
+  Possible values: empty, a list of valid C++ compiler flags.
+  Default: the value of CXXFLAGS as detected by the configure script.
+
+  Specifies the C++ compiler flags that ATF will use at run time whenever
+  the build-time-specific checks are used.
+
+* ATF_CONFSUBDIR
+  Possible values: empty, a relative path.
+  Default: atf.
+
+  Specifies the subdirectory of the configuration directory (given by the
+  --sysconfdir argument) under which ATF will search for its configuration
+  files.
+
+* ATF_SHELL
+  Possible values: empty, absolute path to a POSIX shell interpreter.
+  Default: empty.
+
+  Specifies the POSIX shell interpreter that ATF will use at run time to
+  execute its scripts and the test programs written using the atf-sh
+  library.  If empty, the configure script will try to find a suitable
+  interpreter for you.
+
+* ATF_WORKDIR
+  Possible values: empty, an absolute path.
+  Default: /tmp or /var/tmp, depending on availability.
+
+  Specifies the directory that ATF will use to place its temporary files
+  and work directories for test cases.  This is just a default and can be
+  overriden at run time.
+
+* GDB
+  Possible values: empty, absolute path to GNU GDB.
+  Default: empty.
+
+  Specifies the path to the GNU GDB binary that atf-run will use to gather
+  a stack trace of a crashing test program.  If empty, the configure script
+  will try to find a suitable binary for you.
+
+The following flags are specific to ATF's 'configure' script:
+
+* --enable-developer
+  Possible values: yes, no
+  Default: 'yes' in Git HEAD builds; 'no' in formal releases.
+
+  Enables several features useful for development, such as the inclusion
+  of debugging symbols in all objects or the enforcement of compilation
+  warnings.
+
+  The compiler will be executed with an exhaustive collection of warning
+  detection features regardless of the value of this flag.  However, such
+  warnings are only fatal when --enable-developer is 'yes'.
+
+* --enable-tools
+  Possible values: yes, no
+  Default: no.
+
+  Enables the build of the deprecated atf-config, atf-report, atf-run
+  and atf-version tools.  atf-report and atf-run have been superseded by
+  Kyua, and atf-config and atf-version are unnecessary.
+
+
+Post-installation steps
+***********************
+
+After installing ATF, you have to register the DTDs it provides into the
+system-wide XML catalog.  See the comments at the top of the files in
+${datadir}/share/xml/atf to see the correct public identifiers.  This
+directory will typically be /usr/local/share/xml/atf or /usr/share/xml/atf.
+Failure to do so will lead to further errors when processing the XML files
+generated by atf-report.
+
+
+===========================================================================
+vim: filetype=text:textwidth=75:expandtab:shiftwidth=2:softtabstop=2

Modified: vendor/atf/dist/Makefile.am
==============================================================================
--- vendor/atf/dist/Makefile.am	Fri Nov 15 20:58:29 2013	(r258190)
+++ vendor/atf/dist/Makefile.am	Fri Nov 15 21:28:06 2013	(r258191)
@@ -101,11 +101,14 @@ endif
 
 PHONY_TARGETS += installcheck-kyua
 if HAVE_KYUA
+if !ENABLE_TOOLS
+INSTALLCHECK_TARGETS += installcheck-kyua
+endif
 installcheck-kyua:
 	cd $(pkgtestsdir) && $(TESTS_ENVIRONMENT) $(KYUA) test
 endif
 
-installcheck-targets: $(INSTALLCHECK_TARGETS)
+installcheck-local: $(INSTALLCHECK_TARGETS)
 
 pkgtests_DATA = Kyuafile
 if ENABLE_TOOLS

Modified: vendor/atf/dist/Makefile.in
==============================================================================
--- vendor/atf/dist/Makefile.in	Fri Nov 15 20:58:29 2013	(r258190)
+++ vendor/atf/dist/Makefile.in	Fri Nov 15 21:28:06 2013	(r258191)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -426,6 +425,23 @@
 
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -463,10 +479,13 @@ DIST_COMMON = README $(am__configure_dep
 	$(srcdir)/bootstrap/Makefile.am.inc \
 	$(srcdir)/doc/Makefile.am.inc \
 	$(srcdir)/test-programs/Makefile.am.inc \
-	$(top_srcdir)/atf-c/defs.h.in $(top_srcdir)/configure AUTHORS \
-	COPYING INSTALL NEWS TODO admin/compile admin/config.guess \
-	admin/config.sub admin/depcomp admin/install-sh \
-	admin/ltmain.sh admin/missing
+	$(top_srcdir)/admin/compile $(top_srcdir)/admin/config.guess \
+	$(top_srcdir)/admin/config.sub $(top_srcdir)/admin/depcomp \
+	$(top_srcdir)/admin/install-sh $(top_srcdir)/admin/ltmain.sh \
+	$(top_srcdir)/admin/missing $(top_srcdir)/atf-c/defs.h.in \
+	$(top_srcdir)/configure AUTHORS COPYING INSTALL NEWS TODO \
+	admin/compile admin/config.guess admin/config.sub \
+	admin/depcomp admin/install-sh admin/ltmain.sh admin/missing
 tests_atf_c_PROGRAMS = atf-c/atf_c_test$(EXEEXT) \
 	atf-c/build_test$(EXEEXT) atf-c/check_test$(EXEEXT) \
 	atf-c/config_test$(EXEEXT) atf-c/error_test$(EXEEXT) \
@@ -474,7 +493,6 @@ tests_atf_c_PROGRAMS = atf-c/atf_c_test$
 	atf-c/tp_test$(EXEEXT) atf-c/utils_test$(EXEEXT)
 tests_atf_c_detail_PROGRAMS = atf-c/detail/dynstr_test$(EXEEXT) \
 	atf-c/detail/env_test$(EXEEXT) atf-c/detail/fs_test$(EXEEXT) \
-	atf-c/detail/test_helpers_test$(EXEEXT) \
 	atf-c/detail/list_test$(EXEEXT) atf-c/detail/map_test$(EXEEXT) \
 	atf-c/detail/process_helpers$(EXEEXT) \
 	atf-c/detail/process_test$(EXEEXT) \
@@ -487,6 +505,7 @@ tests_atf_c___PROGRAMS = atf-c++/atf_c++
 	atf-c++/tests_test$(EXEEXT) atf-c++/utils_test$(EXEEXT)
 tests_atf_c___detail_PROGRAMS =  \
 	atf-c++/detail/application_test$(EXEEXT) \
+	atf-c++/detail/auto_array_test$(EXEEXT) \
 	atf-c++/detail/env_test$(EXEEXT) \
 	atf-c++/detail/exceptions_test$(EXEEXT) \
 	atf-c++/detail/expand_test$(EXEEXT) \
@@ -550,7 +569,8 @@ tests_test_programs_PROGRAMS = test-prog
 @ENABLE_TOOLS_TRUE@am__append_9 = atf-version/revision.h.stamp \
 @ENABLE_TOOLS_TRUE@	installcheck-atf
 @ENABLE_TOOLS_TRUE@am__append_10 = installcheck-atf
-@ENABLE_TOOLS_TRUE@am__append_11 = Atffile
+@ENABLE_TOOLS_FALSE@@HAVE_KYUA_TRUE@am__append_11 = installcheck-kyua
+@ENABLE_TOOLS_TRUE@am__append_12 = Atffile
 subdir = .
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/compiler-flags.m4 \
@@ -644,7 +664,7 @@ atf_c_detail_libtest_helpers_la_OBJECTS 
 	$(am_atf_c_detail_libtest_helpers_la_OBJECTS)
 libatf_c___la_DEPENDENCIES = libatf-c.la
 am_libatf_c___la_OBJECTS = atf-c++/build.lo atf-c++/check.lo \
-	atf-c++/config.lo atf-c++/tests.lo \
+	atf-c++/config.lo atf-c++/tests.lo atf-c++/utils.lo \
 	atf-c++/detail/application.lo atf-c++/detail/env.lo \
 	atf-c++/detail/exceptions.lo atf-c++/detail/expand.lo \
 	atf-c++/detail/fs.lo atf-c++/detail/parser.lo \
@@ -704,6 +724,12 @@ atf_c___detail_application_test_OBJECTS 
 	$(am_atf_c___detail_application_test_OBJECTS)
 atf_c___detail_application_test_DEPENDENCIES =  \
 	atf-c++/detail/libtest_helpers.la $(ATF_CXX_LIBS)
+am_atf_c___detail_auto_array_test_OBJECTS =  \
+	atf-c++/detail/auto_array_test.$(OBJEXT)
+atf_c___detail_auto_array_test_OBJECTS =  \
+	$(am_atf_c___detail_auto_array_test_OBJECTS)
+atf_c___detail_auto_array_test_DEPENDENCIES =  \
+	atf-c++/detail/libtest_helpers.la $(ATF_CXX_LIBS)
 am_atf_c___detail_env_test_OBJECTS =  \
 	atf-c++/detail/env_test.$(OBJEXT)
 atf_c___detail_env_test_OBJECTS =  \
@@ -821,12 +847,6 @@ atf_c_detail_sanity_test_OBJECTS =  \
 	$(am_atf_c_detail_sanity_test_OBJECTS)
 atf_c_detail_sanity_test_DEPENDENCIES =  \
 	atf-c/detail/libtest_helpers.la libatf-c.la
-am_atf_c_detail_test_helpers_test_OBJECTS =  \
-	atf-c/detail/test_helpers_test.$(OBJEXT)
-atf_c_detail_test_helpers_test_OBJECTS =  \
-	$(am_atf_c_detail_test_helpers_test_OBJECTS)
-atf_c_detail_test_helpers_test_DEPENDENCIES =  \
-	atf-c/detail/libtest_helpers.la libatf-c.la
 am_atf_c_detail_text_test_OBJECTS = atf-c/detail/text_test.$(OBJEXT)
 atf_c_detail_text_test_OBJECTS = $(am_atf_c_detail_text_test_OBJECTS)
 atf_c_detail_text_test_DEPENDENCIES = atf-c/detail/libtest_helpers.la \
@@ -1106,6 +1126,7 @@ SOURCES = $(atf_c___detail_libtest_helpe
 	$(atf_c___build_test_SOURCES) $(atf_c___check_test_SOURCES) \
 	$(atf_c___config_test_SOURCES) \
 	$(atf_c___detail_application_test_SOURCES) \
+	$(atf_c___detail_auto_array_test_SOURCES) \
 	$(atf_c___detail_env_test_SOURCES) \
 	$(atf_c___detail_exceptions_test_SOURCES) \
 	$(atf_c___detail_expand_test_SOURCES) \
@@ -1127,7 +1148,6 @@ SOURCES = $(atf_c___detail_libtest_helpe
 	$(atf_c_detail_process_helpers_SOURCES) \
 	$(atf_c_detail_process_test_SOURCES) \
 	$(atf_c_detail_sanity_test_SOURCES) \
-	$(atf_c_detail_test_helpers_test_SOURCES) \
 	$(atf_c_detail_text_test_SOURCES) \
 	$(atf_c_detail_user_test_SOURCES) $(atf_c_error_test_SOURCES) \
 	$(atf_c_macros_test_SOURCES) $(atf_c_tc_test_SOURCES) \
@@ -1164,6 +1184,7 @@ DIST_SOURCES = $(atf_c___detail_libtest_
 	$(atf_c___atf_c___test_SOURCES) $(atf_c___build_test_SOURCES) \
 	$(atf_c___check_test_SOURCES) $(atf_c___config_test_SOURCES) \
 	$(atf_c___detail_application_test_SOURCES) \
+	$(atf_c___detail_auto_array_test_SOURCES) \
 	$(atf_c___detail_env_test_SOURCES) \
 	$(atf_c___detail_exceptions_test_SOURCES) \
 	$(atf_c___detail_expand_test_SOURCES) \
@@ -1185,7 +1206,6 @@ DIST_SOURCES = $(atf_c___detail_libtest_
 	$(atf_c_detail_process_helpers_SOURCES) \
 	$(atf_c_detail_process_test_SOURCES) \
 	$(atf_c_detail_sanity_test_SOURCES) \
-	$(atf_c_detail_test_helpers_test_SOURCES) \
 	$(atf_c_detail_text_test_SOURCES) \
 	$(atf_c_detail_user_test_SOURCES) $(atf_c_error_test_SOURCES) \
 	$(atf_c_macros_test_SOURCES) $(atf_c_tc_test_SOURCES) \
@@ -1219,6 +1239,11 @@ DIST_SOURCES = $(atf_c___detail_libtest_
 	$(bootstrap_h_tp_basic_cpp_SOURCES) \
 	$(test_programs_c_helpers_SOURCES) \
 	$(test_programs_cpp_helpers_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 man1dir = $(mandir)/man1
 man3dir = $(mandir)/man3
 man4dir = $(mandir)/man4
@@ -1237,6 +1262,8 @@ DATA = $(atf_aclocal_DATA) $(atf_c__dirp
 HEADERS = $(atf_c_HEADERS) $(atf_c___HEADERS) $(include_HEADERS)
 ETAGS = etags
 CTAGS = ctags
+CSCOPE = cscope
+AM_RECURSIVE_TARGETS = cscope
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 distdir = $(PACKAGE)-$(VERSION)
 top_distdir = $(distdir)
@@ -1246,8 +1273,10 @@ am__remove_distdir = \
       && rm -rf "$(distdir)" \
       || { sleep 5 && rm -rf "$(distdir)"; }; \
   else :; fi
+am__post_remove_distdir = $(am__remove_distdir)
 DIST_ARCHIVES = $(distdir).tar.gz
 GZIP_ENV = --best
+DIST_TARGETS = dist-gzip
 distuninstallcheck_listfiles = find . -type f -print
 am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
   | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
@@ -1283,7 +1312,6 @@ CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -1311,7 +1339,6 @@ LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
 NMEDIT = @NMEDIT@
@@ -1337,7 +1364,6 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
@@ -1380,6 +1406,7 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 oldincludedir = @oldincludedir@
@@ -1411,14 +1438,13 @@ CLEANFILES = atf-c/atf-c.pc atf-c/pkg_co
 	bootstrap/h_tp_atf_check_sh bootstrap/h_tp_fail \
 	bootstrap/h_tp_pass $(am__append_2) test-programs/sh_helpers \
 	test-programs/config_test test-programs/expect_test \
-	test-programs/fork_test test-programs/meta_data_test \
-	test-programs/result_test test-programs/srcdir_test \
-	$(am__append_7)
-EXTRA_DIST = admin/check-install.sh admin/check-style-common.awk \
-	admin/check-style-c.awk admin/check-style-cpp.awk \
-	admin/check-style-man.awk admin/check-style-shell.awk \
-	admin/check-style.sh atf-c/atf-common.m4 atf-c/atf-c.m4 \
-	atf-c/atf-c.pc.in $(tests_atf_c_DATA) atf-c/pkg_config_test.sh \
+	test-programs/meta_data_test test-programs/result_test \
+	test-programs/srcdir_test $(am__append_7)
+EXTRA_DIST = admin/check-style-common.awk admin/check-style-c.awk \
+	admin/check-style-cpp.awk admin/check-style-man.awk \
+	admin/check-style-shell.awk admin/check-style.sh \
+	atf-c/atf-common.m4 atf-c/atf-c.m4 atf-c/atf-c.pc.in \
+	$(tests_atf_c_DATA) atf-c/pkg_config_test.sh \
 	$(tests_atf_c_detail_DATA) atf-c++/atf-c++.m4 \
 	atf-c++/atf-c++.pc.in $(tests_atf_c___DATA) \
 	atf-c++/pkg_config_test.sh $(tests_atf_c___detail_DATA) \
@@ -1433,10 +1459,9 @@ EXTRA_DIST = admin/check-install.sh admi
 	bootstrap/testsuite.at $(testsuite_incs) $(am__append_3) \
 	$(tests_test_programs_DATA) test-programs/common.sh \
 	test-programs/sh_helpers.sh test-programs/config_test.sh \
-	test-programs/expect_test.sh test-programs/fork_test.sh \
-	test-programs/meta_data_test.sh test-programs/result_test.sh \
-	test-programs/srcdir_test.sh $(am__append_6) $(doc_DATA) \
-	INSTALL README $(pkgtests_DATA)
+	test-programs/expect_test.sh test-programs/meta_data_test.sh \
+	test-programs/result_test.sh test-programs/srcdir_test.sh \
+	$(am__append_6) $(doc_DATA) INSTALL README $(pkgtests_DATA)
 dist_man_MANS = atf-c/atf-c-api.3 atf-c++/atf-c++-api.3 \
 	atf-sh/atf-check.1 atf-sh/atf-sh.1 atf-sh/atf-sh-api.3 \
 	doc/atf-test-case.4 doc/atf-test-program.1 $(am__append_4)
@@ -1446,10 +1471,10 @@ man_MANS = $(am__append_1)
 noinst_DATA = INSTALL README
 noinst_LTLIBRARIES = atf-c/detail/libtest_helpers.la \
 	atf-c++/detail/libtest_helpers.la
-INSTALLCHECK_TARGETS = installcheck-bootstrap $(am__append_10)
-PHONY_TARGETS = check-install check-style installcheck-bootstrap \
-	$(am__append_9) installcheck-kyua clean-all release \
-	release-test
+INSTALLCHECK_TARGETS = installcheck-bootstrap $(am__append_10) \
+	$(am__append_11)
+PHONY_TARGETS = check-style installcheck-bootstrap $(am__append_9) \
+	installcheck-kyua clean-all release release-test
 ACLOCAL_AMFLAGS = -I m4
 AM_DISTCHECK_CONFIGURE_FLAGS = --enable-tools
 libatf_c_la_SOURCES = atf-c/build.c atf-c/build.h atf-c/check.c \
@@ -1536,10 +1561,6 @@ atf_c_detail_env_test_SOURCES = atf-c/de
 atf_c_detail_env_test_LDADD = atf-c/detail/libtest_helpers.la libatf-c.la
 atf_c_detail_fs_test_SOURCES = atf-c/detail/fs_test.c
 atf_c_detail_fs_test_LDADD = atf-c/detail/libtest_helpers.la libatf-c.la
-atf_c_detail_test_helpers_test_SOURCES = atf-c/detail/test_helpers_test.c
-atf_c_detail_test_helpers_test_LDADD = atf-c/detail/libtest_helpers.la \
-                                       libatf-c.la
-
 atf_c_detail_list_test_SOURCES = atf-c/detail/list_test.c
 atf_c_detail_list_test_LDADD = atf-c/detail/libtest_helpers.la libatf-c.la
 atf_c_detail_map_test_SOURCES = atf-c/detail/map_test.c
@@ -1557,9 +1578,10 @@ ATF_CXX_LIBS = libatf-c++.la libatf-c.la
 libatf_c___la_LIBADD = libatf-c.la
 libatf_c___la_SOURCES = atf-c++/build.cpp atf-c++/build.hpp \
 	atf-c++/check.cpp atf-c++/check.hpp atf-c++/config.cpp \
-	atf-c++/config.hpp atf-c++/macros.hpp atf-c++/tests.cpp \
-	atf-c++/tests.hpp atf-c++/utils.hpp \
-	atf-c++/detail/application.cpp atf-c++/detail/application.hpp \
+	atf-c++/config.hpp atf-c++/macros.hpp atf-c++/noncopyable.hpp \
+	atf-c++/tests.cpp atf-c++/tests.hpp atf-c++/utils.cpp \
+	atf-c++/utils.hpp atf-c++/detail/application.cpp \
+	atf-c++/detail/application.hpp atf-c++/detail/auto_array.hpp \
 	atf-c++/detail/env.cpp atf-c++/detail/env.hpp \
 	atf-c++/detail/exceptions.cpp atf-c++/detail/exceptions.hpp \
 	atf-c++/detail/expand.cpp atf-c++/detail/expand.hpp \
@@ -1574,6 +1596,7 @@ atf_c___HEADERS = atf-c++/build.hpp \
                   atf-c++/check.hpp \
                   atf-c++/config.hpp \
                   atf-c++/macros.hpp \
+                  atf-c++/noncopyable.hpp \
                   atf-c++/tests.hpp \
                   atf-c++/utils.hpp
 
@@ -1610,6 +1633,8 @@ atf_c___detail_libtest_helpers_la_SOURCE
 
 atf_c___detail_application_test_SOURCES = atf-c++/detail/application_test.cpp
 atf_c___detail_application_test_LDADD = atf-c++/detail/libtest_helpers.la $(ATF_CXX_LIBS)
+atf_c___detail_auto_array_test_SOURCES = atf-c++/detail/auto_array_test.cpp
+atf_c___detail_auto_array_test_LDADD = atf-c++/detail/libtest_helpers.la $(ATF_CXX_LIBS)
 atf_c___detail_env_test_SOURCES = atf-c++/detail/env_test.cpp
 atf_c___detail_env_test_LDADD = atf-c++/detail/libtest_helpers.la $(ATF_CXX_LIBS)
 atf_c___detail_exceptions_test_SOURCES = atf-c++/detail/exceptions_test.cpp
@@ -1680,8 +1705,8 @@ test_programs_cpp_helpers_LDADD = $(ATF_
 common_sh = $(srcdir)/test-programs/common.sh
 tests_test_programs_SCRIPTS = test-programs/sh_helpers \
 	test-programs/config_test test-programs/expect_test \
-	test-programs/fork_test test-programs/meta_data_test \
-	test-programs/result_test test-programs/srcdir_test
+	test-programs/meta_data_test test-programs/result_test \
+	test-programs/srcdir_test
 @ENABLE_TOOLS_TRUE@atf_report_atf_report_SOURCES = atf-report/atf-report.cpp \
 @ENABLE_TOOLS_TRUE@                                atf-report/reader.cpp \
 @ENABLE_TOOLS_TRUE@                                atf-report/reader.hpp
@@ -1818,7 +1843,7 @@ TESTS_ENVIRONMENT = PATH=$(prefix)/bin:$
 
 testsdir = $(exec_prefix)/tests
 pkgtestsdir = $(testsdir)/$(PACKAGE)
-pkgtests_DATA = Kyuafile $(am__append_11)
+pkgtests_DATA = Kyuafile $(am__append_12)
 BUILD_SH_TP = \
 	echo "Creating $${dst}"; \
 	echo "\#! $(bindir)/atf-sh" >$${dst}; \
@@ -1884,7 +1909,6 @@ atf-c/defs.h: $(top_builddir)/config.sta
 	cd $(top_builddir) && $(SHELL) ./config.status $@
 install-libLTLIBRARIES: $(lib_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
-	test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
 	@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
 	list2=; for p in $$list; do \
 	  if test -f $$p; then \
@@ -1892,6 +1916,8 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIE
 	  else :; fi; \
 	done; \
 	test -z "$$list2" || { \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
 	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
 	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
 	}
@@ -1907,21 +1933,25 @@ uninstall-libLTLIBRARIES:
 
 clean-libLTLIBRARIES:
 	-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
-	@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
-	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-	  test "$$dir" != "$$p" || dir=.; \
-	  echo "rm -f \"$${dir}/so_locations\""; \
-	  rm -f "$${dir}/so_locations"; \
-	done
+	@list='$(lib_LTLIBRARIES)'; \
+	locs=`for p in $$list; do echo $$p; done | \
+	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+	      sort -u`; \
+	test -z "$$locs" || { \
+	  echo rm -f $${locs}; \
+	  rm -f $${locs}; \
+	}
 
 clean-noinstLTLIBRARIES:
 	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
-	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
-	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-	  test "$$dir" != "$$p" || dir=.; \
-	  echo "rm -f \"$${dir}/so_locations\""; \
-	  rm -f "$${dir}/so_locations"; \
-	done
+	@list='$(noinst_LTLIBRARIES)'; \
+	locs=`for p in $$list; do echo $$p; done | \
+	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+	      sort -u`; \
+	test -z "$$locs" || { \
+	  echo rm -f $${locs}; \
+	  rm -f $${locs}; \
+	}
 atf-c++/detail/$(am__dirstamp):
 	@$(MKDIR_P) atf-c++/detail
 	@: > atf-c++/detail/$(am__dirstamp)
@@ -1957,6 +1987,8 @@ atf-c++/config.lo: atf-c++/$(am__dirstam
 	atf-c++/$(DEPDIR)/$(am__dirstamp)
 atf-c++/tests.lo: atf-c++/$(am__dirstamp) \
 	atf-c++/$(DEPDIR)/$(am__dirstamp)
+atf-c++/utils.lo: atf-c++/$(am__dirstamp) \
+	atf-c++/$(DEPDIR)/$(am__dirstamp)
 atf-c++/detail/application.lo: atf-c++/detail/$(am__dirstamp) \
 	atf-c++/detail/$(DEPDIR)/$(am__dirstamp)
 atf-c++/detail/env.lo: atf-c++/detail/$(am__dirstamp) \
@@ -2021,8 +2053,11 @@ libatf-c.la: $(libatf_c_la_OBJECTS) $(li
 	$(libatf_c_la_LINK) -rpath $(libdir) $(libatf_c_la_OBJECTS) $(libatf_c_la_LIBADD) $(LIBS)
 install-binPROGRAMS: $(bin_PROGRAMS)
 	@$(NORMAL_INSTALL)
-	test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
 	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+	if test -n "$$list"; then \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+	fi; \
 	for p in $$list; do echo "$$p $$p"; done | \
 	sed 's/$(EXEEXT)$$//' | \
 	while read p p1; do if test -f $$p || test -f $$p1; \
@@ -2073,8 +2108,11 @@ clean-checkPROGRAMS:
 	rm -f $$list
 install-libexecPROGRAMS: $(libexec_PROGRAMS)
 	@$(NORMAL_INSTALL)
-	test -z "$(libexecdir)" || $(MKDIR_P) "$(DESTDIR)$(libexecdir)"
 	@list='$(libexec_PROGRAMS)'; test -n "$(libexecdir)" || list=; \
+	if test -n "$$list"; then \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(libexecdir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(libexecdir)" || exit 1; \
+	fi; \
 	for p in $$list; do echo "$$p $$p"; done | \
 	sed 's/$(EXEEXT)$$//' | \
 	while read p p1; do if test -f $$p || test -f $$p1; \
@@ -2116,8 +2154,11 @@ clean-libexecPROGRAMS:
 	rm -f $$list
 install-tests_atf_cPROGRAMS: $(tests_atf_c_PROGRAMS)
 	@$(NORMAL_INSTALL)
-	test -z "$(tests_atf_cdir)" || $(MKDIR_P) "$(DESTDIR)$(tests_atf_cdir)"
 	@list='$(tests_atf_c_PROGRAMS)'; test -n "$(tests_atf_cdir)" || list=; \
+	if test -n "$$list"; then \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(tests_atf_cdir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(tests_atf_cdir)" || exit 1; \
+	fi; \
 	for p in $$list; do echo "$$p $$p"; done | \
 	sed 's/$(EXEEXT)$$//' | \
 	while read p p1; do if test -f $$p || test -f $$p1; \
@@ -2159,8 +2200,11 @@ clean-tests_atf_cPROGRAMS:
 	rm -f $$list
 install-tests_atf_c__PROGRAMS: $(tests_atf_c___PROGRAMS)
 	@$(NORMAL_INSTALL)
-	test -z "$(tests_atf_c__dir)" || $(MKDIR_P) "$(DESTDIR)$(tests_atf_c__dir)"
 	@list='$(tests_atf_c___PROGRAMS)'; test -n "$(tests_atf_c__dir)" || list=; \
+	if test -n "$$list"; then \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(tests_atf_c__dir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(tests_atf_c__dir)" || exit 1; \
+	fi; \
 	for p in $$list; do echo "$$p $$p"; done | \
 	sed 's/$(EXEEXT)$$//' | \
 	while read p p1; do if test -f $$p || test -f $$p1; \
@@ -2202,8 +2246,11 @@ clean-tests_atf_c__PROGRAMS:
 	rm -f $$list
 install-tests_atf_c___detailPROGRAMS: $(tests_atf_c___detail_PROGRAMS)
 	@$(NORMAL_INSTALL)
-	test -z "$(tests_atf_c___detaildir)" || $(MKDIR_P) "$(DESTDIR)$(tests_atf_c___detaildir)"
 	@list='$(tests_atf_c___detail_PROGRAMS)'; test -n "$(tests_atf_c___detaildir)" || list=; \
+	if test -n "$$list"; then \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(tests_atf_c___detaildir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(tests_atf_c___detaildir)" || exit 1; \
+	fi; \
 	for p in $$list; do echo "$$p $$p"; done | \
 	sed 's/$(EXEEXT)$$//' | \
 	while read p p1; do if test -f $$p || test -f $$p1; \
@@ -2245,8 +2292,11 @@ clean-tests_atf_c___detailPROGRAMS:
 	rm -f $$list
 install-tests_atf_c_detailPROGRAMS: $(tests_atf_c_detail_PROGRAMS)
 	@$(NORMAL_INSTALL)
-	test -z "$(tests_atf_c_detaildir)" || $(MKDIR_P) "$(DESTDIR)$(tests_atf_c_detaildir)"
 	@list='$(tests_atf_c_detail_PROGRAMS)'; test -n "$(tests_atf_c_detaildir)" || list=; \
+	if test -n "$$list"; then \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(tests_atf_c_detaildir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(tests_atf_c_detaildir)" || exit 1; \
+	fi; \
 	for p in $$list; do echo "$$p $$p"; done | \
 	sed 's/$(EXEEXT)$$//' | \
 	while read p p1; do if test -f $$p || test -f $$p1; \
@@ -2288,8 +2338,11 @@ clean-tests_atf_c_detailPROGRAMS:
 	rm -f $$list
 install-tests_atf_reportPROGRAMS: $(tests_atf_report_PROGRAMS)
 	@$(NORMAL_INSTALL)
-	test -z "$(tests_atf_reportdir)" || $(MKDIR_P) "$(DESTDIR)$(tests_atf_reportdir)"
 	@list='$(tests_atf_report_PROGRAMS)'; test -n "$(tests_atf_reportdir)" || list=; \
+	if test -n "$$list"; then \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(tests_atf_reportdir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(tests_atf_reportdir)" || exit 1; \
+	fi; \
 	for p in $$list; do echo "$$p $$p"; done | \
 	sed 's/$(EXEEXT)$$//' | \
 	while read p p1; do if test -f $$p || test -f $$p1; \
@@ -2331,8 +2384,11 @@ clean-tests_atf_reportPROGRAMS:
 	rm -f $$list
 install-tests_atf_runPROGRAMS: $(tests_atf_run_PROGRAMS)
 	@$(NORMAL_INSTALL)
-	test -z "$(tests_atf_rundir)" || $(MKDIR_P) "$(DESTDIR)$(tests_atf_rundir)"
 	@list='$(tests_atf_run_PROGRAMS)'; test -n "$(tests_atf_rundir)" || list=; \
+	if test -n "$$list"; then \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(tests_atf_rundir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(tests_atf_rundir)" || exit 1; \
+	fi; \
 	for p in $$list; do echo "$$p $$p"; done | \
 	sed 's/$(EXEEXT)$$//' | \
 	while read p p1; do if test -f $$p || test -f $$p1; \
@@ -2374,8 +2430,11 @@ clean-tests_atf_runPROGRAMS:
 	rm -f $$list
 install-tests_test_programsPROGRAMS: $(tests_test_programs_PROGRAMS)
 	@$(NORMAL_INSTALL)
-	test -z "$(tests_test_programsdir)" || $(MKDIR_P) "$(DESTDIR)$(tests_test_programsdir)"
 	@list='$(tests_test_programs_PROGRAMS)'; test -n "$(tests_test_programsdir)" || list=; \
+	if test -n "$$list"; then \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(tests_test_programsdir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(tests_test_programsdir)" || exit 1; \
+	fi; \
 	for p in $$list; do echo "$$p $$p"; done | \
 	sed 's/$(EXEEXT)$$//' | \
 	while read p p1; do if test -f $$p || test -f $$p1; \
@@ -2441,6 +2500,12 @@ atf-c++/detail/application_test.$(OBJEXT
 atf-c++/detail/application_test$(EXEEXT): $(atf_c___detail_application_test_OBJECTS) $(atf_c___detail_application_test_DEPENDENCIES) $(EXTRA_atf_c___detail_application_test_DEPENDENCIES) atf-c++/detail/$(am__dirstamp)
 	@rm -f atf-c++/detail/application_test$(EXEEXT)
 	$(CXXLINK) $(atf_c___detail_application_test_OBJECTS) $(atf_c___detail_application_test_LDADD) $(LIBS)
+atf-c++/detail/auto_array_test.$(OBJEXT):  \
+	atf-c++/detail/$(am__dirstamp) \
+	atf-c++/detail/$(DEPDIR)/$(am__dirstamp)
+atf-c++/detail/auto_array_test$(EXEEXT): $(atf_c___detail_auto_array_test_OBJECTS) $(atf_c___detail_auto_array_test_DEPENDENCIES) $(EXTRA_atf_c___detail_auto_array_test_DEPENDENCIES) atf-c++/detail/$(am__dirstamp)
+	@rm -f atf-c++/detail/auto_array_test$(EXEEXT)
+	$(CXXLINK) $(atf_c___detail_auto_array_test_OBJECTS) $(atf_c___detail_auto_array_test_LDADD) $(LIBS)
 atf-c++/detail/env_test.$(OBJEXT): atf-c++/detail/$(am__dirstamp) \
 	atf-c++/detail/$(DEPDIR)/$(am__dirstamp)
 atf-c++/detail/env_test$(EXEEXT): $(atf_c___detail_env_test_OBJECTS) $(atf_c___detail_env_test_DEPENDENCIES) $(EXTRA_atf_c___detail_env_test_DEPENDENCIES) atf-c++/detail/$(am__dirstamp)
@@ -2562,12 +2627,6 @@ atf-c/detail/sanity_test.$(OBJEXT): atf-
 atf-c/detail/sanity_test$(EXEEXT): $(atf_c_detail_sanity_test_OBJECTS) $(atf_c_detail_sanity_test_DEPENDENCIES) $(EXTRA_atf_c_detail_sanity_test_DEPENDENCIES) atf-c/detail/$(am__dirstamp)
 	@rm -f atf-c/detail/sanity_test$(EXEEXT)
 	$(LINK) $(atf_c_detail_sanity_test_OBJECTS) $(atf_c_detail_sanity_test_LDADD) $(LIBS)
-atf-c/detail/test_helpers_test.$(OBJEXT):  \
-	atf-c/detail/$(am__dirstamp) \
-	atf-c/detail/$(DEPDIR)/$(am__dirstamp)
-atf-c/detail/test_helpers_test$(EXEEXT): $(atf_c_detail_test_helpers_test_OBJECTS) $(atf_c_detail_test_helpers_test_DEPENDENCIES) $(EXTRA_atf_c_detail_test_helpers_test_DEPENDENCIES) atf-c/detail/$(am__dirstamp)
-	@rm -f atf-c/detail/test_helpers_test$(EXEEXT)
-	$(LINK) $(atf_c_detail_test_helpers_test_OBJECTS) $(atf_c_detail_test_helpers_test_LDADD) $(LIBS)
 atf-c/detail/text_test.$(OBJEXT): atf-c/detail/$(am__dirstamp) \
 	atf-c/detail/$(DEPDIR)/$(am__dirstamp)
 atf-c/detail/text_test$(EXEEXT): $(atf_c_detail_text_test_OBJECTS) $(atf_c_detail_text_test_DEPENDENCIES) $(EXTRA_atf_c_detail_text_test_DEPENDENCIES) atf-c/detail/$(am__dirstamp)
@@ -2850,8 +2909,11 @@ test-programs/cpp_helpers$(EXEEXT): $(te
 	$(CXXLINK) $(test_programs_cpp_helpers_OBJECTS) $(test_programs_cpp_helpers_LDADD) $(LIBS)
 install-tests_atf_cSCRIPTS: $(tests_atf_c_SCRIPTS)
 	@$(NORMAL_INSTALL)
-	test -z "$(tests_atf_cdir)" || $(MKDIR_P) "$(DESTDIR)$(tests_atf_cdir)"
 	@list='$(tests_atf_c_SCRIPTS)'; test -n "$(tests_atf_cdir)" || list=; \
+	if test -n "$$list"; then \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(tests_atf_cdir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(tests_atf_cdir)" || exit 1; \
+	fi; \
 	for p in $$list; do \
 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
 	  if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
@@ -2882,8 +2944,11 @@ uninstall-tests_atf_cSCRIPTS:
 	dir='$(DESTDIR)$(tests_atf_cdir)'; $(am__uninstall_files_from_dir)
 install-tests_atf_c__SCRIPTS: $(tests_atf_c___SCRIPTS)
 	@$(NORMAL_INSTALL)
-	test -z "$(tests_atf_c__dir)" || $(MKDIR_P) "$(DESTDIR)$(tests_atf_c__dir)"
 	@list='$(tests_atf_c___SCRIPTS)'; test -n "$(tests_atf_c__dir)" || list=; \
+	if test -n "$$list"; then \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(tests_atf_c__dir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(tests_atf_c__dir)" || exit 1; \
+	fi; \
 	for p in $$list; do \
 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
 	  if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
@@ -2914,8 +2979,11 @@ uninstall-tests_atf_c__SCRIPTS:
 	dir='$(DESTDIR)$(tests_atf_c__dir)'; $(am__uninstall_files_from_dir)
 install-tests_atf_configSCRIPTS: $(tests_atf_config_SCRIPTS)
 	@$(NORMAL_INSTALL)
-	test -z "$(tests_atf_configdir)" || $(MKDIR_P) "$(DESTDIR)$(tests_atf_configdir)"
 	@list='$(tests_atf_config_SCRIPTS)'; test -n "$(tests_atf_configdir)" || list=; \
+	if test -n "$$list"; then \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(tests_atf_configdir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(tests_atf_configdir)" || exit 1; \
+	fi; \
 	for p in $$list; do \
 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
 	  if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
@@ -2946,8 +3014,11 @@ uninstall-tests_atf_configSCRIPTS:
 	dir='$(DESTDIR)$(tests_atf_configdir)'; $(am__uninstall_files_from_dir)
 install-tests_atf_reportSCRIPTS: $(tests_atf_report_SCRIPTS)
 	@$(NORMAL_INSTALL)
-	test -z "$(tests_atf_reportdir)" || $(MKDIR_P) "$(DESTDIR)$(tests_atf_reportdir)"
 	@list='$(tests_atf_report_SCRIPTS)'; test -n "$(tests_atf_reportdir)" || list=; \
+	if test -n "$$list"; then \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(tests_atf_reportdir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(tests_atf_reportdir)" || exit 1; \
+	fi; \
 	for p in $$list; do \
 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
 	  if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
@@ -2978,8 +3049,11 @@ uninstall-tests_atf_reportSCRIPTS:
 	dir='$(DESTDIR)$(tests_atf_reportdir)'; $(am__uninstall_files_from_dir)
 install-tests_atf_runSCRIPTS: $(tests_atf_run_SCRIPTS)
 	@$(NORMAL_INSTALL)
-	test -z "$(tests_atf_rundir)" || $(MKDIR_P) "$(DESTDIR)$(tests_atf_rundir)"
 	@list='$(tests_atf_run_SCRIPTS)'; test -n "$(tests_atf_rundir)" || list=; \
+	if test -n "$$list"; then \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(tests_atf_rundir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(tests_atf_rundir)" || exit 1; \
+	fi; \
 	for p in $$list; do \
 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
 	  if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
@@ -3010,8 +3084,11 @@ uninstall-tests_atf_runSCRIPTS:
 	dir='$(DESTDIR)$(tests_atf_rundir)'; $(am__uninstall_files_from_dir)
 install-tests_atf_shSCRIPTS: $(tests_atf_sh_SCRIPTS)
 	@$(NORMAL_INSTALL)
-	test -z "$(tests_atf_shdir)" || $(MKDIR_P) "$(DESTDIR)$(tests_atf_shdir)"
 	@list='$(tests_atf_sh_SCRIPTS)'; test -n "$(tests_atf_shdir)" || list=; \
+	if test -n "$$list"; then \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(tests_atf_shdir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(tests_atf_shdir)" || exit 1; \
+	fi; \
 	for p in $$list; do \
 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
 	  if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
@@ -3042,8 +3119,11 @@ uninstall-tests_atf_shSCRIPTS:
 	dir='$(DESTDIR)$(tests_atf_shdir)'; $(am__uninstall_files_from_dir)
 install-tests_test_programsSCRIPTS: $(tests_test_programs_SCRIPTS)
 	@$(NORMAL_INSTALL)
-	test -z "$(tests_test_programsdir)" || $(MKDIR_P) "$(DESTDIR)$(tests_test_programsdir)"
 	@list='$(tests_test_programs_SCRIPTS)'; test -n "$(tests_test_programsdir)" || list=; \
+	if test -n "$$list"; then \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(tests_test_programsdir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(tests_test_programsdir)" || exit 1; \
+	fi; \
 	for p in $$list; do \
 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
 	  if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
@@ -3075,162 +3155,21 @@ uninstall-tests_test_programsSCRIPTS:
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
-	-rm -f atf-c++/atf_c++_test.$(OBJEXT)
-	-rm -f atf-c++/build.$(OBJEXT)
-	-rm -f atf-c++/build.lo
-	-rm -f atf-c++/build_test.$(OBJEXT)
-	-rm -f atf-c++/check.$(OBJEXT)
-	-rm -f atf-c++/check.lo
-	-rm -f atf-c++/check_test.$(OBJEXT)
-	-rm -f atf-c++/config.$(OBJEXT)
-	-rm -f atf-c++/config.lo
-	-rm -f atf-c++/config_test.$(OBJEXT)
-	-rm -f atf-c++/detail/application.$(OBJEXT)
-	-rm -f atf-c++/detail/application.lo
-	-rm -f atf-c++/detail/application_test.$(OBJEXT)
-	-rm -f atf-c++/detail/env.$(OBJEXT)
-	-rm -f atf-c++/detail/env.lo
-	-rm -f atf-c++/detail/env_test.$(OBJEXT)
-	-rm -f atf-c++/detail/exceptions.$(OBJEXT)
-	-rm -f atf-c++/detail/exceptions.lo
-	-rm -f atf-c++/detail/exceptions_test.$(OBJEXT)
-	-rm -f atf-c++/detail/expand.$(OBJEXT)
-	-rm -f atf-c++/detail/expand.lo
-	-rm -f atf-c++/detail/expand_test.$(OBJEXT)
-	-rm -f atf-c++/detail/fs.$(OBJEXT)
-	-rm -f atf-c++/detail/fs.lo
-	-rm -f atf-c++/detail/fs_test.$(OBJEXT)
-	-rm -f atf-c++/detail/parser.$(OBJEXT)
-	-rm -f atf-c++/detail/parser.lo
-	-rm -f atf-c++/detail/parser_test.$(OBJEXT)
-	-rm -f atf-c++/detail/process.$(OBJEXT)
-	-rm -f atf-c++/detail/process.lo
-	-rm -f atf-c++/detail/process_test.$(OBJEXT)
-	-rm -f atf-c++/detail/sanity_test.$(OBJEXT)
-	-rm -f atf-c++/detail/test_helpers.$(OBJEXT)
-	-rm -f atf-c++/detail/test_helpers.lo
-	-rm -f atf-c++/detail/text.$(OBJEXT)
-	-rm -f atf-c++/detail/text.lo
-	-rm -f atf-c++/detail/text_test.$(OBJEXT)
-	-rm -f atf-c++/detail/ui.$(OBJEXT)
-	-rm -f atf-c++/detail/ui.lo
-	-rm -f atf-c++/detail/ui_test.$(OBJEXT)
-	-rm -f atf-c++/macros_test.$(OBJEXT)
-	-rm -f atf-c++/tests.$(OBJEXT)
-	-rm -f atf-c++/tests.lo
-	-rm -f atf-c++/tests_test.$(OBJEXT)
-	-rm -f atf-c++/utils_test.$(OBJEXT)
-	-rm -f atf-c/atf_c_test.$(OBJEXT)
-	-rm -f atf-c/build_test.$(OBJEXT)
-	-rm -f atf-c/check_test.$(OBJEXT)
-	-rm -f atf-c/config_test.$(OBJEXT)
-	-rm -f atf-c/detail/atf_c_detail_libtest_helpers_la-test_helpers.$(OBJEXT)
-	-rm -f atf-c/detail/atf_c_detail_libtest_helpers_la-test_helpers.lo
-	-rm -f atf-c/detail/dynstr_test.$(OBJEXT)
-	-rm -f atf-c/detail/env_test.$(OBJEXT)
-	-rm -f atf-c/detail/fs_test.$(OBJEXT)
-	-rm -f atf-c/detail/libatf_c_la-dynstr.$(OBJEXT)
-	-rm -f atf-c/detail/libatf_c_la-dynstr.lo
-	-rm -f atf-c/detail/libatf_c_la-env.$(OBJEXT)
-	-rm -f atf-c/detail/libatf_c_la-env.lo
-	-rm -f atf-c/detail/libatf_c_la-fs.$(OBJEXT)
-	-rm -f atf-c/detail/libatf_c_la-fs.lo
-	-rm -f atf-c/detail/libatf_c_la-list.$(OBJEXT)
-	-rm -f atf-c/detail/libatf_c_la-list.lo
-	-rm -f atf-c/detail/libatf_c_la-map.$(OBJEXT)
-	-rm -f atf-c/detail/libatf_c_la-map.lo
-	-rm -f atf-c/detail/libatf_c_la-process.$(OBJEXT)
-	-rm -f atf-c/detail/libatf_c_la-process.lo
-	-rm -f atf-c/detail/libatf_c_la-sanity.$(OBJEXT)
-	-rm -f atf-c/detail/libatf_c_la-sanity.lo
-	-rm -f atf-c/detail/libatf_c_la-text.$(OBJEXT)
-	-rm -f atf-c/detail/libatf_c_la-text.lo
-	-rm -f atf-c/detail/libatf_c_la-tp_main.$(OBJEXT)
-	-rm -f atf-c/detail/libatf_c_la-tp_main.lo
-	-rm -f atf-c/detail/libatf_c_la-user.$(OBJEXT)
-	-rm -f atf-c/detail/libatf_c_la-user.lo
-	-rm -f atf-c/detail/list_test.$(OBJEXT)
-	-rm -f atf-c/detail/map_test.$(OBJEXT)
-	-rm -f atf-c/detail/process_helpers.$(OBJEXT)
-	-rm -f atf-c/detail/process_test.$(OBJEXT)
-	-rm -f atf-c/detail/sanity_test.$(OBJEXT)
-	-rm -f atf-c/detail/test_helpers_test.$(OBJEXT)
-	-rm -f atf-c/detail/text_test.$(OBJEXT)
-	-rm -f atf-c/detail/user_test.$(OBJEXT)
-	-rm -f atf-c/error_test.$(OBJEXT)
-	-rm -f atf-c/libatf_c_la-build.$(OBJEXT)
-	-rm -f atf-c/libatf_c_la-build.lo
-	-rm -f atf-c/libatf_c_la-check.$(OBJEXT)
-	-rm -f atf-c/libatf_c_la-check.lo
-	-rm -f atf-c/libatf_c_la-config.$(OBJEXT)
-	-rm -f atf-c/libatf_c_la-config.lo
-	-rm -f atf-c/libatf_c_la-error.$(OBJEXT)
-	-rm -f atf-c/libatf_c_la-error.lo
-	-rm -f atf-c/libatf_c_la-tc.$(OBJEXT)
-	-rm -f atf-c/libatf_c_la-tc.lo
-	-rm -f atf-c/libatf_c_la-tp.$(OBJEXT)
-	-rm -f atf-c/libatf_c_la-tp.lo
-	-rm -f atf-c/libatf_c_la-utils.$(OBJEXT)
-	-rm -f atf-c/libatf_c_la-utils.lo
-	-rm -f atf-c/macros_test.$(OBJEXT)
-	-rm -f atf-c/tc_test.$(OBJEXT)
-	-rm -f atf-c/tp_test.$(OBJEXT)
-	-rm -f atf-c/utils_test.$(OBJEXT)
-	-rm -f atf-config/atf-config.$(OBJEXT)
-	-rm -f atf-report/atf-report.$(OBJEXT)
-	-rm -f atf-report/atf_report_reader_test-reader.$(OBJEXT)
-	-rm -f atf-report/atf_report_reader_test-reader_test.$(OBJEXT)
-	-rm -f atf-report/fail_helper.$(OBJEXT)
-	-rm -f atf-report/misc_helpers.$(OBJEXT)
-	-rm -f atf-report/pass_helper.$(OBJEXT)
-	-rm -f atf-report/reader.$(OBJEXT)
-	-rm -f atf-run/atf_run_atf_run-atf-run.$(OBJEXT)
-	-rm -f atf-run/atf_run_atf_run-atffile.$(OBJEXT)
-	-rm -f atf-run/atf_run_atf_run-config.$(OBJEXT)
-	-rm -f atf-run/atf_run_atf_run-fs.$(OBJEXT)
-	-rm -f atf-run/atf_run_atf_run-io.$(OBJEXT)
-	-rm -f atf-run/atf_run_atf_run-requirements.$(OBJEXT)
-	-rm -f atf-run/atf_run_atf_run-signals.$(OBJEXT)
-	-rm -f atf-run/atf_run_atf_run-test-program.$(OBJEXT)
-	-rm -f atf-run/atf_run_atf_run-timer.$(OBJEXT)
-	-rm -f atf-run/atf_run_atf_run-user.$(OBJEXT)
-	-rm -f atf-run/atf_run_atffile_test-atffile.$(OBJEXT)
-	-rm -f atf-run/atf_run_atffile_test-atffile_test.$(OBJEXT)
-	-rm -f atf-run/atf_run_config_test-config.$(OBJEXT)
-	-rm -f atf-run/atf_run_config_test-config_test.$(OBJEXT)
-	-rm -f atf-run/atf_run_test_program_test-fs.$(OBJEXT)
-	-rm -f atf-run/atf_run_test_program_test-io.$(OBJEXT)
-	-rm -f atf-run/atf_run_test_program_test-requirements.$(OBJEXT)
-	-rm -f atf-run/atf_run_test_program_test-signals.$(OBJEXT)

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

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 21:29:51 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 8B56E498;
 Fri, 15 Nov 2013 21:29:51 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 60E08261E;
 Fri, 15 Nov 2013 21:29:51 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAFLTpMJ088174;
 Fri, 15 Nov 2013 21:29:51 GMT (envelope-from jmmv@svn.freebsd.org)
Received: (from jmmv@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAFLTpQH088173;
 Fri, 15 Nov 2013 21:29:51 GMT (envelope-from jmmv@svn.freebsd.org)
Message-Id: <201311152129.rAFLTpQH088173@svn.freebsd.org>
From: Julio Merino <jmmv@FreeBSD.org>
Date: Fri, 15 Nov 2013 21:29:51 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-vendor@freebsd.org
Subject: svn commit: r258192 - vendor/atf/atf-0.17
X-SVN-Group: vendor
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 21:29:51 -0000

Author: jmmv
Date: Fri Nov 15 21:29:50 2013
New Revision: 258192
URL: http://svnweb.freebsd.org/changeset/base/258192

Log:
  Tag the import of atf-0.17.
  
  Approved by:	rpaulo (mentor)

Added:
  vendor/atf/atf-0.17/
     - copied from r258191, vendor/atf/dist/

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 22:28:49 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 27FC1780;
 Fri, 15 Nov 2013 22:28:49 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 16FA028E5;
 Fri, 15 Nov 2013 22:28:49 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAFMSmRt008631;
 Fri, 15 Nov 2013 22:28:48 GMT (envelope-from delphij@svn.freebsd.org)
Received: (from delphij@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAFMSmRc008629;
 Fri, 15 Nov 2013 22:28:48 GMT (envelope-from delphij@svn.freebsd.org)
Message-Id: <201311152228.rAFMSmRc008629@svn.freebsd.org>
From: Xin LI <delphij@FreeBSD.org>
Date: Fri, 15 Nov 2013 22:28:48 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-vendor@freebsd.org
Subject: svn commit: r258193 - vendor/netcat/dist
X-SVN-Group: vendor
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 22:28:49 -0000

Author: delphij
Date: Fri Nov 15 22:28:48 2013
New Revision: 258193
URL: http://svnweb.freebsd.org/changeset/base/258193

Log:
  Vendor import from OpenBSD 5.4.

Modified:
  vendor/netcat/dist/nc.1
  vendor/netcat/dist/netcat.c

Modified: vendor/netcat/dist/nc.1
==============================================================================
--- vendor/netcat/dist/nc.1	Fri Nov 15 21:29:50 2013	(r258192)
+++ vendor/netcat/dist/nc.1	Fri Nov 15 22:28:48 2013	(r258193)
@@ -1,4 +1,4 @@
-.\"     $OpenBSD: nc.1,v 1.62 2013/03/20 09:27:56 sthen Exp $
+.\"     $OpenBSD: nc.1,v 1.63 2013/07/16 00:07:52 schwarze Exp $
 .\"
 .\" Copyright (c) 1996 David Sacerdote
 .\" All rights reserved.
@@ -25,7 +25,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd $Mdocdate: July 7 2012 $
+.Dd $Mdocdate: March 20 2013 $
 .Dt NC 1
 .Os
 .Sh NAME
@@ -452,10 +452,10 @@ if the proxy requires it:
 .Xr ssh 1
 .Sh AUTHORS
 Original implementation by *Hobbit*
-.Aq hobbit@avian.org .
+.Aq Mt hobbit@avian.org .
 .br
 Rewritten with IPv6 support by
-.An Eric Jackson Aq ericj@monkey.org .
+.An Eric Jackson Aq Mt ericj@monkey.org .
 .Sh CAVEATS
 UDP port scans using the
 .Fl uz

Modified: vendor/netcat/dist/netcat.c
==============================================================================
--- vendor/netcat/dist/netcat.c	Fri Nov 15 21:29:50 2013	(r258192)
+++ vendor/netcat/dist/netcat.c	Fri Nov 15 22:28:48 2013	(r258193)
@@ -1,4 +1,4 @@
-/* $OpenBSD: netcat.c,v 1.111 2013/03/20 09:27:56 sthen Exp $ */
+/* $OpenBSD: netcat.c,v 1.112 2013/04/29 00:28:23 okan Exp $ */
 /*
  * Copyright (c) 2001 Eric Jackson <ericj@monkey.org>
  *
@@ -523,7 +523,7 @@ unix_connect(char *path)
 		if ((s = socket(AF_UNIX, SOCK_STREAM, 0)) < 0)
 			return (-1);
 	}
-	(void)fcntl(s, F_SETFD, 1);
+	(void)fcntl(s, F_SETFD, FD_CLOEXEC);
 
 	memset(&sun, 0, sizeof(struct sockaddr_un));
 	sun.sun_family = AF_UNIX;

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 22:29:31 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 548E68AA;
 Fri, 15 Nov 2013 22:29:31 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 29C2628EA;
 Fri, 15 Nov 2013 22:29:31 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAFMTVfh008754;
 Fri, 15 Nov 2013 22:29:31 GMT (envelope-from delphij@svn.freebsd.org)
Received: (from delphij@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAFMTUvs008753;
 Fri, 15 Nov 2013 22:29:30 GMT (envelope-from delphij@svn.freebsd.org)
Message-Id: <201311152229.rAFMTUvs008753@svn.freebsd.org>
From: Xin LI <delphij@FreeBSD.org>
Date: Fri, 15 Nov 2013 22:29:30 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-vendor@freebsd.org
Subject: svn commit: r258194 - vendor/netcat/5.4
X-SVN-Group: vendor
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 22:29:31 -0000

Author: delphij
Date: Fri Nov 15 22:29:30 2013
New Revision: 258194
URL: http://svnweb.freebsd.org/changeset/base/258194

Log:
  Tag netcat from OpenBSD 5.4-RELEASE.

Added:
  vendor/netcat/5.4/
     - copied from r258193, vendor/netcat/dist/

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 22:45:15 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 82B00B8F;
 Fri, 15 Nov 2013 22:45:15 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 718FA29B1;
 Fri, 15 Nov 2013 22:45:15 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAFMjFl7014954;
 Fri, 15 Nov 2013 22:45:15 GMT (envelope-from delphij@svn.freebsd.org)
Received: (from delphij@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAFMjFuT014952;
 Fri, 15 Nov 2013 22:45:15 GMT (envelope-from delphij@svn.freebsd.org)
Message-Id: <201311152245.rAFMjFuT014952@svn.freebsd.org>
From: Xin LI <delphij@FreeBSD.org>
Date: Fri, 15 Nov 2013 22:45:15 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258195 - head/contrib/netcat
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 22:45:15 -0000

Author: delphij
Date: Fri Nov 15 22:45:14 2013
New Revision: 258195
URL: http://svnweb.freebsd.org/changeset/base/258195

Log:
  MFV: netcat from OpenBSD 5.4.
  
  No functional change.

Modified:
  head/contrib/netcat/nc.1
  head/contrib/netcat/netcat.c
Directory Properties:
  head/contrib/netcat/   (props changed)

Modified: head/contrib/netcat/nc.1
==============================================================================
--- head/contrib/netcat/nc.1	Fri Nov 15 22:29:30 2013	(r258194)
+++ head/contrib/netcat/nc.1	Fri Nov 15 22:45:14 2013	(r258195)
@@ -1,4 +1,4 @@
-.\"     $OpenBSD: nc.1,v 1.62 2013/03/20 09:27:56 sthen Exp $
+.\"     $OpenBSD: nc.1,v 1.63 2013/07/16 00:07:52 schwarze Exp $
 .\"
 .\" Copyright (c) 1996 David Sacerdote
 .\" All rights reserved.
@@ -27,7 +27,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd July 7, 2012
+.Dd March 20, 2013
 .Dt NC 1
 .Os
 .Sh NAME
@@ -490,10 +490,10 @@ if the proxy requires it:
 .Xr tcp 4
 .Sh AUTHORS
 Original implementation by *Hobbit*
-.Aq hobbit@avian.org .
+.Aq Mt hobbit@avian.org .
 .br
 Rewritten with IPv6 support by
-.An Eric Jackson Aq ericj@monkey.org .
+.An Eric Jackson Aq Mt ericj@monkey.org .
 .Sh CAVEATS
 UDP port scans using the
 .Fl uz

Modified: head/contrib/netcat/netcat.c
==============================================================================
--- head/contrib/netcat/netcat.c	Fri Nov 15 22:29:30 2013	(r258194)
+++ head/contrib/netcat/netcat.c	Fri Nov 15 22:45:14 2013	(r258195)
@@ -1,4 +1,4 @@
-/* $OpenBSD: netcat.c,v 1.111 2013/03/20 09:27:56 sthen Exp $ */
+/* $OpenBSD: netcat.c,v 1.112 2013/04/29 00:28:23 okan Exp $ */
 /*
  * Copyright (c) 2001 Eric Jackson <ericj@monkey.org>
  *
@@ -568,7 +568,7 @@ unix_connect(char *path)
 		if ((s = socket(AF_UNIX, SOCK_STREAM, 0)) < 0)
 			return (-1);
 	}
-	(void)fcntl(s, F_SETFD, 1);
+	(void)fcntl(s, F_SETFD, FD_CLOEXEC);
 
 	memset(&sun, 0, sizeof(struct sockaddr_un));
 	sun.sun_family = AF_UNIX;

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 23:31:39 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id A521D1D0;
 Fri, 15 Nov 2013 23:31:39 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 94D9C2C15;
 Fri, 15 Nov 2013 23:31:39 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAFNVdcE031156;
 Fri, 15 Nov 2013 23:31:39 GMT (envelope-from ian@svn.freebsd.org)
Received: (from ian@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAFNVdLE031155;
 Fri, 15 Nov 2013 23:31:39 GMT (envelope-from ian@svn.freebsd.org)
Message-Id: <201311152331.rAFNVdLE031155@svn.freebsd.org>
From: Ian Lepore <ian@FreeBSD.org>
Date: Fri, 15 Nov 2013 23:31:39 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258196 - head/sys/dev/nand
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 23:31:39 -0000

Author: ian
Date: Fri Nov 15 23:31:39 2013
New Revision: 258196
URL: http://svnweb.freebsd.org/changeset/base/258196

Log:
  The vendor specified field is 88 bytes, not 8 bytes.
  
  Submitted by:	Kristof Provost <kristof@sigsegv.be>

Modified:
  head/sys/dev/nand/nand.h

Modified: head/sys/dev/nand/nand.h
==============================================================================
--- head/sys/dev/nand/nand.h	Fri Nov 15 22:45:14 2013	(r258195)
+++ head/sys/dev/nand/nand.h	Fri Nov 15 23:31:39 2013	(r258196)
@@ -31,6 +31,7 @@
 
 #include <sys/bus.h>
 #include <sys/param.h>
+#include <sys/systm.h>
 #include <sys/lock.h>
 #include <sys/sx.h>
 #include <sys/taskqueue.h>
@@ -218,9 +219,10 @@ struct onfi_params {
 	uint8_t		driver_strength_support;
 	uint8_t		res4[12];
 	uint16_t	vendor_rev;
-	uint8_t		vendor_spec[8];
+	uint8_t		vendor_spec[88];
 	uint16_t	crc;
 }__attribute__((packed));
+CTASSERT(sizeof(struct onfi_params) == 256);
 
 struct nand_ecc_data {
 	int	eccsize;		/* Number of data bytes per ECC step */

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 23:35:11 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 29EB1381;
 Fri, 15 Nov 2013 23:35:11 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 195902C40;
 Fri, 15 Nov 2013 23:35:11 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAFNZAEf031643;
 Fri, 15 Nov 2013 23:35:10 GMT (envelope-from ian@svn.freebsd.org)
Received: (from ian@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAFNZAXm031642;
 Fri, 15 Nov 2013 23:35:10 GMT (envelope-from ian@svn.freebsd.org)
Message-Id: <201311152335.rAFNZAXm031642@svn.freebsd.org>
From: Ian Lepore <ian@FreeBSD.org>
Date: Fri, 15 Nov 2013 23:35:10 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258197 - head/sys/dev/nand
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 23:35:11 -0000

Author: ian
Date: Fri Nov 15 23:35:10 2013
New Revision: 258197
URL: http://svnweb.freebsd.org/changeset/base/258197

Log:
  Update the onfi_params struct to ONFI revision 3.2 (06 12 2013).
  
  Submitted by:	Kristof Provost <kristof@sigsegv.be> (cleanup) and me (orig).

Modified:
  head/sys/dev/nand/nand.h

Modified: head/sys/dev/nand/nand.h
==============================================================================
--- head/sys/dev/nand/nand.h	Fri Nov 15 23:31:39 2013	(r258196)
+++ head/sys/dev/nand/nand.h	Fri Nov 15 23:35:10 2013	(r258197)
@@ -178,12 +178,17 @@ struct onfi_params {
 	uint16_t	rev;
 	uint16_t	features;
 	uint16_t	optional_commands;
-	uint8_t		res1[22];
+	uint8_t		primary_advanced_command;
+	uint8_t		res1;
+	uint16_t	extended_parameter_page_length;
+	uint8_t		parameter_page_count;
+	uint8_t		res2[17];
 	char		manufacturer_name[12];
 	char		device_model[20];
 	uint8_t		manufacturer_id;
-	uint16_t	date;
-	uint8_t		res2[13];
+	uint8_t		manufacture_date_yy;
+	uint8_t		manufacture_date_ww;
+	uint8_t		res3[13];
 	uint32_t	bytes_per_page;
 	uint16_t	spare_bytes_per_page;
 	uint32_t	bytes_per_partial_page;
@@ -202,7 +207,8 @@ struct onfi_params {
 	uint8_t		bits_of_ecc;
 	uint8_t		interleaved_addr_bits;
 	uint8_t		interleaved_oper_attr;
-	uint8_t		res3[13];
+	uint8_t		eznand_support;
+	uint8_t		res4[12];
 	uint8_t		pin_capacitance;
 	uint16_t	asynch_timing_mode_support;
 	uint16_t	asynch_prog_cache_timing_mode_support;
@@ -217,7 +223,12 @@ struct onfi_params {
 	uint16_t	input_capacitance;
 	uint8_t		input_capacitance_max;
 	uint8_t		driver_strength_support;
-	uint8_t		res4[12];
+	uint16_t	t_r_interleaved;
+	uint16_t	t_adl;
+	uint16_t	t_r_eznand;
+	uint8_t		nv_ddr2_features;
+	uint8_t		nv_ddr2_warmup_cycles;
+	uint8_t		res5[4];
 	uint16_t	vendor_rev;
 	uint8_t		vendor_spec[88];
 	uint16_t	crc;

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 23:35:46 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 94FEC4C0;
 Fri, 15 Nov 2013 23:35:46 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 83E312C45;
 Fri, 15 Nov 2013 23:35:46 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAFNZk9C031728;
 Fri, 15 Nov 2013 23:35:46 GMT (envelope-from delphij@svn.freebsd.org)
Received: (from delphij@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAFNZkKS031726;
 Fri, 15 Nov 2013 23:35:46 GMT (envelope-from delphij@svn.freebsd.org)
Message-Id: <201311152335.rAFNZkKS031726@svn.freebsd.org>
From: Xin LI <delphij@FreeBSD.org>
Date: Fri, 15 Nov 2013 23:35:46 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-vendor@freebsd.org
Subject: svn commit: r258198 - vendor/netcat/dist
X-SVN-Group: vendor
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 23:35:46 -0000

Author: delphij
Date: Fri Nov 15 23:35:45 2013
New Revision: 258198
URL: http://svnweb.freebsd.org/changeset/base/258198

Log:
  Vendor import OpenBSD nc as of 2013/11/15.

Modified:
  vendor/netcat/dist/nc.1
  vendor/netcat/dist/netcat.c

Modified: vendor/netcat/dist/nc.1
==============================================================================
--- vendor/netcat/dist/nc.1	Fri Nov 15 23:35:10 2013	(r258197)
+++ vendor/netcat/dist/nc.1	Fri Nov 15 23:35:45 2013	(r258198)
@@ -1,4 +1,4 @@
-.\"     $OpenBSD: nc.1,v 1.63 2013/07/16 00:07:52 schwarze Exp $
+.\"     $OpenBSD: nc.1,v 1.65 2013/08/20 21:05:20 jmc Exp $
 .\"
 .\" Copyright (c) 1996 David Sacerdote
 .\" All rights reserved.
@@ -25,7 +25,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd $Mdocdate: March 20 2013 $
+.Dd $Mdocdate: August 20 2013 $
 .Dt NC 1
 .Os
 .Sh NAME
@@ -34,7 +34,7 @@
 .Sh SYNOPSIS
 .Nm nc
 .Bk -words
-.Op Fl 46DdhklNnrStUuvz
+.Op Fl 46DdFhklNnrStUuvz
 .Op Fl I Ar length
 .Op Fl i Ar interval
 .Op Fl O Ar length
@@ -102,6 +102,21 @@ to use IPv6 addresses only.
 Enable debugging on the socket.
 .It Fl d
 Do not attempt to read from stdin.
+.It Fl F
+Pass the first connected socket using
+.Xr sendmsg 2
+to stdout and exit.
+This is useful in conjunction with
+.Fl X
+to have
+.Nm
+perform connection setup with a proxy but then leave the rest of the
+connection to another program (e.g.\&
+.Xr ssh 1
+using the
+.Xr ssh_config 5
+.Cm ProxyUseFdPass
+option).
 .It Fl h
 Prints out
 .Nm

Modified: vendor/netcat/dist/netcat.c
==============================================================================
--- vendor/netcat/dist/netcat.c	Fri Nov 15 23:35:10 2013	(r258197)
+++ vendor/netcat/dist/netcat.c	Fri Nov 15 23:35:45 2013	(r258198)
@@ -1,4 +1,4 @@
-/* $OpenBSD: netcat.c,v 1.112 2013/04/29 00:28:23 okan Exp $ */
+/* $OpenBSD: netcat.c,v 1.117 2013/10/26 21:33:29 sthen Exp $ */
 /*
  * Copyright (c) 2001 Eric Jackson <ericj@monkey.org>
  *
@@ -34,6 +34,7 @@
 #include <sys/types.h>
 #include <sys/socket.h>
 #include <sys/time.h>
+#include <sys/uio.h>
 #include <sys/un.h>
 
 #include <netinet/in.h>
@@ -66,6 +67,7 @@
 
 /* Command Line Options */
 int	dflag;					/* detached, no stdin */
+int	Fflag;					/* fdpass sock to stdout */
 unsigned int iflag;				/* Interval Flag */
 int	kflag;					/* More than one connect */
 int	lflag;					/* Bind to local port */
@@ -85,7 +87,7 @@ int	Iflag;					/* TCP receive buffer siz
 int	Oflag;					/* TCP send buffer size */
 int	Sflag;					/* TCP MD5 signature option */
 int	Tflag = -1;				/* IP Type of Service */
-u_int	rtableid;
+int	rtableid = -1;
 
 int timeout = -1;
 int family = AF_UNSPEC;
@@ -97,6 +99,7 @@ void	build_ports(char *);
 void	help(void);
 int	local_listen(char *, char *, struct addrinfo);
 void	readwrite(int);
+void	fdpass(int nfd) __attribute__((noreturn));
 int	remote_connect(const char *, const char *, struct addrinfo);
 int	timeout_connect(int, const struct sockaddr *, socklen_t);
 int	socks_connect(const char *, const char *, struct addrinfo,
@@ -130,9 +133,10 @@ main(int argc, char *argv[])
 	host = NULL;
 	uport = NULL;
 	sv = NULL;
+	rtableid = getrtable();
 
 	while ((ch = getopt(argc, argv,
-	    "46DdhI:i:klNnO:P:p:rSs:tT:UuV:vw:X:x:z")) != -1) {
+	    "46DdFhI:i:klNnO:P:p:rSs:tT:UuV:vw:X:x:z")) != -1) {
 		switch (ch) {
 		case '4':
 			family = AF_INET;
@@ -156,6 +160,9 @@ main(int argc, char *argv[])
 		case 'd':
 			dflag = 1;
 			break;
+		case 'F':
+			Fflag = 1;
+			break;
 		case 'h':
 			help();
 			break;
@@ -195,7 +202,7 @@ main(int argc, char *argv[])
 			uflag = 1;
 			break;
 		case 'V':
-			rtableid = (unsigned int)strtonum(optarg, 0,
+			rtableid = (int)strtonum(optarg, 0,
 			    RT_TABLEID_MAX, &errstr);
 			if (errstr)
 				errx(1, "rtable %s: %s", errstr, optarg);
@@ -463,7 +470,9 @@ main(int argc, char *argv[])
 				    uflag ? "udp" : "tcp",
 				    sv ? sv->s_name : "*");
 			}
-			if (!zflag)
+			if (Fflag)
+				fdpass(s);
+			else if (!zflag)
 				readwrite(s);
 		}
 	}
@@ -580,11 +589,9 @@ remote_connect(const char *host, const c
 		    res0->ai_protocol)) < 0)
 			continue;
 
-		if (rtableid) {
-			if (setsockopt(s, SOL_SOCKET, SO_RTABLE, &rtableid,
-			    sizeof(rtableid)) == -1)
-				err(1, "setsockopt SO_RTABLE");
-		}
+		if (rtableid >= 0 && (setsockopt(s, SOL_SOCKET, SO_RTABLE,
+		    &rtableid, sizeof(rtableid)) == -1))
+			err(1, "setsockopt SO_RTABLE");
 
 		/* Bind to a local port or source address if specified. */
 		if (sflag || pflag) {
@@ -691,11 +698,9 @@ local_listen(char *host, char *port, str
 		    res0->ai_protocol)) < 0)
 			continue;
 
-		if (rtableid) {
-			if (setsockopt(s, IPPROTO_IP, SO_RTABLE, &rtableid,
-			    sizeof(rtableid)) == -1)
-				err(1, "setsockopt SO_RTABLE");
-		}
+		if (rtableid >= 0 && (setsockopt(s, IPPROTO_IP, SO_RTABLE,
+		    &rtableid, sizeof(rtableid)) == -1))
+			err(1, "setsockopt SO_RTABLE");
 
 		ret = setsockopt(s, SOL_SOCKET, SO_REUSEPORT, &x, sizeof(x));
 		if (ret == -1)
@@ -787,6 +792,66 @@ readwrite(int nfd)
 	}
 }
 
+/*
+ * fdpass()
+ * Pass the connected file descriptor to stdout and exit.
+ */
+void
+fdpass(int nfd)
+{
+	struct msghdr mh;
+	union {
+		struct cmsghdr hdr;
+		char buf[CMSG_SPACE(sizeof(int))];
+	} cmsgbuf;
+	struct cmsghdr *cmsg;
+	struct iovec iov;
+	char c = '\0';
+	ssize_t r;
+	struct pollfd pfd;
+
+	/* Avoid obvious stupidity */
+	if (isatty(STDOUT_FILENO))
+		errx(1, "Cannot pass file descriptor to tty");
+
+	bzero(&mh, sizeof(mh));
+	bzero(&cmsgbuf, sizeof(cmsgbuf));
+	bzero(&iov, sizeof(iov));
+	bzero(&pfd, sizeof(pfd));
+
+	mh.msg_control = (caddr_t)&cmsgbuf.buf;
+	mh.msg_controllen = sizeof(cmsgbuf.buf);
+	cmsg = CMSG_FIRSTHDR(&mh);
+	cmsg->cmsg_len = CMSG_LEN(sizeof(int));
+	cmsg->cmsg_level = SOL_SOCKET;
+	cmsg->cmsg_type = SCM_RIGHTS;
+	*(int *)CMSG_DATA(cmsg) = nfd;
+
+	iov.iov_base = &c;
+	iov.iov_len = 1;
+	mh.msg_iov = &iov;
+	mh.msg_iovlen = 1;
+
+	bzero(&pfd, sizeof(pfd));
+	pfd.fd = STDOUT_FILENO;
+	for (;;) {
+		r = sendmsg(STDOUT_FILENO, &mh, 0);
+		if (r == -1) {
+			if (errno == EAGAIN || errno == EINTR) {
+				pfd.events = POLLOUT;
+				if (poll(&pfd, 1, -1) == -1)
+					err(1, "poll");
+				continue;
+			}
+			err(1, "sendmsg");
+		} else if (r == -1)
+			errx(1, "sendmsg: unexpected return value %zd", r);
+		else
+			break;
+	}
+	exit(0);
+}
+
 /* Deal with RFC 854 WILL/WONT DO/DONT negotiation. */
 void
 atelnet(int nfd, unsigned char *buf, unsigned int size)
@@ -1014,6 +1079,7 @@ help(void)
 	\t-6		Use IPv6\n\
 	\t-D		Enable the debug socket option\n\
 	\t-d		Detach from stdin\n\
+	\t-F		Pass socket fd\n\
 	\t-h		This help text\n\
 	\t-I length	TCP receive buffer length\n\
 	\t-i secs\t	Delay interval for lines sent, ports scanned\n\
@@ -1045,7 +1111,7 @@ void
 usage(int ret)
 {
 	fprintf(stderr,
-	    "usage: nc [-46DdhklNnrStUuvz] [-I length] [-i interval] [-O length]\n"
+	    "usage: nc [-46DdFhklNnrStUuvz] [-I length] [-i interval] [-O length]\n"
 	    "\t  [-P proxy_username] [-p source_port] [-s source] [-T ToS]\n"
 	    "\t  [-V rtable] [-w timeout] [-X proxy_protocol]\n"
 	    "\t  [-x proxy_address[:port]] [destination] [port]\n");

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 23:37:34 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 45D4A613;
 Fri, 15 Nov 2013 23:37:34 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 1B13B2C56;
 Fri, 15 Nov 2013 23:37:34 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAFNbXD6031961;
 Fri, 15 Nov 2013 23:37:33 GMT (envelope-from ian@svn.freebsd.org)
Received: (from ian@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAFNbXJp031960;
 Fri, 15 Nov 2013 23:37:33 GMT (envelope-from ian@svn.freebsd.org)
Message-Id: <201311152337.rAFNbXJp031960@svn.freebsd.org>
From: Ian Lepore <ian@FreeBSD.org>
Date: Fri, 15 Nov 2013 23:37:33 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258199 - head/sys/dev/nand
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 23:37:34 -0000

Author: ian
Date: Fri Nov 15 23:37:33 2013
New Revision: 258199
URL: http://svnweb.freebsd.org/changeset/base/258199

Log:
  Search for and validate the ONFI params as specified in the standard.
  
  The ONFI spec states that at least two bytes of the signature ("ONFI")
  must be present, and the CRC must be correct to have a valid parameter
  page.  If the page is not valid there are at least two backup pages where
  the data can also be found.
  
  Submitted by:	Kristof Provost <kristof@sigsegv.be> (cleanup) and me (orig).

Modified:
  head/sys/dev/nand/nand_generic.c

Modified: head/sys/dev/nand/nand_generic.c
==============================================================================
--- head/sys/dev/nand/nand_generic.c	Fri Nov 15 23:35:45 2013	(r258198)
+++ head/sys/dev/nand/nand_generic.c	Fri Nov 15 23:37:33 2013	(r258199)
@@ -319,10 +319,31 @@ check_fail(device_t nandbus)
 	return (0);
 }
 
+static uint16_t
+onfi_crc(const void *buf, size_t buflen)
+{
+	int i, j;
+	uint16_t crc;
+	const uint8_t *bufptr;
+
+	bufptr = buf;
+	crc = 0x4f4e;
+	for (j = 0; j < buflen; j++) {
+		crc ^= *bufptr++ << 8;
+		for (i = 0; i < 8; i++)
+			if (crc & 0x8000)
+				crc = (crc << 1) ^ 0x8005;
+			else
+				crc <<= 1;
+	}
+       return crc;
+}
+
 static int
 onfi_read_parameter(struct nand_chip *chip, struct onfi_params *params)
 {
 	device_t nandbus;
+	int found, sigcount, trycopy;
 
 	nand_debug(NDBG_GEN,"read parameter");
 
@@ -339,16 +360,32 @@ onfi_read_parameter(struct nand_chip *ch
 	if (NANDBUS_START_COMMAND(nandbus))
 		return (ENXIO);
 
-	NANDBUS_READ_BUFFER(nandbus, params, sizeof(struct onfi_params));
-
-	if (memcmp(params->signature, "ONFI", sizeof(params->signature))) {
-		device_printf(chip->dev, "Error: bad signature\n");
-		return (ENXIO);
+	/*
+	 * XXX Bogus DELAY, we really need a nandbus_wait_ready() here, but it's
+	 * not accessible from here (static to nandbus).
+	 */
+	DELAY(1000);
+
+	/*
+	 * The ONFI spec mandates a minimum of three copies of the parameter
+	 * data, so loop up to 3 times trying to find good data.  Each copy is
+	 * validated by a signature of "ONFI" and a crc. There is a very strange
+	 * rule that the signature is valid if any 2 of the 4 bytes are correct.
+	 */
+	for (found= 0, trycopy = 0; !found && trycopy < 3; trycopy++) {
+		NANDBUS_READ_BUFFER(nandbus, params, sizeof(struct onfi_params));
+		sigcount  = params->signature[0] == 'O';
+		sigcount += params->signature[1] == 'N';
+		sigcount += params->signature[2] == 'F';
+		sigcount += params->signature[3] == 'I';
+		if (sigcount < 2)
+			continue;
+		if (onfi_crc(params, 254) != params->crc)
+			continue;
+		found = 1;
 	}
-
-	/* TODO */
-	/* Check CRC */
-	/* Use redundant page if necessary */
+	if (!found)
+		return (ENXIO);
 
 	return (0);
 }

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 23:41:33 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 1D6987B8;
 Fri, 15 Nov 2013 23:41:33 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 0C6202CA4;
 Fri, 15 Nov 2013 23:41:33 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAFNfWq1034486;
 Fri, 15 Nov 2013 23:41:32 GMT (envelope-from ian@svn.freebsd.org)
Received: (from ian@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAFNfWJN034483;
 Fri, 15 Nov 2013 23:41:32 GMT (envelope-from ian@svn.freebsd.org)
Message-Id: <201311152341.rAFNfWJN034483@svn.freebsd.org>
From: Ian Lepore <ian@FreeBSD.org>
Date: Fri, 15 Nov 2013 23:41:32 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258200 - head/sys/dev/nand
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 23:41:33 -0000

Author: ian
Date: Fri Nov 15 23:41:32 2013
New Revision: 258200
URL: http://svnweb.freebsd.org/changeset/base/258200

Log:
  ONFI parameters are little-endian, hence we must take care to convert them
  to native endianness.  We must also pay attention to unaligned accesses.
  
  Copy the interesting parameters to a new struct so the rest of the code can
  forget about these problems.
  
  Submitted by:	Kristof Provost <kristof@sigsegv.be> (cleanup) and me (orig).

Modified:
  head/sys/dev/nand/nand.c
  head/sys/dev/nand/nand.h
  head/sys/dev/nand/nand_generic.c

Modified: head/sys/dev/nand/nand.c
==============================================================================
--- head/sys/dev/nand/nand.c	Fri Nov 15 23:37:33 2013	(r258199)
+++ head/sys/dev/nand/nand.c	Fri Nov 15 23:41:32 2013	(r258200)
@@ -115,7 +115,7 @@ nand_init(struct nand_softc *nand, devic
 }
 
 void
-nand_onfi_set_params(struct nand_chip *chip, struct onfi_params *params)
+nand_onfi_set_params(struct nand_chip *chip, struct onfi_chip_params *params)
 {
 	struct chip_geom *cg;
 

Modified: head/sys/dev/nand/nand.h
==============================================================================
--- head/sys/dev/nand/nand.h	Fri Nov 15 23:37:33 2013	(r258199)
+++ head/sys/dev/nand/nand.h	Fri Nov 15 23:41:32 2013	(r258200)
@@ -235,6 +235,20 @@ struct onfi_params {
 }__attribute__((packed));
 CTASSERT(sizeof(struct onfi_params) == 256);
 
+struct onfi_chip_params {
+	uint8_t luns;
+	uint32_t blocks_per_lun;
+	uint32_t pages_per_block;
+	uint32_t bytes_per_page;
+	uint32_t spare_bytes_per_page;
+	uint16_t t_bers;
+	uint16_t t_prog;
+	uint16_t t_r;
+	uint16_t t_ccs;
+	uint16_t features;
+	uint8_t address_cycles;
+};
+
 struct nand_ecc_data {
 	int	eccsize;		/* Number of data bytes per ECC step */
 	int	eccmode;
@@ -367,7 +381,7 @@ void nand_init(struct nand_softc *nand, 
 void nand_detach(struct nand_softc *nand);
 struct nand_params *nand_get_params(struct nand_id *id);
 
-void nand_onfi_set_params(struct nand_chip *chip, struct onfi_params *params);
+void nand_onfi_set_params(struct nand_chip *chip, struct onfi_chip_params *params);
 void nand_set_params(struct nand_chip *chip, struct nand_params *params);
 int  nand_init_stat(struct nand_chip *chip);
 void nand_destroy_stat(struct nand_chip *chip);

Modified: head/sys/dev/nand/nand_generic.c
==============================================================================
--- head/sys/dev/nand/nand_generic.c	Fri Nov 15 23:37:33 2013	(r258199)
+++ head/sys/dev/nand/nand_generic.c	Fri Nov 15 23:41:32 2013	(r258200)
@@ -34,6 +34,7 @@ __FBSDID("$FreeBSD$");
 #include <sys/proc.h>
 #include <sys/bus.h>
 #include <sys/conf.h>
+#include <sys/endian.h>
 #include <sys/kernel.h>
 #include <sys/module.h>
 #include <sys/rman.h>
@@ -73,7 +74,7 @@ static int small_program_page(device_t, 
 static int small_program_oob(device_t, uint32_t, void *, uint32_t, uint32_t);
 
 static int onfi_is_blk_bad(device_t, uint32_t, uint8_t *);
-static int onfi_read_parameter(struct nand_chip *, struct onfi_params *);
+static int onfi_read_parameter(struct nand_chip *, struct onfi_chip_params *);
 
 static int nand_send_address(device_t, int32_t, int32_t, int8_t);
 
@@ -206,7 +207,7 @@ generic_nand_attach(device_t dev)
 {
 	struct nand_chip *chip;
 	struct nandbus_ivar *ivar;
-	struct onfi_params *onfi_params;
+	struct onfi_chip_params *onfi_chip_params;
 	device_t nandbus, nfc;
 	int err;
 
@@ -225,25 +226,24 @@ generic_nand_attach(device_t dev)
 	chip->nand = device_get_softc(nfc);
 
 	if (ivar->is_onfi) {
-		onfi_params = malloc(sizeof(struct onfi_params),
+		onfi_chip_params = malloc(sizeof(struct onfi_chip_params),
 		    M_NAND, M_WAITOK | M_ZERO);
-		if (onfi_params == NULL)
-			return (ENXIO);
+		if (onfi_chip_params == NULL)
+			return (ENOMEM);
 
-		if (onfi_read_parameter(chip, onfi_params)) {
+		if (onfi_read_parameter(chip, onfi_chip_params)) {
 			nand_debug(NDBG_GEN,"Could not read parameter page!\n");
-			free(onfi_params, M_NAND);
+			free(onfi_chip_params, M_NAND);
 			return (ENXIO);
 		}
 
-		nand_onfi_set_params(chip, onfi_params);
+		nand_onfi_set_params(chip, onfi_chip_params);
 		/* Set proper column and row cycles */
-		ivar->cols = (onfi_params->address_cycles >> 4) & 0xf;
-		ivar->rows = onfi_params->address_cycles & 0xf;
-		free(onfi_params, M_NAND);
+		ivar->cols = (onfi_chip_params->address_cycles >> 4) & 0xf;
+		ivar->rows = onfi_chip_params->address_cycles & 0xf;
+		free(onfi_chip_params, M_NAND);
 
 	} else {
-
 		nand_set_params(chip, ivar->params);
 	}
 
@@ -340,9 +340,10 @@ onfi_crc(const void *buf, size_t buflen)
 }
 
 static int
-onfi_read_parameter(struct nand_chip *chip, struct onfi_params *params)
+onfi_read_parameter(struct nand_chip *chip, struct onfi_chip_params *chip_params)
 {
 	device_t nandbus;
+	struct onfi_params params;
 	int found, sigcount, trycopy;
 
 	nand_debug(NDBG_GEN,"read parameter");
@@ -373,20 +374,32 @@ onfi_read_parameter(struct nand_chip *ch
 	 * rule that the signature is valid if any 2 of the 4 bytes are correct.
 	 */
 	for (found= 0, trycopy = 0; !found && trycopy < 3; trycopy++) {
-		NANDBUS_READ_BUFFER(nandbus, params, sizeof(struct onfi_params));
-		sigcount  = params->signature[0] == 'O';
-		sigcount += params->signature[1] == 'N';
-		sigcount += params->signature[2] == 'F';
-		sigcount += params->signature[3] == 'I';
+		NANDBUS_READ_BUFFER(nandbus, &params, sizeof(struct onfi_params));
+		sigcount  = params.signature[0] == 'O';
+		sigcount += params.signature[1] == 'N';
+		sigcount += params.signature[2] == 'F';
+		sigcount += params.signature[3] == 'I';
 		if (sigcount < 2)
 			continue;
-		if (onfi_crc(params, 254) != params->crc)
+		if (onfi_crc(&params, 254) != params.crc)
 			continue;
 		found = 1;
 	}
 	if (!found)
 		return (ENXIO);
 
+	chip_params->luns = params.luns;
+	chip_params->blocks_per_lun = le32dec(&params.blocks_per_lun);
+	chip_params->pages_per_block = le32dec(&params.pages_per_block);
+	chip_params->bytes_per_page = le32dec(&params.bytes_per_page);
+	chip_params->spare_bytes_per_page = le32dec(&params.spare_bytes_per_page);
+	chip_params->t_bers = le16dec(&params.t_bers);
+	chip_params->t_prog = le16dec(&params.t_prog);
+	chip_params->t_r = le16dec(&params.t_r);
+	chip_params->t_ccs = le16dec(&params.t_ccs);
+	chip_params->features = le16dec(&params.features);
+	chip_params->address_cycles = params.address_cycles;
+
 	return (0);
 }
 

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 23:45:14 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 2166199A;
 Fri, 15 Nov 2013 23:45:14 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 110192CD7;
 Fri, 15 Nov 2013 23:45:14 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAFNjD3h034989;
 Fri, 15 Nov 2013 23:45:13 GMT (envelope-from ian@svn.freebsd.org)
Received: (from ian@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAFNjDkI034988;
 Fri, 15 Nov 2013 23:45:13 GMT (envelope-from ian@svn.freebsd.org)
Message-Id: <201311152345.rAFNjDkI034988@svn.freebsd.org>
From: Ian Lepore <ian@FreeBSD.org>
Date: Fri, 15 Nov 2013 23:45:13 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258201 - head/sys/dev/nand
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 23:45:14 -0000

Author: ian
Date: Fri Nov 15 23:45:13 2013
New Revision: 258201
URL: http://svnweb.freebsd.org/changeset/base/258201

Log:
  Move the luns field to the end of the struct, for serendipitous packing.
  (I was supposed to do this before committing it initially.)

Modified:
  head/sys/dev/nand/nand.h

Modified: head/sys/dev/nand/nand.h
==============================================================================
--- head/sys/dev/nand/nand.h	Fri Nov 15 23:41:32 2013	(r258200)
+++ head/sys/dev/nand/nand.h	Fri Nov 15 23:45:13 2013	(r258201)
@@ -236,7 +236,6 @@ struct onfi_params {
 CTASSERT(sizeof(struct onfi_params) == 256);
 
 struct onfi_chip_params {
-	uint8_t luns;
 	uint32_t blocks_per_lun;
 	uint32_t pages_per_block;
 	uint32_t bytes_per_page;
@@ -247,6 +246,7 @@ struct onfi_chip_params {
 	uint16_t t_ccs;
 	uint16_t features;
 	uint8_t address_cycles;
+	uint8_t luns;
 };
 
 struct nand_ecc_data {

From owner-svn-src-all@FreeBSD.ORG  Fri Nov 15 23:48:52 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 4DF8EB4F;
 Fri, 15 Nov 2013 23:48:52 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 246402CFF;
 Fri, 15 Nov 2013 23:48:52 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAFNmqO2035386;
 Fri, 15 Nov 2013 23:48:52 GMT (envelope-from ian@svn.freebsd.org)
Received: (from ian@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAFNmpMR035385;
 Fri, 15 Nov 2013 23:48:51 GMT (envelope-from ian@svn.freebsd.org)
Message-Id: <201311152348.rAFNmpMR035385@svn.freebsd.org>
From: Ian Lepore <ian@FreeBSD.org>
Date: Fri, 15 Nov 2013 23:48:51 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258202 - head/sys/dev/nand
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 23:48:52 -0000

Author: ian
Date: Fri Nov 15 23:48:51 2013
New Revision: 258202
URL: http://svnweb.freebsd.org/changeset/base/258202

Log:
  Rework the routine that returns a pointer to the table of software ECC
  byte positions within the OOB area to support chips with unusual OOB
  sizes such as 218 or 224 bytes.
  
  The table for 128 byte OOB works for these but it assumes 3 bytes of ECC
  per 256 byte block, and in the case of an ONFI chip the params page may
  ask for something different.  In other words, this is better but not
  yet perfect.

Modified:
  head/sys/dev/nand/nand.c

Modified: head/sys/dev/nand/nand.c
==============================================================================
--- head/sys/dev/nand/nand.c	Fri Nov 15 23:45:13 2013	(r258201)
+++ head/sys/dev/nand/nand.c	Fri Nov 15 23:48:51 2013	(r258202)
@@ -309,23 +309,22 @@ nand_get_chip_param(struct nand_chip *ch
 static uint16_t *
 default_software_ecc_positions(struct nand_chip *chip)
 {
-	struct nand_ecc_data *eccd;
-
-	eccd = &chip->nand->ecc;
-
-	if (eccd->eccpositions)
-		return (eccd->eccpositions);
-
-	switch (chip->chip_geom.oob_size) {
-	case 16:
-		return ((uint16_t *)&default_software_ecc_positions_16);
-	case 64:
-		return ((uint16_t *)&default_software_ecc_positions_64);
-	case 128:
-		return ((uint16_t *)&default_software_ecc_positions_128);
-	default:
-		return (NULL); /* No ecc bytes positions defs available */
-	}
+	/* If positions have been set already, use them. */
+	if (chip->nand->ecc.eccpositions)
+		return (chip->nand->ecc.eccpositions);
+
+	/*
+	 * XXX Note that the following logic isn't really sufficient, especially
+	 * in the ONFI case where the number of ECC bytes can be dictated by
+	 * values in the parameters page, and that could lead to needing more
+	 * byte positions than exist within the tables of software-ecc defaults.
+	 */
+	if (chip->chip_geom.oob_size >= 128)
+		return (default_software_ecc_positions_128);
+	if (chip->chip_geom.oob_size >= 64)
+		return (default_software_ecc_positions_64);
+	else if (chip->chip_geom.oob_size >= 16)
+		return (default_software_ecc_positions_16);
 
 	return (NULL);
 }

From owner-svn-src-all@FreeBSD.ORG  Sat Nov 16 00:31:35 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 11BFE425;
 Sat, 16 Nov 2013 00:31:35 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id E5D3A2F78;
 Sat, 16 Nov 2013 00:31:34 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAG0VYvC052116;
 Sat, 16 Nov 2013 00:31:34 GMT (envelope-from edavis@svn.freebsd.org)
Received: (from edavis@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAG0VX8N052105;
 Sat, 16 Nov 2013 00:31:33 GMT (envelope-from edavis@svn.freebsd.org)
Message-Id: <201311160031.rAG0VX8N052105@svn.freebsd.org>
From: Eric Davis <edavis@FreeBSD.org>
Date: Sat, 16 Nov 2013 00:31:33 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject: svn commit: r258203 - stable/10/sys/dev/bxe
X-SVN-Group: stable-10
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 16 Nov 2013 00:31:35 -0000

Author: edavis
Date: Sat Nov 16 00:31:32 2013
New Revision: 258203
URL: http://svnweb.freebsd.org/changeset/base/258203

Log:
  Merge r258187 from head.
  
  Approved by:	re@ (delphij)
  Approved by:	davidch (mentor)

Modified:
  stable/10/sys/dev/bxe/bxe.c
  stable/10/sys/dev/bxe/bxe.h
  stable/10/sys/dev/bxe/bxe_elink.c
  stable/10/sys/dev/bxe/ecore_hsi.h
  stable/10/sys/dev/bxe/ecore_init.h
  stable/10/sys/dev/bxe/ecore_reg.h
  stable/10/sys/dev/bxe/ecore_sp.c
  stable/10/sys/dev/bxe/ecore_sp.h
Directory Properties:
  stable/10/sys/   (props changed)

Modified: stable/10/sys/dev/bxe/bxe.c
==============================================================================
--- stable/10/sys/dev/bxe/bxe.c	Fri Nov 15 23:48:51 2013	(r258202)
+++ stable/10/sys/dev/bxe/bxe.c	Sat Nov 16 00:31:32 2013	(r258203)
@@ -34,7 +34,7 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD$");
 
-#define BXE_DRIVER_VERSION "1.78.18"
+#define BXE_DRIVER_VERSION "1.78.75"
 
 #include "bxe.h"
 #include "ecore_sp.h"
@@ -303,70 +303,70 @@ static int load_count[2][3] = { {0} }; /
 SYSCTL_NODE(_hw, OID_AUTO, bxe, CTLFLAG_RD, 0, "bxe driver parameters");
 
 /* Debug */
-uint32_t bxe_debug = 0;
-TUNABLE_INT("hw.bxe.debug", &bxe_debug);
-SYSCTL_UINT(_hw_bxe, OID_AUTO, debug, (CTLFLAG_RDTUN),
-            &bxe_debug, 0, "Debug logging mode");
+unsigned long bxe_debug = 0;
+TUNABLE_ULONG("hw.bxe.debug", &bxe_debug);
+SYSCTL_ULONG(_hw_bxe, OID_AUTO, debug, (CTLFLAG_RDTUN),
+             &bxe_debug, 0, "Debug logging mode");
 
 /* Interrupt Mode: 0 (IRQ), 1 (MSI/IRQ), and 2 (MSI-X/MSI/IRQ) */
 static int bxe_interrupt_mode = INTR_MODE_MSIX;
 TUNABLE_INT("hw.bxe.interrupt_mode", &bxe_interrupt_mode);
-SYSCTL_UINT(_hw_bxe, OID_AUTO, interrupt_mode, CTLFLAG_RDTUN,
-            &bxe_interrupt_mode, 0, "Interrupt (MSI-X/MSI/INTx) mode");
+SYSCTL_INT(_hw_bxe, OID_AUTO, interrupt_mode, CTLFLAG_RDTUN,
+           &bxe_interrupt_mode, 0, "Interrupt (MSI-X/MSI/INTx) mode");
 
 /* Number of Queues: 0 (Auto) or 1 to 16 (fixed queue number) */
 static int bxe_queue_count = 4;
 TUNABLE_INT("hw.bxe.queue_count", &bxe_queue_count);
-SYSCTL_UINT(_hw_bxe, OID_AUTO, queue_count, CTLFLAG_RDTUN,
-            &bxe_queue_count, 0, "Multi-Queue queue count");
+SYSCTL_INT(_hw_bxe, OID_AUTO, queue_count, CTLFLAG_RDTUN,
+           &bxe_queue_count, 0, "Multi-Queue queue count");
 
 /* max number of buffers per queue (default RX_BD_USABLE) */
-static uint32_t bxe_max_rx_bufs = 0;
+static int bxe_max_rx_bufs = 0;
 TUNABLE_INT("hw.bxe.max_rx_bufs", &bxe_max_rx_bufs);
-SYSCTL_UINT(_hw_bxe, OID_AUTO, max_rx_bufs, CTLFLAG_RDTUN,
-            &bxe_max_rx_bufs, 0, "Maximum Number of Rx Buffers Per Queue");
+SYSCTL_INT(_hw_bxe, OID_AUTO, max_rx_bufs, CTLFLAG_RDTUN,
+           &bxe_max_rx_bufs, 0, "Maximum Number of Rx Buffers Per Queue");
 
 /* Host interrupt coalescing RX tick timer (usecs) */
-static uint32_t bxe_hc_rx_ticks = 25;
+static int bxe_hc_rx_ticks = 25;
 TUNABLE_INT("hw.bxe.hc_rx_ticks", &bxe_hc_rx_ticks);
-SYSCTL_UINT(_hw_bxe, OID_AUTO, hc_rx_ticks, CTLFLAG_RDTUN,
-            &bxe_hc_rx_ticks, 0, "Host Coalescing Rx ticks");
+SYSCTL_INT(_hw_bxe, OID_AUTO, hc_rx_ticks, CTLFLAG_RDTUN,
+           &bxe_hc_rx_ticks, 0, "Host Coalescing Rx ticks");
 
 /* Host interrupt coalescing TX tick timer (usecs) */
-static uint32_t bxe_hc_tx_ticks = 50;
+static int bxe_hc_tx_ticks = 50;
 TUNABLE_INT("hw.bxe.hc_tx_ticks", &bxe_hc_tx_ticks);
-SYSCTL_UINT(_hw_bxe, OID_AUTO, hc_tx_ticks, CTLFLAG_RDTUN,
-            &bxe_hc_tx_ticks, 0, "Host Coalescing Tx ticks");
+SYSCTL_INT(_hw_bxe, OID_AUTO, hc_tx_ticks, CTLFLAG_RDTUN,
+           &bxe_hc_tx_ticks, 0, "Host Coalescing Tx ticks");
 
 /* Maximum number of Rx packets to process at a time */
-static uint32_t bxe_rx_budget = 0xffffffff;
+static int bxe_rx_budget = 0xffffffff;
 TUNABLE_INT("hw.bxe.rx_budget", &bxe_rx_budget);
-SYSCTL_UINT(_hw_bxe, OID_AUTO, rx_budget, CTLFLAG_TUN,
-            &bxe_rx_budget, 0, "Rx processing budget");
+SYSCTL_INT(_hw_bxe, OID_AUTO, rx_budget, CTLFLAG_TUN,
+           &bxe_rx_budget, 0, "Rx processing budget");
 
 /* Maximum LRO aggregation size */
-static uint32_t bxe_max_aggregation_size = 0;
+static int bxe_max_aggregation_size = 0;
 TUNABLE_INT("hw.bxe.max_aggregation_size", &bxe_max_aggregation_size);
-SYSCTL_UINT(_hw_bxe, OID_AUTO, max_aggregation_size, CTLFLAG_TUN,
-            &bxe_max_aggregation_size, 0, "max aggregation size");
+SYSCTL_INT(_hw_bxe, OID_AUTO, max_aggregation_size, CTLFLAG_TUN,
+           &bxe_max_aggregation_size, 0, "max aggregation size");
 
 /* PCI MRRS: -1 (Auto), 0 (128B), 1 (256B), 2 (512B), 3 (1KB) */
 static int bxe_mrrs = -1;
 TUNABLE_INT("hw.bxe.mrrs", &bxe_mrrs);
-SYSCTL_UINT(_hw_bxe, OID_AUTO, mrrs, CTLFLAG_RDTUN,
-            &bxe_mrrs, 0, "PCIe maximum read request size");
+SYSCTL_INT(_hw_bxe, OID_AUTO, mrrs, CTLFLAG_RDTUN,
+           &bxe_mrrs, 0, "PCIe maximum read request size");
 
 /* AutoGrEEEn: 0 (hardware default), 1 (force on), 2 (force off) */
 static int bxe_autogreeen = 0;
 TUNABLE_INT("hw.bxe.autogreeen", &bxe_autogreeen);
-SYSCTL_UINT(_hw_bxe, OID_AUTO, autogreeen, CTLFLAG_RDTUN,
-            &bxe_autogreeen, 0, "AutoGrEEEn support");
+SYSCTL_INT(_hw_bxe, OID_AUTO, autogreeen, CTLFLAG_RDTUN,
+           &bxe_autogreeen, 0, "AutoGrEEEn support");
 
 /* 4-tuple RSS support for UDP: 0 (disabled), 1 (enabled) */
 static int bxe_udp_rss = 0;
 TUNABLE_INT("hw.bxe.udp_rss", &bxe_udp_rss);
-SYSCTL_UINT(_hw_bxe, OID_AUTO, udp_rss, CTLFLAG_RDTUN,
-            &bxe_udp_rss, 0, "UDP RSS support");
+SYSCTL_INT(_hw_bxe, OID_AUTO, udp_rss, CTLFLAG_RDTUN,
+           &bxe_udp_rss, 0, "UDP RSS support");
 
 
 #define STAT_NAME_LEN 32 /* no stat names below can be longer than this */
@@ -3604,10 +3604,10 @@ bxe_watchdog(struct bxe_softc    *sc,
         return (0);
     }
 
-    BXE_FP_TX_UNLOCK(fp);
-
     BLOGE(sc, "TX watchdog timeout on fp[%02d], resetting!\n", fp->index);
 
+    BXE_FP_TX_UNLOCK(fp);
+
     atomic_store_rel_long(&sc->chip_tq_flags, CHIP_TQ_REINIT);
     taskqueue_enqueue(sc->chip_tq, &sc->chip_tq_task);
 
@@ -3652,21 +3652,21 @@ bxe_txeof(struct bxe_softc    *sc,
 
     tx_bd_avail = bxe_tx_avail(sc, fp);
 
-    /* reset the watchdog timer if there are pending transmits */
-    if (tx_bd_avail >= BXE_TX_CLEANUP_THRESHOLD) {
+    if (tx_bd_avail < BXE_TX_CLEANUP_THRESHOLD) {
+        ifp->if_drv_flags |= IFF_DRV_OACTIVE;
+    } else {
         ifp->if_drv_flags &= ~IFF_DRV_OACTIVE;
+    }
 
-        if (tx_bd_avail >= (TX_BD_USABLE - 1)) {
-            /* clear watchdog if the tx chain is empty */
-            fp->watchdog_timer = 0;
-            return (FALSE);
-        }
-
-        /* reset watchdog if there are pending transmits */
+    if (fp->tx_pkt_prod != fp->tx_pkt_cons) {
+        /* reset the watchdog timer if there are pending transmits */
         fp->watchdog_timer = BXE_TX_TIMEOUT;
+        return (TRUE);
+    } else {
+        /* clear watchdog when there are no pending transmits */
+        fp->watchdog_timer = 0;
+        return (FALSE);
     }
-
-    return (TRUE);
 }
 
 static void
@@ -5879,13 +5879,11 @@ bxe_tx_start_locked(struct bxe_softc    
 
         /* handle any completions if we're running low */
         if (tx_bd_avail < BXE_TX_CLEANUP_THRESHOLD) {
+            /* bxe_txeof will set IFF_DRV_OACTIVE appropriately */
             bxe_txeof(sc, fp);
-        }
-
-        /* close TX if we're still running low */
-        if (tx_bd_avail < BXE_TX_CLEANUP_THRESHOLD) {
-            ifp->if_drv_flags &= ~IFF_DRV_OACTIVE;
-            break;
+            if (ifp->if_drv_flags & IFF_DRV_OACTIVE) {
+                break;
+            }
         }
     }
 
@@ -6008,13 +6006,11 @@ bxe_tx_mq_start_locked(struct bxe_softc 
 
         /* handle any completions if we're running low */
         if (tx_bd_avail < BXE_TX_CLEANUP_THRESHOLD) {
+            /* bxe_txeof will set IFF_DRV_OACTIVE appropriately */
             bxe_txeof(sc, fp);
-        }
-
-        /* close TX if we're still running low */
-        if (tx_bd_avail < BXE_TX_CLEANUP_THRESHOLD) {
-            ifp->if_drv_flags &= ~IFF_DRV_OACTIVE;
-            break;
+            if (ifp->if_drv_flags & IFF_DRV_OACTIVE) {
+                break;
+            }
         }
 
         next = drbr_dequeue(ifp, tx_br);
@@ -14173,7 +14169,7 @@ bxe_get_tunable_params(struct bxe_softc 
 
     BLOGD(sc, DBG_LOAD,
           "User Config: "
-          "debug=0x%x "
+          "debug=0x%lx "
           "interrupt_mode=%d "
           "queue_count=%d "
           "hc_rx_ticks=%d "

Modified: stable/10/sys/dev/bxe/bxe.h
==============================================================================
--- stable/10/sys/dev/bxe/bxe.h	Fri Nov 15 23:48:51 2013	(r258202)
+++ stable/10/sys/dev/bxe/bxe.h	Sat Nov 16 00:31:32 2013	(r258203)
@@ -748,6 +748,9 @@ struct bxe_fastpath {
 #define BXE_VF_ID_INVALID  0xFF
 #define IS_SRIOV(sc) 0
 
+#define GET_NUM_VFS_PER_PATH(sc) 0
+#define GET_NUM_VFS_PER_PF(sc)   0
+
 /* maximum number of fast-path interrupt contexts */
 #define FP_SB_MAX_E1x 16
 #define FP_SB_MAX_E2  HC_SB_MAX_SB_E2
@@ -1405,7 +1408,7 @@ struct bxe_softc {
 #define BXE_MF_FUNC_DIS      0x00000800
 #define BXE_TX_SWITCHING     0x00001000
 
-    uint32_t debug; /* per-instance debug logging config */
+    unsigned long debug; /* per-instance debug logging config */
 
 #define MAX_BARS 5
     struct bxe_bar bar[MAX_BARS]; /* map BARs 0, 2, 4 */
@@ -1603,7 +1606,7 @@ struct bxe_softc {
     int      max_rx_bufs;
     int      hc_rx_ticks;
     int      hc_tx_ticks;
-    uint32_t rx_budget;
+    int      rx_budget;
     int      max_aggregation_size;
     int      mrrs;
     int      autogreeen;

Modified: stable/10/sys/dev/bxe/bxe_elink.c
==============================================================================
--- stable/10/sys/dev/bxe/bxe_elink.c	Fri Nov 15 23:48:51 2013	(r258202)
+++ stable/10/sys/dev/bxe/bxe_elink.c	Sat Nov 16 00:31:32 2013	(r258203)
@@ -607,6 +607,7 @@ Theotherbitsarereservedandshouldbezero*/
 #define MDIO_WC_REG_RX1_PCI_CTRL			0x80ca
 #define MDIO_WC_REG_RX2_PCI_CTRL			0x80da
 #define MDIO_WC_REG_RX3_PCI_CTRL			0x80ea
+#define MDIO_WC_REG_RXB_ANA_RX_CONTROL_PCI		0x80fa
 #define MDIO_WC_REG_XGXSBLK2_UNICORE_MODE_10G 		0x8104
 #define MDIO_WC_REG_XGXS_STATUS3			0x8129
 #define MDIO_WC_REG_PAR_DET_10G_STATUS			0x8130
@@ -4632,6 +4633,19 @@ static void elink_warpcore_enable_AN_KR(
 
 		elink_warpcore_enable_AN_KR2(phy, params, vars);
 	} else {
+		/* Enable Auto-Detect to support 1G over CL37 as well */
+		elink_cl45_write(sc, phy, MDIO_WC_DEVAD,
+				 MDIO_WC_REG_SERDESDIGITAL_CONTROL1000X1, 0x10);
+
+		/* Force cl48 sync_status LOW to avoid getting stuck in CL73
+		 * parallel-detect loop when CL73 and CL37 are enabled.
+		 */
+		CL22_WR_OVER_CL45(sc, phy, MDIO_REG_BANK_AER_BLOCK,
+				  MDIO_AER_BLOCK_AER_REG, 0);
+		elink_cl45_write(sc, phy, MDIO_WC_DEVAD,
+				 MDIO_WC_REG_RXB_ANA_RX_CONTROL_PCI, 0x0800);
+		elink_set_aer_mmd(params, phy);
+
 		elink_disable_kr2(params, vars, phy);
 	}
 
@@ -7317,10 +7331,8 @@ static elink_status_t elink_link_initial
 		    (CHIP_IS_E1x(sc) ||
 		     CHIP_IS_E2(sc)))
 			elink_set_parallel_detection(phy, params);
-			if (params->phy[ELINK_INT_PHY].config_init)
-				params->phy[ELINK_INT_PHY].config_init(phy,
-								 params,
-								 vars);
+		if (params->phy[ELINK_INT_PHY].config_init)
+			params->phy[ELINK_INT_PHY].config_init(phy, params, vars);
 	}
 
 	/* Re-read this value in case it was changed inside config_init due to
@@ -8904,17 +8916,20 @@ static elink_status_t elink_get_edc_mode
 				*edc_mode = ELINK_EDC_MODE_ACTIVE_DAC;
 			else
 				check_limiting_mode = 1;
-		} else if (copper_module_type &
-			ELINK_SFP_EEPROM_FC_TX_TECH_BITMASK_COPPER_PASSIVE) {
-				ELINK_DEBUG_P0(sc,
-				   "Passive Copper cable detected\n");
-				*edc_mode =
-				      ELINK_EDC_MODE_PASSIVE_DAC;
 		} else {
-			ELINK_DEBUG_P1(sc,
-			   "Unknown copper-cable-type 0x%x !!!\n",
-			   copper_module_type);
-			return ELINK_STATUS_ERROR;
+			*edc_mode = ELINK_EDC_MODE_PASSIVE_DAC;
+			/* Even in case PASSIVE_DAC indication is not set,
+			 * treat it as a passive DAC cable, since some cables
+			 * don't have this indication.
+			 */
+			if (copper_module_type &
+			    ELINK_SFP_EEPROM_FC_TX_TECH_BITMASK_COPPER_PASSIVE) {
+				ELINK_DEBUG_P0(sc,
+					       "Passive Copper cable detected\n");
+			} else {
+				ELINK_DEBUG_P0(sc,
+					       "Unknown copper-cable-type\n");
+			}
 		}
 		break;
 	}
@@ -14360,6 +14375,10 @@ static uint8_t elink_analyze_link_error(
 	ELINK_DEBUG_P3(sc, "Link changed:[%x %x]->%x\n", vars->link_up,
 	   old_status, status);
 
+	/* Do not touch the link in case physical link down */
+	if ((vars->phy_flags & PHY_PHYSICAL_LINK_FLAG) == 0)
+		return 1;
+
 	/* a. Update shmem->link_status accordingly
 	 * b. Update elink_vars->link_up
 	 */

Modified: stable/10/sys/dev/bxe/ecore_hsi.h
==============================================================================
--- stable/10/sys/dev/bxe/ecore_hsi.h	Fri Nov 15 23:48:51 2013	(r258202)
+++ stable/10/sys/dev/bxe/ecore_hsi.h	Sat Nov 16 00:31:32 2013	(r258203)
@@ -1057,6 +1057,9 @@ struct port_feat_cfg {		    /* port 0: 0
 	#define PORT_FEATURE_MBA_VLAN_TAG_MASK              0x0000FFFF
 	#define PORT_FEATURE_MBA_VLAN_TAG_SHIFT                      0
 	#define PORT_FEATURE_MBA_VLAN_EN                    0x00010000
+	#define PORT_FEATUTE_BOFM_CFGD_EN                   0x00020000
+	#define PORT_FEATURE_BOFM_CFGD_FTGT                 0x00040000
+	#define PORT_FEATURE_BOFM_CFGD_VEN                  0x00080000
 
 	uint32_t Reserved1;
 	uint32_t smbus_config;
@@ -1099,8 +1102,8 @@ struct port_feat_cfg {		    /* port 0: 0
     #define PORT_FEATURE_LINK_SPEED_MASK                0x000F0000
 		#define PORT_FEATURE_LINK_SPEED_SHIFT                16
 		#define PORT_FEATURE_LINK_SPEED_AUTO                 0x00000000
-		#define PORT_FEATURE_LINK_SPEED_10M_FULL             0x00010000
-		#define PORT_FEATURE_LINK_SPEED_10M_HALF             0x00020000
+		#define PORT_FEATURE_LINK_SPEED_10M_HALF             0x00010000
+		#define PORT_FEATURE_LINK_SPEED_10M_FULL             0x00020000
 		#define PORT_FEATURE_LINK_SPEED_100M_HALF            0x00030000
 		#define PORT_FEATURE_LINK_SPEED_100M_FULL            0x00040000
 		#define PORT_FEATURE_LINK_SPEED_1G                   0x00050000
@@ -1654,6 +1657,7 @@ struct drv_func_mb {
 	#define DRV_MSG_CODE_LOAD_REQ_FORCE_LFA         0x00002000
 
 	#define DRV_MSG_CODE_USR_BLK_IMAGE_REQ          0x00000001
+	#define DRV_MSG_CODE_ISCSI_PERS_IMAGE_REQ       0x00000002
 
 	uint32_t fw_mb_header;
 	#define FW_MSG_CODE_MASK                        0xffff0000
@@ -2558,6 +2562,8 @@ struct shmem2_region {
 	uint32_t drv_func_info_size;			/* Offset 0x150 */
 	uint32_t link_attr_sync[PORT_MAX];		/* Offset 0x154 */
 	#define LINK_ATTR_SYNC_KR2_ENABLE	(1<<0)
+
+	uint32_t ibft_host_addr_hi;  /* Initialize by uEFI ROM */
 };
 
 

Modified: stable/10/sys/dev/bxe/ecore_init.h
==============================================================================
--- stable/10/sys/dev/bxe/ecore_init.h	Fri Nov 15 23:48:51 2013	(r258202)
+++ stable/10/sys/dev/bxe/ecore_init.h	Sat Nov 16 00:31:32 2013	(r258203)
@@ -717,23 +717,35 @@ static const struct {
  * [30] MCP Latched ump_tx_parity
  * [31] MCP Latched scpad_parity
  */
-#define MISC_AEU_ENABLE_MCP_PRTY_BITS	\
+#define MISC_AEU_ENABLE_MCP_PRTY_SUB_BITS	\
 	(AEU_INPUTS_ATTN_BITS_MCP_LATCHED_ROM_PARITY | \
 	 AEU_INPUTS_ATTN_BITS_MCP_LATCHED_UMP_RX_PARITY | \
-	 AEU_INPUTS_ATTN_BITS_MCP_LATCHED_UMP_TX_PARITY | \
+	 AEU_INPUTS_ATTN_BITS_MCP_LATCHED_UMP_TX_PARITY)
+
+#define MISC_AEU_ENABLE_MCP_PRTY_BITS	\
+	(MISC_AEU_ENABLE_MCP_PRTY_SUB_BITS | \
 	 AEU_INPUTS_ATTN_BITS_MCP_LATCHED_SCPAD_PARITY)
 
 /* Below registers control the MCP parity attention output. When
  * MISC_AEU_ENABLE_MCP_PRTY_BITS are set - attentions are
  * enabled, when cleared - disabled.
  */
-static const uint32_t mcp_attn_ctl_regs[] = {
-	MISC_REG_AEU_ENABLE4_FUNC_0_OUT_0,
-	MISC_REG_AEU_ENABLE4_NIG_0,
-	MISC_REG_AEU_ENABLE4_PXP_0,
-	MISC_REG_AEU_ENABLE4_FUNC_1_OUT_0,
-	MISC_REG_AEU_ENABLE4_NIG_1,
-	MISC_REG_AEU_ENABLE4_PXP_1
+static const struct {
+	uint32_t addr;
+	uint32_t bits;
+} mcp_attn_ctl_regs[] = {
+	{ MISC_REG_AEU_ENABLE4_FUNC_0_OUT_0,
+		MISC_AEU_ENABLE_MCP_PRTY_BITS },
+	{ MISC_REG_AEU_ENABLE4_NIG_0,
+		MISC_AEU_ENABLE_MCP_PRTY_SUB_BITS },
+	{ MISC_REG_AEU_ENABLE4_PXP_0,
+		MISC_AEU_ENABLE_MCP_PRTY_SUB_BITS },
+	{ MISC_REG_AEU_ENABLE4_FUNC_1_OUT_0,
+		MISC_AEU_ENABLE_MCP_PRTY_BITS },
+	{ MISC_REG_AEU_ENABLE4_NIG_1,
+		MISC_AEU_ENABLE_MCP_PRTY_SUB_BITS },
+	{ MISC_REG_AEU_ENABLE4_PXP_1,
+		MISC_AEU_ENABLE_MCP_PRTY_SUB_BITS }
 };
 
 static inline void ecore_set_mcp_parity(struct bxe_softc *sc, uint8_t enable)
@@ -742,14 +754,14 @@ static inline void ecore_set_mcp_parity(
 	uint32_t reg_val;
 
 	for (i = 0; i < ARRSIZE(mcp_attn_ctl_regs); i++) {
-		reg_val = REG_RD(sc, mcp_attn_ctl_regs[i]);
+		reg_val = REG_RD(sc, mcp_attn_ctl_regs[i].addr);
 
 		if (enable)
-			reg_val |= MISC_AEU_ENABLE_MCP_PRTY_BITS;
+			reg_val |= MISC_AEU_ENABLE_MCP_PRTY_BITS; /* Linux is using mcp_attn_ctl_regs[i].bits */
 		else
-			reg_val &= ~MISC_AEU_ENABLE_MCP_PRTY_BITS;
+			reg_val &= ~MISC_AEU_ENABLE_MCP_PRTY_BITS; /* Linux is using mcp_attn_ctl_regs[i].bits */
 
-		REG_WR(sc, mcp_attn_ctl_regs[i], reg_val);
+		REG_WR(sc, mcp_attn_ctl_regs[i].addr, reg_val);
 	}
 }
 

Modified: stable/10/sys/dev/bxe/ecore_reg.h
==============================================================================
--- stable/10/sys/dev/bxe/ecore_reg.h	Fri Nov 15 23:48:51 2013	(r258202)
+++ stable/10/sys/dev/bxe/ecore_reg.h	Sat Nov 16 00:31:32 2013	(r258203)
@@ -3384,6 +3384,7 @@ Theotherbitsarereservedandshouldbezero*/
 #define MDIO_WC_REG_RX1_PCI_CTRL			0x80ca
 #define MDIO_WC_REG_RX2_PCI_CTRL			0x80da
 #define MDIO_WC_REG_RX3_PCI_CTRL			0x80ea
+#define MDIO_WC_REG_RXB_ANA_RX_CONTROL_PCI		0x80fa
 #define MDIO_WC_REG_XGXSBLK2_UNICORE_MODE_10G		0x8104
 #define MDIO_WC_REG_XGXS_STATUS3			0x8129
 #define MDIO_WC_REG_PAR_DET_10G_STATUS			0x8130

Modified: stable/10/sys/dev/bxe/ecore_sp.c
==============================================================================
--- stable/10/sys/dev/bxe/ecore_sp.c	Fri Nov 15 23:48:51 2013	(r258202)
+++ stable/10/sys/dev/bxe/ecore_sp.c	Sat Nov 16 00:31:32 2013	(r258203)
@@ -168,16 +168,6 @@ static inline void __ecore_exe_queue_res
 	}
 }
 
-static inline void ecore_exe_queue_reset_pending(struct bxe_softc *sc,
-						 struct ecore_exe_queue_obj *o)
-{
-	ECORE_SPIN_LOCK_BH(&o->lock);
-
-	__ecore_exe_queue_reset_pending(sc, o);
-
-	ECORE_SPIN_UNLOCK_BH(&o->lock);
-}
-
 /**
  * ecore_exe_queue_step - execute one execution chunk atomically
  *
@@ -188,7 +178,6 @@ static inline void ecore_exe_queue_reset
  * (Should be called while holding the exe_queue->lock).
  */
 static inline int ecore_exe_queue_step(struct bxe_softc *sc,
-				       struct ecore_vlan_mac_obj *vobj,
 				       struct ecore_exe_queue_obj *o,
 				       unsigned long *ramrod_flags)
 {
@@ -491,7 +480,7 @@ static void __ecore_vlan_mac_h_exec_pend
 		  ramrod_flags);
 	o->head_exe_request = FALSE;
 	o->saved_ramrod_flags = 0;
-	rc = ecore_exe_queue_step(sc, o, &o->exe_queue, &ramrod_flags);
+	rc = ecore_exe_queue_step(sc, &o->exe_queue, &ramrod_flags);
 	if (rc != ECORE_SUCCESS) {
 		ECORE_ERR("execution of pending commands failed with rc %d\n",
 			  rc);
@@ -667,7 +656,8 @@ static int ecore_get_n_elements(struct b
 {
 	struct ecore_vlan_mac_registry_elem *pos;
 	uint8_t *next = base;
-	int counter = 0, read_lock;
+	int counter = 0;
+	int read_lock;
 
 	ECORE_MSG(sc, "get_n_elements - taking vlan_mac_lock (reader)\n");
 	read_lock = ecore_vlan_mac_h_read_lock(sc, o);
@@ -680,7 +670,7 @@ static int ecore_get_n_elements(struct b
 		if (counter < n) {
 			ECORE_MEMCPY(next, &pos->u, size);
 			counter++;
-			ECORE_MSG(sc, "copied element number %d to address %p element was:",
+			ECORE_MSG(sc, "copied element number %d to address %p element was:\n",
 				  counter, next);
 			next += stride + size;
 		}
@@ -1669,7 +1659,7 @@ static int __ecore_vlan_mac_execute_step
 		 */
 		rc = ECORE_PENDING;
 	} else {
-		rc = ecore_exe_queue_step(sc, o, &o->exe_queue, ramrod_flags);
+		rc = ecore_exe_queue_step(sc, &o->exe_queue, ramrod_flags);
 	}
 	ECORE_SPIN_UNLOCK_BH(&o->exe_queue.lock);
 
@@ -1693,12 +1683,19 @@ static int ecore_complete_vlan_mac(struc
 	struct ecore_raw_obj *r = &o->raw;
 	int rc;
 
+	/* Clearing the pending list & raw state should be made
+	 * atomically (as execution flow assumes they represent the same)
+	 */
+	ECORE_SPIN_LOCK_BH(&o->exe_queue.lock);
+
 	/* Reset pending list */
-	ecore_exe_queue_reset_pending(sc, &o->exe_queue);
+	__ecore_exe_queue_reset_pending(sc, &o->exe_queue);
 
 	/* Clear pending */
 	r->clear_pending(r);
 
+	ECORE_SPIN_UNLOCK_BH(&o->exe_queue.lock);
+
 	/* If ramrod failed this is most likely a SW bug */
 	if (cqe->message.error)
 		return ECORE_INVAL;
@@ -1857,6 +1854,7 @@ static int ecore_execute_vlan_mac(struct
 	 * and exit. Otherwise send a ramrod to FW.
 	 */
 	if (!drv_only) {
+		ECORE_DBG_BREAK_IF(r->check_pending(r));
 
 		/* Set pending */
 		r->set_pending(r);
@@ -2090,10 +2088,11 @@ static int ecore_vlan_mac_del_all(struct
 				  unsigned long *ramrod_flags)
 {
 	struct ecore_vlan_mac_registry_elem *pos = NULL;
-	int rc = 0, read_lock;
 	struct ecore_vlan_mac_ramrod_params p;
 	struct ecore_exe_queue_obj *exeq = &o->exe_queue;
 	struct ecore_exeq_elem *exeq_pos, *exeq_pos_n;
+	int read_lock;
+	int rc = 0;
 
 	/* Clear pending commands first */
 
@@ -2529,7 +2528,8 @@ static int ecore_set_rx_mode_e2(struct b
 			ETH_FILTER_RULES_CMD_TX_CMD;
 
 		ecore_rx_mode_set_cmd_state_e2(sc, &p->tx_accept_flags,
-			&(data->rules[rule_idx++]), FALSE);
+					       &(data->rules[rule_idx++]),
+					       FALSE);
 	}
 
 	/* Rx */
@@ -2541,7 +2541,8 @@ static int ecore_set_rx_mode_e2(struct b
 			ETH_FILTER_RULES_CMD_RX_CMD;
 
 		ecore_rx_mode_set_cmd_state_e2(sc, &p->rx_accept_flags,
-			&(data->rules[rule_idx++]), FALSE);
+					       &(data->rules[rule_idx++]),
+					       FALSE);
 	}
 
 	/* If FCoE Queue configuration has been requested configure the Rx and
@@ -2559,10 +2560,10 @@ static int ecore_set_rx_mode_e2(struct b
 			data->rules[rule_idx].cmd_general_data =
 						ETH_FILTER_RULES_CMD_TX_CMD;
 
-			ecore_rx_mode_set_cmd_state_e2(sc,
-							 &p->tx_accept_flags,
-						     &(data->rules[rule_idx++]),
+			ecore_rx_mode_set_cmd_state_e2(sc, &p->tx_accept_flags,
+						       &(data->rules[rule_idx]),
 						       TRUE);
+			rule_idx++;
 		}
 
 		/* Rx */
@@ -2573,10 +2574,10 @@ static int ecore_set_rx_mode_e2(struct b
 			data->rules[rule_idx].cmd_general_data =
 						ETH_FILTER_RULES_CMD_RX_CMD;
 
-			ecore_rx_mode_set_cmd_state_e2(sc,
-							 &p->rx_accept_flags,
-						     &(data->rules[rule_idx++]),
+			ecore_rx_mode_set_cmd_state_e2(sc, &p->rx_accept_flags,
+						       &(data->rules[rule_idx]),
 						       TRUE);
+			rule_idx++;
 		}
 	}
 
@@ -2718,7 +2719,7 @@ static int ecore_mcast_enqueue_cmd(struc
 	if (!new_cmd)
 		return ECORE_NOMEM;
 
-	ECORE_MSG(sc, "About to enqueue a new %d command. macs_list_len=%d\n", \
+	ECORE_MSG(sc, "About to enqueue a new %d command. macs_list_len=%d\n",
 		  cmd, macs_list_len);
 
 	ECORE_LIST_INIT(&new_cmd->data.macs_head);
@@ -4259,9 +4260,22 @@ void ecore_init_mac_credit_pool(struct b
 		 * CAM credit is equaly divided between all active functions
 		 * on the PATH.
 		 */
-		if ((func_num > 0)) {
+		if ((func_num > 1)) {
 			if (!CHIP_REV_IS_SLOW(sc))
-				cam_sz = (MAX_MAC_CREDIT_E2 / func_num);
+				cam_sz = (MAX_MAC_CREDIT_E2
+				- GET_NUM_VFS_PER_PATH(sc))
+				/ func_num 
+				+ GET_NUM_VFS_PER_PF(sc);
+			else
+				cam_sz = ECORE_CAM_SIZE_EMUL;
+
+			/* No need for CAM entries handling for 57712 and
+			 * newer.
+			 */
+			ecore_init_credit_pool(p, -1, cam_sz);
+		} else if (func_num == 1) {
+			if (!CHIP_REV_IS_SLOW(sc))
+				cam_sz = MAX_MAC_CREDIT_E2;
 			else
 				cam_sz = ECORE_CAM_SIZE_EMUL;
 
@@ -4332,6 +4346,10 @@ static int ecore_setup_rss(struct bxe_so
 		rss_mode = ETH_RSS_MODE_DISABLED;
 	else if (ECORE_TEST_BIT(ECORE_RSS_MODE_REGULAR, &p->rss_flags))
 		rss_mode = ETH_RSS_MODE_REGULAR;
+#if defined(__VMKLNX__) && (VMWARE_ESX_DDK_VERSION < 55000) /* ! BNX2X_UPSTREAM */
+	else if (ECORE_TEST_BIT(ECORE_RSS_MODE_ESX51, &p->rss_flags))
+		rss_mode = ETH_RSS_MODE_ESX51;
+#endif
 
 	data->rss_mode = rss_mode;
 
@@ -4456,6 +4474,16 @@ void ecore_init_rss_config_obj(struct bx
 	rss_obj->config_rss = ecore_setup_rss;
 }
 
+int validate_vlan_mac(struct bxe_softc *sc,
+		      struct ecore_vlan_mac_obj *vlan_mac)
+{
+	if (!vlan_mac->get_n_elements) {
+		ECORE_ERR("vlan mac object was not intialized\n");
+		return ECORE_INVAL;
+	}
+	return 0;
+}
+
 /********************** Queue state object ***********************************/
 
 /**

Modified: stable/10/sys/dev/bxe/ecore_sp.h
==============================================================================
--- stable/10/sys/dev/bxe/ecore_sp.h	Fri Nov 15 23:48:51 2013	(r258202)
+++ stable/10/sys/dev/bxe/ecore_sp.h	Sat Nov 16 00:31:32 2013	(r258203)
@@ -1148,6 +1148,9 @@ enum {
 	ECORE_RSS_IPV6_UDP,
 
 	ECORE_RSS_TUNNELING,
+#if defined(__VMKLNX__) && (VMWARE_ESX_DDK_VERSION < 55000) /* ! BNX2X_UPSTREAM */
+	ECORE_RSS_MODE_ESX51,
+#endif
 };
 
 struct ecore_config_rss_params {
@@ -1857,6 +1860,9 @@ int ecore_config_rss(struct bxe_softc *s
 void ecore_get_rss_ind_table(struct ecore_rss_config_obj *rss_obj,
 			     uint8_t *ind_table);
 
+/* set as inline so printout will show the offending function */
+int validate_vlan_mac(struct bxe_softc *sc,
+		      struct ecore_vlan_mac_obj *vlan_mac);
 
 #endif /* ECORE_SP_H */
 

From owner-svn-src-all@FreeBSD.ORG  Sat Nov 16 01:03:58 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 0B33FCC7;
 Sat, 16 Nov 2013 01:03:58 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id EDFAC2145;
 Sat, 16 Nov 2013 01:03:57 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAG13vAe062568;
 Sat, 16 Nov 2013 01:03:57 GMT (envelope-from pfg@svn.freebsd.org)
Received: (from pfg@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAG13uh0062561;
 Sat, 16 Nov 2013 01:03:56 GMT (envelope-from pfg@svn.freebsd.org)
Message-Id: <201311160103.rAG13uh0062561@svn.freebsd.org>
From: "Pedro F. Giffuni" <pfg@FreeBSD.org>
Date: Sat, 16 Nov 2013 01:03:56 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258204 - in head/contrib/gcc: . cp doc
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 16 Nov 2013 01:03:58 -0000

Author: pfg
Date: Sat Nov 16 01:03:56 2013
New Revision: 258204
URL: http://svnweb.freebsd.org/changeset/base/258204

Log:
  gcc: Add a new option -Wvla to warn variable length array.
  
  Obtained from:	gcc 4.3 (rev. 122851; GPLv2)
  MFC after:	3 weeks

Modified:
  head/contrib/gcc/ChangeLog.gcc43
  head/contrib/gcc/c-decl.c
  head/contrib/gcc/c.opt
  head/contrib/gcc/cp/decl.c
  head/contrib/gcc/doc/invoke.texi

Modified: head/contrib/gcc/ChangeLog.gcc43
==============================================================================
--- head/contrib/gcc/ChangeLog.gcc43	Sat Nov 16 00:31:32 2013	(r258203)
+++ head/contrib/gcc/ChangeLog.gcc43	Sat Nov 16 01:03:56 2013	(r258204)
@@ -49,6 +49,14 @@
 	* config/i386/i386.c (override_options): Likewise.
 	* doc/invoke.texi: Likewise.
 
+2007-03-12  Seongbae Park <seongbae.park@gmail.com>
+
+	* c-decl.c (warn_variable_length_array): New function.
+	Refactored from grokdeclarator to handle warn_vla
+	and handle unnamed array case.
+	(grokdeclarator): Refactored VLA warning case.
+	* c.opt (Wvla): New flag.
+
 2007-03-11  Ian Lance Taylor  <iant@google.com> (r122831 - partial)
 
 	* tree-vrp.c (vrp_int_const_binop): Handle PLUS_EXPR and

Modified: head/contrib/gcc/c-decl.c
==============================================================================
--- head/contrib/gcc/c-decl.c	Sat Nov 16 00:31:32 2013	(r258203)
+++ head/contrib/gcc/c-decl.c	Sat Nov 16 01:03:56 2013	(r258204)
@@ -3931,6 +3931,61 @@ check_bitfield_type_and_width (tree *typ
 }
 
 
+
+/* Print warning about variable length array if necessary.  */
+
+static void
+warn_variable_length_array (const char *name, tree size)
+{
+  int ped = !flag_isoc99 && pedantic && warn_vla != 0;
+  int const_size = TREE_CONSTANT (size);
+
+  if (ped)
+    {
+      if (const_size)
+	{
+	  if (name)
+	    pedwarn ("ISO C90 forbids array %qs whose size "
+		     "can%'t be evaluated",
+		     name);
+	  else
+	    pedwarn ("ISO C90 forbids array whose size "
+		     "can%'t be evaluated");
+	}
+      else
+	{
+	  if (name) 
+	    pedwarn ("ISO C90 forbids variable length array %qs",
+		     name);
+	  else
+	    pedwarn ("ISO C90 forbids variable length array");
+	}
+    }
+  else if (warn_vla > 0)
+    {
+      if (const_size)
+        {
+	  if (name)
+	    warning (OPT_Wvla,
+		     "the size of array %qs can"
+		     "%'t be evaluated", name);
+	  else
+	    warning (OPT_Wvla,
+		     "the size of array can %'t be evaluated");
+	}
+      else
+	{
+	  if (name)
+	    warning (OPT_Wvla,
+		     "variable length array %qs is used",
+		     name);
+	  else
+	    warning (OPT_Wvla,
+		     "variable length array is used");
+	}
+    }
+}
+
 /* Given declspecs and a declarator,
    determine the name and type of the object declared
    and construct a ..._DECL node for it.
@@ -4329,17 +4384,7 @@ grokdeclarator (const struct c_declarato
 		       nonconstant even if it is (eg) a const variable
 		       with known value.  */
 		    size_varies = 1;
-
-		    if (!flag_isoc99 && pedantic)
-		      {
-			if (TREE_CONSTANT (size))
-			  pedwarn ("ISO C90 forbids array %qs whose size "
-				   "can%'t be evaluated",
-				   name);
-			else
-			  pedwarn ("ISO C90 forbids variable-size array %qs",
-				   name);
-		      }
+		    warn_variable_length_array (orig_name, size);
 		    if (warn_variable_decl)
 		      warning (0, "variable-sized array %qs", name);
 		  }

Modified: head/contrib/gcc/c.opt
==============================================================================
--- head/contrib/gcc/c.opt	Sat Nov 16 00:31:32 2013	(r258203)
+++ head/contrib/gcc/c.opt	Sat Nov 16 01:03:56 2013	(r258204)
@@ -432,6 +432,10 @@ Wvariadic-macros
 C ObjC C++ ObjC++
 Do not warn about using variadic macros when -pedantic
 
+Wvla
+C ObjC C++ ObjC++ Var(warn_vla) Init(-1) Warning
+Warn if a variable length array is used
+
 Wwrite-strings
 C ObjC C++ ObjC++ Var(warn_write_strings)
 In C++, nonzero means warn about deprecated conversion from string literals to `char *'.  In C, similar warning, except that the conversion is of course not deprecated by the ISO C standard.

Modified: head/contrib/gcc/cp/decl.c
==============================================================================
--- head/contrib/gcc/cp/decl.c	Sat Nov 16 00:31:32 2013	(r258203)
+++ head/contrib/gcc/cp/decl.c	Sat Nov 16 01:03:56 2013	(r258204)
@@ -6702,12 +6702,21 @@ compute_array_index_type (tree name, tre
 	error ("size of array is not an integral constant-expression");
       size = integer_one_node;
     }
-  else if (pedantic)
+  else if (pedantic && warn_vla != 0)
     {
       if (name)
-	pedwarn ("ISO C++ forbids variable-size array %qD", name);
+	pedwarn ("ISO C++ forbids variable length array %qD", name);
       else
-	pedwarn ("ISO C++ forbids variable-size array");
+	pedwarn ("ISO C++ forbids variable length array");
+    }
+  else if (warn_vla > 0)
+    {
+      if (name)
+	warning (OPT_Wvla, 
+                 "variable length array %qD is used", name);
+      else
+	warning (OPT_Wvla, 
+                 "variable length array is used");
     }
 
   if (processing_template_decl && !TREE_CONSTANT (size))

Modified: head/contrib/gcc/doc/invoke.texi
==============================================================================
--- head/contrib/gcc/doc/invoke.texi	Sat Nov 16 00:31:32 2013	(r258203)
+++ head/contrib/gcc/doc/invoke.texi	Sat Nov 16 01:03:56 2013	(r258204)
@@ -230,7 +230,8 @@ in the following sections.
 -Wsystem-headers  -Wtrigraphs  -Wundef  -Wuninitialized @gol
 -Wunknown-pragmas  -Wno-pragmas -Wunreachable-code @gol
 -Wunused  -Wunused-function  -Wunused-label  -Wunused-parameter @gol
--Wunused-value  -Wunused-variable  -Wvariadic-macros @gol
+-Wunused-value  -Wunused-variable @gol
+-Wvariadic-macros -Wvla @gol
 -Wvolatile-register-var  -Wwrite-strings}
 
 @item C-only Warning Options
@@ -3201,6 +3202,13 @@ Warn if variadic macros are used in peda
 alternate syntax when in pedantic ISO C99 mode.  This is default.
 To inhibit the warning messages, use @option{-Wno-variadic-macros}.
 
+@item -Wvla
+@opindex Wvla
+@opindex Wno-vla
+Warn if variable length array is used in the code.
+@option{-Wno-vla} will prevent the @option{-pedantic} warning of
+the variable length array.
+
 @item -Wvolatile-register-var
 @opindex Wvolatile-register-var
 @opindex Wno-volatile-register-var

From owner-svn-src-all@FreeBSD.ORG  Sat Nov 16 01:07:03 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 15DC2F31;
 Sat, 16 Nov 2013 01:07:03 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 04BC82167;
 Sat, 16 Nov 2013 01:07:03 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAG172ln063151;
 Sat, 16 Nov 2013 01:07:02 GMT (envelope-from pfg@svn.freebsd.org)
Received: (from pfg@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAG172LS063146;
 Sat, 16 Nov 2013 01:07:02 GMT (envelope-from pfg@svn.freebsd.org)
Message-Id: <201311160107.rAG172LS063146@svn.freebsd.org>
From: "Pedro F. Giffuni" <pfg@FreeBSD.org>
Date: Sat, 16 Nov 2013 01:07:02 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258205 - head/contrib/gcclibs/libcpp
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 16 Nov 2013 01:07:03 -0000

Author: pfg
Date: Sat Nov 16 01:07:02 2013
New Revision: 258205
URL: http://svnweb.freebsd.org/changeset/base/258205

Log:
  libcpp: preprocessor speedup patches from mainline.
  
  * lex.c (_cpp_clean_line): Add uses of __builtin_expect.  Don't
  look backward at the end of the line unless we saw a backslash.
  
  * internal.h (struct cpp_reader): Add new fields:
  nonexistent_file_hash and nonexistent_file_ob.
  * files.c: Include "obstack.h".
  (find_file_in_dir): Before trying to open the file, look up the
  path name in the hash table of nonexistent files.  After failing
  to open the file, add the path name to the hash table.
  (_cpp_find_file): Cache the results of looking up the file name
  starting with the quote and bracket chain heads, if we can.
  (nonexistent_file_hash_eq): New static function.
  (_cpp_init_files): Initialize pfile->nonexistent_file_hash and
  pfile->nonexistent_file_ob.
  (_cpp_cleanup_files): Free pfile->nonexistent_file_hash and
  pfile->nonexistent_file_ob.
  
  Obtained from:	gcc 4.3 (rev. 120263, 124929 ; GPLv2)
  MFC after:	3 weeks

Modified:
  head/contrib/gcclibs/libcpp/files.c
  head/contrib/gcclibs/libcpp/internal.h
  head/contrib/gcclibs/libcpp/lex.c

Modified: head/contrib/gcclibs/libcpp/files.c
==============================================================================
--- head/contrib/gcclibs/libcpp/files.c	Sat Nov 16 01:03:56 2013	(r258204)
+++ head/contrib/gcclibs/libcpp/files.c	Sat Nov 16 01:07:02 2013	(r258205)
@@ -1,6 +1,7 @@
 /* Part of CPP library.  File handling.
    Copyright (C) 1986, 1987, 1989, 1992, 1993, 1994, 1995, 1998,
-   1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
+   Free Software Foundation, Inc.
    Written by Per Bothner, 1994.
    Based on CCCP program by Paul Rubin, June 1986
    Adapted to ANSI C, Richard Stallman, Jan 1987
@@ -26,6 +27,7 @@ Foundation, 51 Franklin Street, Fifth Fl
 #include "cpplib.h"
 #include "internal.h"
 #include "mkdeps.h"
+#include "obstack.h"
 #include "hashtab.h"
 #include "md5.h"
 #include <dirent.h>
@@ -322,6 +324,16 @@ find_file_in_dir (cpp_reader *pfile, _cp
 
   if (path)
     {
+      hashval_t hv = htab_hash_string (path);
+      char *copy;
+      void **pp;
+
+      if (htab_find_with_hash (pfile->nonexistent_file_hash, path, hv) != NULL)
+	{
+	  file->err_no = ENOENT;
+	  return false;
+	}
+
       file->path = path;
       if (pch_open_file (pfile, file, invalid_pch))
 	return true;
@@ -335,7 +347,16 @@ find_file_in_dir (cpp_reader *pfile, _cp
 	  return true;
 	}
 
+      /* We copy the path name onto an obstack partly so that we don't
+	 leak the memory, but mostly so that we don't fragment the
+	 heap.  */
+      copy = obstack_copy0 (&pfile->nonexistent_file_ob, path,
+			    strlen (path));
       free (path);
+      pp = htab_find_slot_with_hash (pfile->nonexistent_file_hash,
+				     copy, hv, INSERT);
+      *pp = copy;
+
       file->path = file->name;
     }
   else
@@ -396,6 +417,9 @@ _cpp_find_file (cpp_reader *pfile, const
   struct file_hash_entry *entry, **hash_slot;
   _cpp_file *file;
   bool invalid_pch = false;
+  bool saw_bracket_include = false;
+  bool saw_quote_include = false;
+  struct cpp_dir *found_in_cache = NULL;
 
   /* Ensure we get no confusion between cached files and directories.  */
   if (start_dir == NULL)
@@ -448,13 +472,19 @@ _cpp_find_file (cpp_reader *pfile, const
       /* Only check the cache for the starting location (done above)
 	 and the quote and bracket chain heads because there are no
 	 other possible starting points for searches.  */
-      if (file->dir != pfile->bracket_include
-	  && file->dir != pfile->quote_include)
+      if (file->dir == pfile->bracket_include)
+	saw_bracket_include = true;
+      else if (file->dir == pfile->quote_include)
+	saw_quote_include = true;
+      else
 	continue;
 
       entry = search_cache (*hash_slot, file->dir);
       if (entry)
-	break;
+	{
+	  found_in_cache = file->dir;
+	  break;
+	}
     }
 
   if (entry)
@@ -478,6 +508,29 @@ _cpp_find_file (cpp_reader *pfile, const
   entry->u.file = file;
   *hash_slot = entry;
 
+  /* If we passed the quote or bracket chain heads, cache them also.
+     This speeds up processing if there are lots of -I options.  */
+  if (saw_bracket_include
+      && pfile->bracket_include != start_dir
+      && found_in_cache != pfile->bracket_include)
+    {
+      entry = new_file_hash_entry (pfile);
+      entry->next = *hash_slot;
+      entry->start_dir = pfile->bracket_include;
+      entry->u.file = file;
+      *hash_slot = entry;
+    }
+  if (saw_quote_include
+      && pfile->quote_include != start_dir
+      && found_in_cache != pfile->quote_include)
+    {
+      entry = new_file_hash_entry (pfile);
+      entry->next = *hash_slot;
+      entry->start_dir = pfile->quote_include;
+      entry->u.file = file;
+      *hash_slot = entry;
+    }
+
   return file;
 }
 
@@ -997,6 +1050,14 @@ file_hash_eq (const void *p, const void 
   return strcmp (hname, fname) == 0;
 }
 
+/* Compare entries in the nonexistent file hash table.  These are just
+   strings.  */
+static int
+nonexistent_file_hash_eq (const void *p, const void *q)
+{
+  return strcmp (p, q) == 0;
+}
+
 /* Initialize everything in this source file.  */
 void
 _cpp_init_files (cpp_reader *pfile)
@@ -1006,6 +1067,12 @@ _cpp_init_files (cpp_reader *pfile)
   pfile->dir_hash = htab_create_alloc (127, file_hash_hash, file_hash_eq,
 					NULL, xcalloc, free);
   allocate_file_hash_entries (pfile);
+  pfile->nonexistent_file_hash = htab_create_alloc (127, htab_hash_string,
+						    nonexistent_file_hash_eq,
+						    NULL, xcalloc, free);
+  _obstack_begin (&pfile->nonexistent_file_ob, 0, 0,
+		  (void *(*) (long)) xmalloc,
+		  (void (*) (void *)) free);
 }
 
 /* Finalize everything in this source file.  */
@@ -1014,6 +1081,8 @@ _cpp_cleanup_files (cpp_reader *pfile)
 {
   htab_delete (pfile->file_hash);
   htab_delete (pfile->dir_hash);
+  htab_delete (pfile->nonexistent_file_hash);
+  obstack_free (&pfile->nonexistent_file_ob, 0);
 }
 
 /* Enter a file name in the hash for the sake of cpp_included.  */

Modified: head/contrib/gcclibs/libcpp/internal.h
==============================================================================
--- head/contrib/gcclibs/libcpp/internal.h	Sat Nov 16 01:03:56 2013	(r258204)
+++ head/contrib/gcclibs/libcpp/internal.h	Sat Nov 16 01:07:02 2013	(r258205)
@@ -355,6 +355,10 @@ struct cpp_reader
   struct file_hash_entry *file_hash_entries;
   unsigned int file_hash_entries_allocated, file_hash_entries_used;
 
+  /* Negative path lookup hash table.  */
+  struct htab *nonexistent_file_hash;
+  struct obstack nonexistent_file_ob;
+
   /* Nonzero means don't look for #include "foo" the source-file
      directory.  */
   bool quote_ignores_source_dir;

Modified: head/contrib/gcclibs/libcpp/lex.c
==============================================================================
--- head/contrib/gcclibs/libcpp/lex.c	Sat Nov 16 01:03:56 2013	(r258204)
+++ head/contrib/gcclibs/libcpp/lex.c	Sat Nov 16 01:07:02 2013	(r258205)
@@ -111,31 +111,39 @@ _cpp_clean_line (cpp_reader *pfile)
 
   if (!buffer->from_stage3)
     {
+      const uchar *pbackslash = NULL;
+
       /* Short circuit for the common case of an un-escaped line with
 	 no trigraphs.  The primary win here is by not writing any
 	 data back to memory until we have to.  */
       for (;;)
 	{
 	  c = *++s;
-	  if (c == '\n' || c == '\r')
+	  if (__builtin_expect (c == '\n', false)
+	      || __builtin_expect (c == '\r', false))
 	    {
 	      d = (uchar *) s;
 
-	      if (s == buffer->rlimit)
+	      if (__builtin_expect (s == buffer->rlimit, false))
 		goto done;
 
 	      /* DOS line ending? */
-	      if (c == '\r' && s[1] == '\n')
-		s++;
+	      if (__builtin_expect (c == '\r', false)
+		  && s[1] == '\n')
+		{
+		  s++;
+		  if (s == buffer->rlimit)
+		    goto done;
+		}
 
-	      if (s == buffer->rlimit)
+	      if (__builtin_expect (pbackslash == NULL, true))
 		goto done;
 
-	      /* check for escaped newline */
+	      /* Check for escaped newline.  */
 	      p = d;
-	      while (p != buffer->next_line && is_nvspace (p[-1]))
+	      while (is_nvspace (p[-1]))
 		p--;
-	      if (p == buffer->next_line || p[-1] != '\\')
+	      if (p - 1 != pbackslash)
 		goto done;
 
 	      /* Have an escaped newline; process it and proceed to
@@ -145,7 +153,11 @@ _cpp_clean_line (cpp_reader *pfile)
 	      buffer->next_line = p - 1;
 	      break;
 	    }
-	  if (c == '?' && s[1] == '?' && _cpp_trigraph_map[s[2]])
+	  if (__builtin_expect (c == '\\', false))
+	    pbackslash = s;
+	  else if (__builtin_expect (c == '?', false)
+		   && __builtin_expect (s[1] == '?', false)
+		   && _cpp_trigraph_map[s[2]])
 	    {
 	      /* Have a trigraph.  We may or may not have to convert
 		 it.  Add a line note regardless, for -Wtrigraphs.  */

From owner-svn-src-all@FreeBSD.ORG  Sat Nov 16 01:16:27 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 31CC2552;
 Sat, 16 Nov 2013 01:16:27 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 1FE8B21DD;
 Sat, 16 Nov 2013 01:16:27 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAG1GRQK066920;
 Sat, 16 Nov 2013 01:16:27 GMT (envelope-from pfg@svn.freebsd.org)
Received: (from pfg@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAG1GOgR066904;
 Sat, 16 Nov 2013 01:16:24 GMT (envelope-from pfg@svn.freebsd.org)
Message-Id: <201311160116.rAG1GOgR066904@svn.freebsd.org>
From: "Pedro F. Giffuni" <pfg@FreeBSD.org>
Date: Sat, 16 Nov 2013 01:16:24 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258206 - in head/contrib/gcc: . cp doc
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 16 Nov 2013 01:16:27 -0000

Author: pfg
Date: Sat Nov 16 01:16:24 2013
New Revision: 258206
URL: http://svnweb.freebsd.org/changeset/base/258206

Log:
  gcc: add femit-struct-debug support to reduce Reduce dwarf debug size
  
  Obtained from:	gcc 4.3 (rev. 123909; GPLv2)
  MFC after:	3 weeks

Modified:
  head/contrib/gcc/ChangeLog.gcc43
  head/contrib/gcc/c-opts.c
  head/contrib/gcc/c.opt
  head/contrib/gcc/cp/cp-lang.c
  head/contrib/gcc/cp/cp-tree.h
  head/contrib/gcc/cp/tree.c
  head/contrib/gcc/doc/invoke.texi
  head/contrib/gcc/dwarf2out.c
  head/contrib/gcc/flags.h
  head/contrib/gcc/langhooks-def.h
  head/contrib/gcc/langhooks.h
  head/contrib/gcc/opts.c

Modified: head/contrib/gcc/ChangeLog.gcc43
==============================================================================
--- head/contrib/gcc/ChangeLog.gcc43	Sat Nov 16 01:07:02 2013	(r258205)
+++ head/contrib/gcc/ChangeLog.gcc43	Sat Nov 16 01:16:24 2013	(r258206)
@@ -27,6 +27,57 @@
 	alignment for amdfam10 architecture. Increasing the max loop
 	alignment to 24 bytes.
 
+2007-04-16  Lawrence Crowl  <crowl@google.com>
+
+	* doc/invoke.texi (Debugging Options): Add documentation for the
+	-femit-struct-debug options -femit-struct-debug-baseonly,
+	-femit-struct-debug-reduced, and
+	-femit-struct-debug-detailed[=...].
+
+	* c-opts.c (c_common_handle_option): Add
+	OPT_femit_struct_debug_baseonly, OPT_femit_struct_debug_reduced,
+	and OPT_femit_struct_debug_detailed_.
+	* c.opt: Add specifications for
+	-femit-struct-debug-baseonly, -femit-struct-debug-reduced,
+	and -femit-struct-debug-detailed[=...].
+	* opts.c (set_struct_debug_option): Parse the
+	-femit-struct-debug-... options.
+	* opts.c (matches_main_base, main_input_basename,
+	main_input_baselength, base_of_path, matches_main_base): Add
+	variables and functions to compare header base name to compilation
+	unit base name.
+	* opts.c (should_emit_struct_debug): Add to determine to emit a
+	structure based on the option.
+	(dump_struct_debug) Also disabled function to debug this
+	function.
+	* opts.c (handle_options): Save the base name of the
+	compilation unit.
+
+	* langhooks-def.h (LANG_HOOKS_GENERIC_TYPE_P): Define.
+        (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add.
+	This hook indicates if a type is generic.  Set it by default
+	to "never generic".
+	* langhooks.h (struct lang_hooks_for_types): Add a new hook
+	to determine if a struct type is generic or not.
+	* cp/cp-tree.h (class_tmpl_impl_spec_p): Declare a C++ hook.
+	* cp/tree.c (class_tmpl_impl_spec_p): Implement the C++ hook.
+	* cp/cp-lang.c (LANG_HOOKS_GENERIC_TYPE_P): Override null C hook
+	with live C++ hook.
+
+	* flags.h (enum debug_info_usage): Add an enumeration to describe
+	a program's use of a structure type.
+	* dwarf2out.c (gen_struct_or_union_type_die): Add a new parameter
+	to indicate the program's usage of the type.  Filter structs based
+	on the -femit-struct-debug-... specification.
+	(gen_type_die): Split into two routines, gen_type_die and
+	gen_type_die_with_usage.  gen_type_die is now a wrapper
+	that assumes direct usage.
+	(gen_type_die_with_usage): Replace calls to gen_type_die
+	with gen_type_die_with_usage adding the program usage of
+	the referenced type.
+	(dwarf2out_imported_module_or_decl): Suppress struct debug
+	information using should_emit_struct_debug when appropriate.
+
 2007-04-12  Richard Guenther  <rguenther@suse.de> (r123736)
 
 	PR tree-optimization/24689

Modified: head/contrib/gcc/c-opts.c
==============================================================================
--- head/contrib/gcc/c-opts.c	Sat Nov 16 01:07:02 2013	(r258205)
+++ head/contrib/gcc/c-opts.c	Sat Nov 16 01:16:24 2013	(r258206)
@@ -818,6 +818,18 @@ c_common_handle_option (size_t scode, co
       flag_gen_declaration = 1;
       break;
 
+    case OPT_femit_struct_debug_baseonly:
+      set_struct_debug_option ("base");
+      break;
+
+    case OPT_femit_struct_debug_reduced:
+      set_struct_debug_option ("dir:ord:sys,dir:gen:any,ind:base");
+      break;
+
+    case OPT_femit_struct_debug_detailed_:
+      set_struct_debug_option (arg);
+      break;
+
     case OPT_idirafter:
       add_path (xstrdup (arg), AFTER, 0, true);
       break;

Modified: head/contrib/gcc/c.opt
==============================================================================
--- head/contrib/gcc/c.opt	Sat Nov 16 01:07:02 2013	(r258205)
+++ head/contrib/gcc/c.opt	Sat Nov 16 01:16:24 2013	(r258206)
@@ -765,6 +765,18 @@ gen-decls
 ObjC ObjC++
 Dump declarations to a .decl file
 
+femit-struct-debug-baseonly
+C ObjC C++ ObjC++
+-femit-struct-debug-baseonly	Aggressive reduced debug info for structs
+
+femit-struct-debug-reduced
+C ObjC C++ ObjC++
+-femit-struct-debug-reduced	Conservative reduced debug info for structs
+
+femit-struct-debug-detailed=
+C ObjC C++ ObjC++ Joined
+-femit-struct-debug-detailed=<spec-list>	Detailed reduced debug info for structs
+
 idirafter
 C ObjC C++ ObjC++ Joined Separate
 -idirafter <dir>	Add <dir> to the end of the system include path

Modified: head/contrib/gcc/cp/cp-lang.c
==============================================================================
--- head/contrib/gcc/cp/cp-lang.c	Sat Nov 16 01:07:02 2013	(r258205)
+++ head/contrib/gcc/cp/cp-lang.c	Sat Nov 16 01:16:24 2013	(r258206)
@@ -44,6 +44,8 @@ static void cp_init_ts (void);
 #define LANG_HOOKS_NAME "GNU C++"
 #undef LANG_HOOKS_INIT
 #define LANG_HOOKS_INIT cxx_init
+#undef LANG_HOOKS_GENERIC_TYPE_P
+#define LANG_HOOKS_GENERIC_TYPE_P class_tmpl_impl_spec_p
 #undef LANG_HOOKS_DECL_PRINTABLE_NAME
 #define LANG_HOOKS_DECL_PRINTABLE_NAME	cxx_printable_name
 #undef LANG_HOOKS_FOLD_OBJ_TYPE_REF

Modified: head/contrib/gcc/cp/cp-tree.h
==============================================================================
--- head/contrib/gcc/cp/cp-tree.h	Sat Nov 16 01:07:02 2013	(r258205)
+++ head/contrib/gcc/cp/cp-tree.h	Sat Nov 16 01:16:24 2013	(r258206)
@@ -4373,6 +4373,7 @@ extern tree add_stmt_to_compound		(tree,
 extern tree cxx_maybe_build_cleanup		(tree);
 extern void init_tree				(void);
 extern int pod_type_p				(tree);
+extern bool class_tmpl_impl_spec_p		(tree);
 extern int zero_init_p				(tree);
 extern tree canonical_type_variant		(tree);
 extern tree copy_binfo				(tree, tree, tree,

Modified: head/contrib/gcc/cp/tree.c
==============================================================================
--- head/contrib/gcc/cp/tree.c	Sat Nov 16 01:07:02 2013	(r258205)
+++ head/contrib/gcc/cp/tree.c	Sat Nov 16 01:16:24 2013	(r258206)
@@ -1762,6 +1762,14 @@ pod_type_p (tree t)
   return 1;
 }
 
+/* Nonzero iff type T is a class template implicit specialization.  */
+
+bool
+class_tmpl_impl_spec_p (tree t)
+{
+  return CLASS_TYPE_P (t) && CLASSTYPE_TEMPLATE_INSTANTIATION (t);
+}
+
 /* Returns 1 iff zero initialization of type T means actually storing
    zeros in it.  */
 

Modified: head/contrib/gcc/doc/invoke.texi
==============================================================================
--- head/contrib/gcc/doc/invoke.texi	Sat Nov 16 01:07:02 2013	(r258205)
+++ head/contrib/gcc/doc/invoke.texi	Sat Nov 16 01:16:24 2013	(r258206)
@@ -275,6 +275,8 @@ in the following sections.
 -ftest-coverage  -ftime-report -fvar-tracking @gol
 -g  -g@var{level}  -gcoff -gdwarf-2 @gol
 -ggdb  -gstabs  -gstabs+  -gvms  -gxcoff  -gxcoff+ @gol
+-femit-struct-debug-baseonly -femit-struct-debug-reduced @gol
+-femit-struct-debug-detailed@r{[}=@var{spec-list}@r{]} @gol
 -p  -pg  -print-file-name=@var{library}  -print-libgcc-file-name @gol
 -print-multi-directory  -print-multi-lib @gol
 -print-prog-name=@var{program}  -print-search-dirs  -Q @gol
@@ -3411,6 +3413,78 @@ Compress DWARF2 debugging information by
 information about each symbol.  This option only makes sense when
 generating DWARF2 debugging information with @option{-gdwarf-2}.
 
+@item -femit-struct-debug-baseonly
+Emit debug information for struct-like types
+only when the base name of the compilation source file
+matches the base name of file in which the struct was defined.
+
+This option substantially reduces the size of debugging information,
+but at significant potential loss in type information to the debugger.
+See @option{-femit-struct-debug-reduced} for a less aggressive option.
+See @option{-femit-struct-debug-detailed} for more detailed control.
+
+This option works only with DWARF 2.
+
+@item -femit-struct-debug-reduced
+Emit debug information for struct-like types
+only when the base name of the compilation source file
+matches the base name of file in which the type was defined,
+unless the struct is a template or defined in a system header.
+
+This option significantly reduces the size of debugging information,
+with some potential loss in type information to the debugger.
+See @option{-femit-struct-debug-baseonly} for a more aggressive option.
+See @option{-femit-struct-debug-detailed} for more detailed control.
+
+This option works only with DWARF 2.
+
+@item -femit-struct-debug-detailed@r{[}=@var{spec-list}@r{]}
+Specify the struct-like types
+for which the compiler will generate debug information.
+The intent is to reduce duplicate struct debug information
+between different object files within the same program.
+
+This option is a detailed version of
+@option{-femit-struct-debug-reduced} and @option{-femit-struct-debug-baseonly},
+which will serve for most needs.
+
+A specification has the syntax
+[@samp{dir:}|@samp{ind:}][@samp{ord:}|@samp{gen:}](@samp{any}|@samp{sys}|@samp{base}|@samp{none})
+
+The optional first word limits the specification to
+structs that are used directly (@samp{dir:}) or used indirectly (@samp{ind:}).
+A struct type is used directly when it is the type of a variable, member.
+Indirect uses arise through pointers to structs.
+That is, when use of an incomplete struct would be legal, the use is indirect.
+An example is
+@samp{struct one direct; struct two * indirect;}.
+
+The optional second word limits the specification to
+ordinary structs (@samp{ord:}) or generic structs (@samp{gen:}).
+Generic structs are a bit complicated to explain.
+For C++, these are non-explicit specializations of template classes,
+or non-template classes within the above.
+Other programming languages have generics,
+but @samp{-femit-struct-debug-detailed} does not yet implement them.
+
+The third word specifies the source files for those
+structs for which the compiler will emit debug information.
+The values @samp{none} and @samp{any} have the normal meaning.
+The value @samp{base} means that
+the base of name of the file in which the type declaration appears
+must match the base of the name of the main compilation file.
+In practice, this means that
+types declared in @file{foo.c} and @file{foo.h} will have debug information,
+but types declared in other header will not.
+The value @samp{sys} means those types satisfying @samp{base}
+or declared in system or compiler headers.
+
+You may need to experiment to determine the best settings for your application.
+
+The default is @samp{-femit-struct-debug-detailed=all}.
+
+This option works only with DWARF 2.
+
 @cindex @command{prof}
 @item -p
 @opindex p

Modified: head/contrib/gcc/dwarf2out.c
==============================================================================
--- head/contrib/gcc/dwarf2out.c	Sat Nov 16 01:07:02 2013	(r258205)
+++ head/contrib/gcc/dwarf2out.c	Sat Nov 16 01:16:24 2013	(r258206)
@@ -4215,7 +4215,8 @@ static void gen_ptr_to_mbr_type_die (tre
 static dw_die_ref gen_compile_unit_die (const char *);
 static void gen_inheritance_die (tree, tree, dw_die_ref);
 static void gen_member_die (tree, dw_die_ref);
-static void gen_struct_or_union_type_die (tree, dw_die_ref);
+static void gen_struct_or_union_type_die (tree, dw_die_ref,
+						enum debug_info_usage);
 static void gen_subroutine_type_die (tree, dw_die_ref);
 static void gen_typedef_die (tree, dw_die_ref);
 static void gen_type_die (tree, dw_die_ref);
@@ -12473,7 +12474,8 @@ gen_member_die (tree type, dw_die_ref co
    member DIEs needed by later specification DIEs.  */
 
 static void
-gen_struct_or_union_type_die (tree type, dw_die_ref context_die)
+gen_struct_or_union_type_die (tree type, dw_die_ref context_die,
+				enum debug_info_usage usage)
 {
   dw_die_ref type_die = lookup_type_die (type);
   dw_die_ref scope_die = 0;
@@ -12482,6 +12484,7 @@ gen_struct_or_union_type_die (tree type,
 		  && (! TYPE_STUB_DECL (type)
 		      || ! TYPE_DECL_SUPPRESS_DEBUG (TYPE_STUB_DECL (type))));
   int ns_decl = (context_die && context_die->die_tag == DW_TAG_namespace);
+  complete = complete && should_emit_struct_debug (type, usage);
 
   if (type_die && ! complete)
     return;
@@ -12609,7 +12612,8 @@ gen_typedef_die (tree decl, dw_die_ref c
 /* Generate a type description DIE.  */
 
 static void
-gen_type_die (tree type, dw_die_ref context_die)
+gen_type_die_with_usage (tree type, dw_die_ref context_die,
+				enum debug_info_usage usage)
 {
   int need_pop;
 
@@ -12657,16 +12661,19 @@ gen_type_die (tree type, dw_die_ref cont
 
       /* For these types, all that is required is that we output a DIE (or a
 	 set of DIEs) to represent the "basis" type.  */
-      gen_type_die (TREE_TYPE (type), context_die);
+      gen_type_die_with_usage (TREE_TYPE (type), context_die,
+				DINFO_USAGE_IND_USE);
       break;
 
     case OFFSET_TYPE:
       /* This code is used for C++ pointer-to-data-member types.
 	 Output a description of the relevant class type.  */
-      gen_type_die (TYPE_OFFSET_BASETYPE (type), context_die);
+      gen_type_die_with_usage (TYPE_OFFSET_BASETYPE (type), context_die,
+					DINFO_USAGE_IND_USE);
 
       /* Output a description of the type of the object pointed to.  */
-      gen_type_die (TREE_TYPE (type), context_die);
+      gen_type_die_with_usage (TREE_TYPE (type), context_die,
+					DINFO_USAGE_IND_USE);
 
       /* Now output a DIE to represent this pointer-to-data-member type
 	 itself.  */
@@ -12675,13 +12682,15 @@ gen_type_die (tree type, dw_die_ref cont
 
     case FUNCTION_TYPE:
       /* Force out return type (in case it wasn't forced out already).  */
-      gen_type_die (TREE_TYPE (type), context_die);
+      gen_type_die_with_usage (TREE_TYPE (type), context_die,
+					DINFO_USAGE_DIR_USE);
       gen_subroutine_type_die (type, context_die);
       break;
 
     case METHOD_TYPE:
       /* Force out return type (in case it wasn't forced out already).  */
-      gen_type_die (TREE_TYPE (type), context_die);
+      gen_type_die_with_usage (TREE_TYPE (type), context_die,
+					DINFO_USAGE_DIR_USE);
       gen_subroutine_type_die (type, context_die);
       break;
 
@@ -12707,7 +12716,7 @@ gen_type_die (tree type, dw_die_ref cont
 	  && AGGREGATE_TYPE_P (TYPE_CONTEXT (type))
 	  && ! TREE_ASM_WRITTEN (TYPE_CONTEXT (type)))
 	{
-	  gen_type_die (TYPE_CONTEXT (type), context_die);
+	  gen_type_die_with_usage (TYPE_CONTEXT (type), context_die, usage);
 
 	  if (TREE_ASM_WRITTEN (type))
 	    return;
@@ -12731,7 +12740,7 @@ gen_type_die (tree type, dw_die_ref cont
 	    gen_enumeration_type_die (type, context_die);
 	}
       else
-	gen_struct_or_union_type_die (type, context_die);
+	gen_struct_or_union_type_die (type, context_die, usage);
 
       if (need_pop)
 	pop_decl_scope ();
@@ -12760,6 +12769,12 @@ gen_type_die (tree type, dw_die_ref cont
   TREE_ASM_WRITTEN (type) = 1;
 }
 
+static void
+gen_type_die (tree type, dw_die_ref context_die)
+{
+  gen_type_die_with_usage (type, context_die, DINFO_USAGE_DIR_USE);
+}
+
 /* Generate a DIE for a tagged type instantiation.  */
 
 static void
@@ -13357,7 +13372,11 @@ dwarf2out_imported_module_or_decl (tree 
   if (!context)
     scope_die = comp_unit_die;
   else if (TYPE_P (context))
+    {
+      if (!should_emit_struct_debug (context, DINFO_USAGE_DIR_USE))
+	return;
     scope_die = force_type_die (context);
+    }
   else
     scope_die = force_decl_die (context);
 
@@ -13383,7 +13402,12 @@ dwarf2out_imported_module_or_decl (tree 
 
 	      if (TYPE_CONTEXT (type))
 		if (TYPE_P (TYPE_CONTEXT (type)))
+		  {
+		    if (!should_emit_struct_debug (TYPE_CONTEXT (type),
+						   DINFO_USAGE_DIR_USE))
+		      return;
 		  type_context_die = force_type_die (TYPE_CONTEXT (type));
+		  }
 	      else
 		type_context_die = force_decl_die (TYPE_CONTEXT (type));
 	      else

Modified: head/contrib/gcc/flags.h
==============================================================================
--- head/contrib/gcc/flags.h	Sat Nov 16 01:07:02 2013	(r258205)
+++ head/contrib/gcc/flags.h	Sat Nov 16 01:16:24 2013	(r258206)
@@ -23,6 +23,7 @@ Software Foundation, 51 Franklin Street,
 #ifndef GCC_FLAGS_H
 #define GCC_FLAGS_H
 
+#include "coretypes.h"
 #include "options.h"
 
 enum debug_info_type
@@ -54,6 +55,25 @@ enum debug_info_level
 /* Specify how much debugging info to generate.  */
 extern enum debug_info_level debug_info_level;
 
+/* A major contribution to object and executable size is debug
+   information size.  A major contribution to debug information
+   size is struct descriptions replicated in several object files.
+   The following function determines whether or not debug information
+   should be generated for a given struct.  The indirect parameter
+   indicates that the struct is being handled indirectly, via
+   a pointer.  See opts.c for the implementation. */
+
+enum debug_info_usage
+{
+  DINFO_USAGE_DFN,	/* A struct definition. */
+  DINFO_USAGE_DIR_USE,	/* A direct use, such as the type of a variable. */
+  DINFO_USAGE_IND_USE,	/* An indirect use, such as through a pointer. */
+  DINFO_USAGE_NUM_ENUMS	/* The number of enumerators. */
+};
+
+extern bool should_emit_struct_debug (tree type_decl, enum debug_info_usage);
+extern void set_struct_debug_option (const char *value);
+
 /* Nonzero means use GNU-only extensions in the generated symbolic
    debugging information.  */
 extern bool use_gnu_debug_info_extensions;

Modified: head/contrib/gcc/langhooks-def.h
==============================================================================
--- head/contrib/gcc/langhooks-def.h	Sat Nov 16 01:07:02 2013	(r258205)
+++ head/contrib/gcc/langhooks-def.h	Sat Nov 16 01:16:24 2013	(r258206)
@@ -217,6 +217,7 @@ extern tree lhd_make_node (enum tree_cod
    so we create a compile-time error instead.  */
 #define LANG_HOOKS_MAKE_TYPE lhd_make_node
 #define LANG_HOOKS_INCOMPLETE_TYPE_ERROR lhd_incomplete_type_error
+#define LANG_HOOKS_GENERIC_TYPE_P	hook_bool_tree_false
 #define LANG_HOOKS_TYPE_PROMOTES_TO lhd_type_promotes_to
 #define LANG_HOOKS_REGISTER_BUILTIN_TYPE lhd_register_builtin_type
 #define LANG_HOOKS_TYPE_MAX_SIZE	lhd_return_null_tree
@@ -231,6 +232,7 @@ extern tree lhd_make_node (enum tree_cod
   LANG_HOOKS_UNSIGNED_TYPE, \
   LANG_HOOKS_SIGNED_TYPE, \
   LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE, \
+  LANG_HOOKS_GENERIC_TYPE_P, \
   LANG_HOOKS_TYPE_PROMOTES_TO, \
   LANG_HOOKS_REGISTER_BUILTIN_TYPE, \
   LANG_HOOKS_INCOMPLETE_TYPE_ERROR, \

Modified: head/contrib/gcc/langhooks.h
==============================================================================
--- head/contrib/gcc/langhooks.h	Sat Nov 16 01:07:02 2013	(r258205)
+++ head/contrib/gcc/langhooks.h	Sat Nov 16 01:16:24 2013	(r258206)
@@ -119,6 +119,10 @@ struct lang_hooks_for_types
      according to UNSIGNEDP.  */
   tree (*signed_or_unsigned_type) (int, tree);
 
+  /* True if the type is an instantiation of a generic type,
+     e.g. C++ template implicit specializations.  */
+  bool (*generic_p) (tree);
+
   /* Given a type, apply default promotions to unnamed function
      arguments and return the new type.  Return the same type if no
      change.  Required by any language that supports variadic

Modified: head/contrib/gcc/opts.c
==============================================================================
--- head/contrib/gcc/opts.c	Sat Nov 16 01:07:02 2013	(r258205)
+++ head/contrib/gcc/opts.c	Sat Nov 16 01:16:24 2013	(r258206)
@@ -79,6 +79,256 @@ enum debug_info_type write_symbols = NO_
    the definitions of the different possible levels.  */
 enum debug_info_level debug_info_level = DINFO_LEVEL_NONE;
 
+/* A major contribution to object and executable size is debug
+   information size.  A major contribution to debug information size
+   is struct descriptions replicated in several object files. The
+   following flags attempt to reduce this information.  The basic
+   idea is to not emit struct debugging information in the current
+   compilation unit when that information will be generated by
+   another compilation unit.
+
+   Debug information for a struct defined in the current source
+   file should be generated in the object file.  Likewise the
+   debug information for a struct defined in a header should be
+   generated in the object file of the corresponding source file.
+   Both of these case are handled when the base name of the file of
+   the struct definition matches the base name of the source file
+   of thet current compilation unit.  This matching emits minimal
+   struct debugging information.
+
+   The base file name matching rule above will fail to emit debug
+   information for structs defined in system headers.  So a second
+   category of files includes system headers in addition to files
+   with matching bases.
+
+   The remaining types of files are library headers and application
+   headers.  We cannot currently distinguish these two types.  */
+
+enum debug_struct_file
+{
+  DINFO_STRUCT_FILE_NONE,   /* Debug no structs. */
+  DINFO_STRUCT_FILE_BASE,   /* Debug structs defined in files with the
+                               same base name as the compilation unit. */
+  DINFO_STRUCT_FILE_SYS,    /* Also debug structs defined in system
+                               header files.  */
+  DINFO_STRUCT_FILE_ANY     /* Debug structs defined in all files. */
+};
+
+/* Generic structs (e.g. templates not explicitly specialized)
+   may not have a compilation unit associated with them, and so
+   may need to be treated differently from ordinary structs.
+
+   Structs only handled by reference (indirectly), will also usually
+   not need as much debugging information.  */
+
+static enum debug_struct_file debug_struct_ordinary[DINFO_USAGE_NUM_ENUMS]
+  = { DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY };
+static enum debug_struct_file debug_struct_generic[DINFO_USAGE_NUM_ENUMS]
+  = { DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY };
+
+/* Parse the -femit-struct-debug-detailed option value
+   and set the flag variables. */
+
+#define MATCH( prefix, string ) \
+  ((strncmp (prefix, string, sizeof prefix - 1) == 0) \
+   ? ((string += sizeof prefix - 1), 1) : 0)
+
+void
+set_struct_debug_option (const char *spec)
+{
+  /* various labels for comparison */
+  static char dfn_lbl[] = "dfn:", dir_lbl[] = "dir:", ind_lbl[] = "ind:";
+  static char ord_lbl[] = "ord:", gen_lbl[] = "gen:";
+  static char none_lbl[] = "none", any_lbl[] = "any";
+  static char base_lbl[] = "base", sys_lbl[] = "sys";
+
+  enum debug_struct_file files = DINFO_STRUCT_FILE_ANY;
+  /* Default is to apply to as much as possible. */
+  enum debug_info_usage usage = DINFO_USAGE_NUM_ENUMS;
+  int ord = 1, gen = 1;
+
+  /* What usage? */
+  if (MATCH (dfn_lbl, spec))
+    usage = DINFO_USAGE_DFN;
+  else if (MATCH (dir_lbl, spec))
+    usage = DINFO_USAGE_DIR_USE;
+  else if (MATCH (ind_lbl, spec))
+    usage = DINFO_USAGE_IND_USE;
+
+  /* Generics or not? */
+  if (MATCH (ord_lbl, spec))
+    gen = 0;
+  else if (MATCH (gen_lbl, spec))
+    ord = 0;
+
+  /* What allowable environment? */
+  if (MATCH (none_lbl, spec))
+    files = DINFO_STRUCT_FILE_NONE;
+  else if (MATCH (any_lbl, spec))
+    files = DINFO_STRUCT_FILE_ANY;
+  else if (MATCH (sys_lbl, spec))
+    files = DINFO_STRUCT_FILE_SYS;
+  else if (MATCH (base_lbl, spec))
+    files = DINFO_STRUCT_FILE_BASE;
+  else
+    error ("argument %qs to %<-femit-struct-debug-detailed%> not recognized",
+           spec);
+
+  /* Effect the specification. */
+  if (usage == DINFO_USAGE_NUM_ENUMS)
+    {
+      if (ord)
+        {
+          debug_struct_ordinary[DINFO_USAGE_DFN] = files;
+          debug_struct_ordinary[DINFO_USAGE_DIR_USE] = files;
+          debug_struct_ordinary[DINFO_USAGE_IND_USE] = files;
+        }
+      if (gen)
+        {
+          debug_struct_generic[DINFO_USAGE_DFN] = files;
+          debug_struct_generic[DINFO_USAGE_DIR_USE] = files;
+          debug_struct_generic[DINFO_USAGE_IND_USE] = files;
+        }
+    }
+  else
+    {
+      if (ord)
+        debug_struct_ordinary[usage] = files;
+      if (gen)
+        debug_struct_generic[usage] = files;
+    }
+
+  if (*spec == ',')
+    set_struct_debug_option (spec+1);
+  else
+    {
+      /* No more -femit-struct-debug-detailed specifications.
+         Do final checks. */
+      if (*spec != '\0')
+	error ("argument %qs to %<-femit-struct-debug-detailed%> unknown",
+               spec);
+      if (debug_struct_ordinary[DINFO_USAGE_DIR_USE]
+		< debug_struct_ordinary[DINFO_USAGE_IND_USE]
+	  || debug_struct_generic[DINFO_USAGE_DIR_USE]
+		< debug_struct_generic[DINFO_USAGE_IND_USE])
+	error ("%<-femit-struct-debug-detailed=dir:...%> must allow at least"
+               " as much as %<-femit-struct-debug-detailed=ind:...%>");
+    }
+}
+
+/* Find the base name of a path, stripping off both directories and
+   a single final extension. */
+static int
+base_of_path (const char *path, const char **base_out)
+{
+  const char *base = path;
+  const char *dot = 0;
+  const char *p = path;
+  char c = *p;
+  while (c)
+    {
+      if (IS_DIR_SEPARATOR(c))
+        {
+          base = p + 1;
+          dot = 0;
+        }
+      else if (c == '.')
+        dot = p;
+      c = *++p;
+    }
+  if (!dot)
+    dot = p;
+  *base_out = base;
+  return dot - base;
+}
+
+/* Match the base name of a file to the base name of a compilation unit. */
+
+static const char *main_input_basename;
+static int main_input_baselength;
+
+static int
+matches_main_base (const char *path)
+{
+  /* Cache the last query. */
+  static const char *last_path = NULL;
+  static int last_match = 0;
+  if (path != last_path)
+    {
+      const char *base;
+      int length = base_of_path (path, &base);
+      last_path = path;
+      last_match = (length == main_input_baselength
+                    && memcmp (base, main_input_basename, length) == 0);
+    }
+  return last_match;
+}
+
+#ifdef DEBUG_DEBUG_STRUCT
+
+static int
+dump_struct_debug (tree type, enum debug_info_usage usage,
+		   enum debug_struct_file criterion, int generic,
+		   int matches, int result)
+{
+  /* Find the type name. */
+  tree type_decl = TYPE_STUB_DECL (type);
+  tree t = type_decl;
+  const char *name = 0;
+  if (TREE_CODE (t) == TYPE_DECL)
+    t = DECL_NAME (t);
+  if (t)
+    name = IDENTIFIER_POINTER (t);
+
+  fprintf (stderr, "	struct %d %s %s %s %s %d %p %s\n",
+	   criterion,
+           DECL_IN_SYSTEM_HEADER (type_decl) ? "sys" : "usr",
+           matches ? "bas" : "hdr",
+           generic ? "gen" : "ord",
+           usage == DINFO_USAGE_DFN ? ";" :
+             usage == DINFO_USAGE_DIR_USE ? "." : "*",
+           result,
+           (void*) type_decl, name);
+  return result;
+}
+#define DUMP_GSTRUCT(type, usage, criterion, generic, matches, result) \
+  dump_struct_debug (type, usage, criterion, generic, matches, result)
+
+#else
+
+#define DUMP_GSTRUCT(type, usage, criterion, generic, matches, result) \
+  (result)
+
+#endif
+
+
+bool
+should_emit_struct_debug (tree type, enum debug_info_usage usage)
+{
+  enum debug_struct_file criterion;
+  tree type_decl;
+  bool generic = lang_hooks.types.generic_p (type);
+
+  if (generic)
+    criterion = debug_struct_generic[usage];
+  else
+    criterion = debug_struct_ordinary[usage];
+
+  if (criterion == DINFO_STRUCT_FILE_NONE)
+    return DUMP_GSTRUCT (type, usage, criterion, generic, false, false);
+  if (criterion == DINFO_STRUCT_FILE_ANY)
+    return DUMP_GSTRUCT (type, usage, criterion, generic, false, true);
+
+  type_decl = TYPE_STUB_DECL (type);
+
+  if (criterion == DINFO_STRUCT_FILE_SYS && DECL_IN_SYSTEM_HEADER (type_decl))
+    return DUMP_GSTRUCT (type, usage, criterion, generic, false, true);
+
+  if (matches_main_base (DECL_SOURCE_FILE (type_decl)))
+    return DUMP_GSTRUCT (type, usage, criterion, generic, true, true);
+  return DUMP_GSTRUCT (type, usage, criterion, generic, false, false);
+}
+
 /* Nonzero means use GNU-only extensions in the generated symbolic
    debugging information.  Currently, this only has an effect when
    write_symbols is set to DBX_DEBUG, XCOFF_DEBUG, or DWARF_DEBUG.  */
@@ -370,7 +620,11 @@ handle_options (unsigned int argc, const
       if (opt[0] != '-' || opt[1] == '\0')
 	{
 	  if (main_input_filename == NULL)
+	    {
 	    main_input_filename = opt;
+	      main_input_baselength
+		= base_of_path (main_input_filename, &main_input_basename);
+	    }
 	  add_input_filename (opt);
 	  n = 1;
 	  continue;

From owner-svn-src-all@FreeBSD.ORG  Sat Nov 16 01:29:28 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 48336AD1;
 Sat, 16 Nov 2013 01:29:28 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 36CE6225F;
 Sat, 16 Nov 2013 01:29:28 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAG1TSg3070685;
 Sat, 16 Nov 2013 01:29:28 GMT (envelope-from pfg@svn.freebsd.org)
Received: (from pfg@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAG1TRjG070681;
 Sat, 16 Nov 2013 01:29:27 GMT (envelope-from pfg@svn.freebsd.org)
Message-Id: <201311160129.rAG1TRjG070681@svn.freebsd.org>
From: "Pedro F. Giffuni" <pfg@FreeBSD.org>
Date: Sat, 16 Nov 2013 01:29:27 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258207 - head/contrib/gcc
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 16 Nov 2013 01:29:28 -0000

Author: pfg
Date: Sat Nov 16 01:29:27 2013
New Revision: 258207
URL: http://svnweb.freebsd.org/changeset/base/258207

Log:
  gcc: Fix postreload-gcse treatment of call-clobbered registers.
  
  Reference:
  http://gcc.gnu.org/ml/gcc-patches/2007-05/msg01636.html
  
  Obtained from:	gcc 4.3 (rev. 125037; GPLv2)
  MFC after:	3 weeks

Modified:
  head/contrib/gcc/ChangeLog.gcc43
  head/contrib/gcc/postreload-gcse.c
  head/contrib/gcc/regs.h
  head/contrib/gcc/rtlanal.c

Modified: head/contrib/gcc/ChangeLog.gcc43
==============================================================================
--- head/contrib/gcc/ChangeLog.gcc43	Sat Nov 16 01:16:24 2013	(r258206)
+++ head/contrib/gcc/ChangeLog.gcc43	Sat Nov 16 01:29:27 2013	(r258207)
@@ -4,6 +4,21 @@
 	* doc/extend.texi: Document the 0b-prefixed binary integer
 	constant extension.
 	
+2007-05-24  Richard Sandiford  <rsandifo@nildram.co.uk> (r125037)
+
+	* postreload-gcse.c (reg_changed_after_insn_p): New function.
+	(oprs_unchanged_p): Use it to check all registers in a REG.
+	(record_opr_changes): Look for clobbers in CALL_INSN_FUNCTION_USAGE.
+	(reg_set_between_after_reload_p): Delete.
+	(reg_used_between_after_reload_p): Likewise.
+	(reg_set_or_used_since_bb_start): Likewise.
+	(eliminate_partially_redundant_load): Use reg_changed_after_insn_p
+	and reg_used_between_p instead of reg_set_or_used_since_bb_start.
+	Use reg_set_between_p instead of reg_set_between_after_reload_p.
+	* rtlanal.c (reg_set_p): Check whether REG overlaps
+	regs_invalidated_by_call, rather than just checking the
+	membership of REGNO (REG).
+
 2007-05-03  Ian Lance Taylor  <iant@google.com> (r124381)
 
 	* config/rs6000/rs6000.c (rs6000_override_options): Don't set

Modified: head/contrib/gcc/postreload-gcse.c
==============================================================================
--- head/contrib/gcc/postreload-gcse.c	Sat Nov 16 01:16:24 2013	(r258206)
+++ head/contrib/gcc/postreload-gcse.c	Sat Nov 16 01:29:27 2013	(r258207)
@@ -197,8 +197,6 @@ static void dump_hash_table (FILE *);
 static bool reg_killed_on_edge (rtx, edge);
 static bool reg_used_on_edge (rtx, edge);
 
-static rtx reg_set_between_after_reload_p (rtx, rtx, rtx);
-static rtx reg_used_between_after_reload_p (rtx, rtx, rtx);
 static rtx get_avail_load_store_reg (rtx);
 
 static bool bb_has_well_behaved_predecessors (basic_block);
@@ -470,6 +468,22 @@ dump_hash_table (FILE *file)
   fprintf (file, "\n");
 }
 
+/* Return true if register X is recorded as being set by an instruction
+   whose CUID is greater than the one given.  */
+
+static bool
+reg_changed_after_insn_p (rtx x, int cuid)
+{
+  unsigned int regno, end_regno;
+
+  regno = REGNO (x);
+  end_regno = END_HARD_REGNO (x);
+  do
+    if (reg_avail_info[regno] > cuid)
+      return true;
+  while (++regno < end_regno);
+  return false;
+}
 
 /* Return nonzero if the operands of expression X are unchanged
    1) from the start of INSN's basic block up to but not including INSN
@@ -493,14 +507,9 @@ oprs_unchanged_p (rtx x, rtx insn, bool 
       /* We are called after register allocation.  */
       gcc_assert (REGNO (x) < FIRST_PSEUDO_REGISTER);
       if (after_insn)
-	/* If the last CUID setting the insn is less than the CUID of
-	   INSN, then reg X is not changed in or after INSN.  */
-	return reg_avail_info[REGNO (x)] < INSN_CUID (insn);
+	return !reg_changed_after_insn_p (x, INSN_CUID (insn) - 1);
       else
-	/* Reg X is not set before INSN in the current basic block if
-	   we have not yet recorded the CUID of an insn that touches
-	   the reg.  */
-	return reg_avail_info[REGNO (x)] == 0;
+	return !reg_changed_after_insn_p (x, 0);
 
     case MEM:
       if (load_killed_in_block_p (INSN_CUID (insn), x, after_insn))
@@ -717,12 +726,28 @@ record_opr_changes (rtx insn)
   /* Finally, if this is a call, record all call clobbers.  */
   if (CALL_P (insn))
     {
-      unsigned int regno;
+      unsigned int regno, end_regno;
+      rtx link, x;
 
       for (regno = 0; regno < FIRST_PSEUDO_REGISTER; regno++)
 	if (TEST_HARD_REG_BIT (regs_invalidated_by_call, regno))
 	  record_last_reg_set_info (insn, regno);
 
+      for (link = CALL_INSN_FUNCTION_USAGE (insn); link; link = XEXP (link, 1))
+	if (GET_CODE (XEXP (link, 0)) == CLOBBER)
+	  {
+	    x = XEXP (XEXP (link, 0), 0);
+	    if (REG_P (x))
+	      {
+		gcc_assert (HARD_REGISTER_P (x));
+	        regno = REGNO (x);
+		end_regno = END_HARD_REGNO (x);
+		do
+		  record_last_reg_set_info (insn, regno);
+		while (++regno < end_regno);
+	      }
+	  }
+
       if (! CONST_OR_PURE_CALL_P (insn))
 	record_last_mem_set_info (insn);
     }
@@ -856,96 +881,6 @@ reg_used_on_edge (rtx reg, edge e)
   return false;
 }
 
-
-/* Return the insn that sets register REG or clobbers it in between
-   FROM_INSN and TO_INSN (exclusive of those two).
-   Just like reg_set_between but for hard registers and not pseudos.  */
-
-static rtx
-reg_set_between_after_reload_p (rtx reg, rtx from_insn, rtx to_insn)
-{
-  rtx insn;
-
-  /* We are called after register allocation.  */
-  gcc_assert (REG_P (reg) && REGNO (reg) < FIRST_PSEUDO_REGISTER);
-
-  if (from_insn == to_insn)
-    return NULL_RTX;
-
-  for (insn = NEXT_INSN (from_insn);
-       insn != to_insn;
-       insn = NEXT_INSN (insn))
-    if (INSN_P (insn))
-      {
-	if (set_of (reg, insn) != NULL_RTX)
-	  return insn;
-	if ((CALL_P (insn)
-	      && call_used_regs[REGNO (reg)])
-	    || find_reg_fusage (insn, CLOBBER, reg))
-	  return insn;
-
-	if (FIND_REG_INC_NOTE (insn, reg))
-	  return insn;
-      }
-
-  return NULL_RTX;
-}
-
-/* Return the insn that uses register REG in between FROM_INSN and TO_INSN
-   (exclusive of those two). Similar to reg_used_between but for hard
-   registers and not pseudos.  */
-
-static rtx
-reg_used_between_after_reload_p (rtx reg, rtx from_insn, rtx to_insn)
-{
-  rtx insn;
-
-  /* We are called after register allocation.  */
-  gcc_assert (REG_P (reg) && REGNO (reg) < FIRST_PSEUDO_REGISTER);
-
-  if (from_insn == to_insn)
-    return NULL_RTX;
-
-  for (insn = NEXT_INSN (from_insn);
-       insn != to_insn;
-       insn = NEXT_INSN (insn))
-    if (INSN_P (insn))
-      {
-	if (reg_overlap_mentioned_p (reg, PATTERN (insn))
-	    || (CALL_P (insn)
-		&& call_used_regs[REGNO (reg)])
-	    || find_reg_fusage (insn, USE, reg)
-	    || find_reg_fusage (insn, CLOBBER, reg))
-	  return insn;
-
-	if (FIND_REG_INC_NOTE (insn, reg))
-	  return insn;
-      }
-
-  return NULL_RTX;
-}
-
-/* Return true if REG is used, set, or killed between the beginning of
-   basic block BB and UP_TO_INSN.  Caches the result in reg_avail_info.  */
-
-static bool
-reg_set_or_used_since_bb_start (rtx reg, basic_block bb, rtx up_to_insn)
-{
-  rtx insn, start = PREV_INSN (BB_HEAD (bb));
-
-  if (reg_avail_info[REGNO (reg)] != 0)
-    return true;
-
-  insn = reg_used_between_after_reload_p (reg, start, up_to_insn);
-  if (! insn)
-    insn = reg_set_between_after_reload_p (reg, start, up_to_insn);
-
-  if (insn)
-    reg_avail_info[REGNO (reg)] = INSN_CUID (insn);
-
-  return insn != NULL_RTX;
-}
-
 /* Return the loaded/stored register of a load/store instruction.  */
 
 static rtx
@@ -1037,7 +972,8 @@ eliminate_partially_redundant_load (basi
 
   /* Check that the loaded register is not used, set, or killed from the
      beginning of the block.  */
-  if (reg_set_or_used_since_bb_start (dest, bb, insn))
+  if (reg_changed_after_insn_p (dest, 0)
+      || reg_used_between_p (dest, PREV_INSN (BB_HEAD (bb)), insn))
     return;
 
   /* Check potential for replacing load with copy for predecessors.  */
@@ -1068,8 +1004,7 @@ eliminate_partially_redundant_load (basi
 	      avail_insn = NULL;
 	      continue;
 	    }
-	  if (! reg_set_between_after_reload_p (avail_reg, avail_insn,
-						next_pred_bb_end))
+	  if (!reg_set_between_p (avail_reg, avail_insn, next_pred_bb_end))
 	    /* AVAIL_INSN remains non-null.  */
 	    break;
 	  else

Modified: head/contrib/gcc/regs.h
==============================================================================
--- head/contrib/gcc/regs.h	Sat Nov 16 01:16:24 2013	(r258206)
+++ head/contrib/gcc/regs.h	Sat Nov 16 01:29:27 2013	(r258207)
@@ -239,5 +239,41 @@ extern void allocate_reg_info (size_t, i
 
 /* Specify number of hard registers given machine mode occupy.  */
 extern unsigned char hard_regno_nregs[FIRST_PSEUDO_REGISTER][MAX_MACHINE_MODE];
+/* Return an exclusive upper bound on the registers occupied by hard
+   register (reg:MODE REGNO).  */
+
+static inline unsigned int
+end_hard_regno (enum machine_mode mode, unsigned int regno)
+{
+  return regno + hard_regno_nregs[regno][(int) mode];
+}
+
+/* Likewise for hard register X.  */
+
+#define END_HARD_REGNO(X) end_hard_regno (GET_MODE (X), REGNO (X))
+
+/* Likewise for hard or pseudo register X.  */
+
+#define END_REGNO(X) (HARD_REGISTER_P (X) ? END_HARD_REGNO (X) : REGNO (X) + 1)
+
+
+/* Return true if (reg:MODE REGNO) includes an element of REGS.  */
+
+static inline bool
+overlaps_hard_reg_set_p (const HARD_REG_SET regs, enum machine_mode mode,
+			 unsigned int regno)
+{
+  unsigned int end_regno;
+
+  if (TEST_HARD_REG_BIT (regs, regno))
+    return true;
+
+  end_regno = end_hard_regno (mode, regno);
+  while (++regno < end_regno)
+    if (TEST_HARD_REG_BIT (regs, regno))
+      return true;
+
+  return false;
+}
 
 #endif /* GCC_REGS_H */

Modified: head/contrib/gcc/rtlanal.c
==============================================================================
--- head/contrib/gcc/rtlanal.c	Sat Nov 16 01:16:24 2013	(r258206)
+++ head/contrib/gcc/rtlanal.c	Sat Nov 16 01:29:27 2013	(r258207)
@@ -748,8 +748,8 @@ reg_set_p (rtx reg, rtx insn)
 	  || (CALL_P (insn)
 	      && ((REG_P (reg)
 		   && REGNO (reg) < FIRST_PSEUDO_REGISTER
-		   && TEST_HARD_REG_BIT (regs_invalidated_by_call,
-					 REGNO (reg)))
+		   && overlaps_hard_reg_set_p (regs_invalidated_by_call,
+					       GET_MODE (reg), REGNO (reg)))
 		  || MEM_P (reg)
 		  || find_reg_fusage (insn, CLOBBER, reg)))))
     return 1;

From owner-svn-src-all@FreeBSD.ORG  Sat Nov 16 04:29:02 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id DF145139;
 Sat, 16 Nov 2013 04:29:02 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id CF7A82ADF;
 Sat, 16 Nov 2013 04:29:02 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAG4T2Mc033443;
 Sat, 16 Nov 2013 04:29:02 GMT (envelope-from eadler@svn.freebsd.org)
Received: (from eadler@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAG4T2FD033442;
 Sat, 16 Nov 2013 04:29:02 GMT (envelope-from eadler@svn.freebsd.org)
Message-Id: <201311160429.rAG4T2FD033442@svn.freebsd.org>
From: Eitan Adler <eadler@FreeBSD.org>
Date: Sat, 16 Nov 2013 04:29:02 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258208 - head/sys/dev/iwn
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 16 Nov 2013 04:29:02 -0000

Author: eadler
Date: Sat Nov 16 04:29:02 2013
New Revision: 258208
URL: http://svnweb.freebsd.org/changeset/base/258208

Log:
  Centrino Wireless-N 2200 does not have bluetooth support.

Modified:
  head/sys/dev/iwn/if_iwn_chip_cfg.h

Modified: head/sys/dev/iwn/if_iwn_chip_cfg.h
==============================================================================
--- head/sys/dev/iwn/if_iwn_chip_cfg.h	Sat Nov 16 01:29:27 2013	(r258207)
+++ head/sys/dev/iwn/if_iwn_chip_cfg.h	Sat Nov 16 04:29:02 2013	(r258208)
@@ -170,7 +170,7 @@ static const struct iwn_base_params iwn2
 	.support_hostap = true,
 	.no_multi_vaps = false,
 	.additional_gp_drv_bit = IWN_GP_DRIVER_REG_BIT_RADIO_IQ_INVERT,
-	.bt_mode = IWN_BT_ADVANCED,
+	.bt_mode = IWN_BT_NONE,
 };
 
 static const struct iwn_base_params iwn2030_base_params = {

From owner-svn-src-all@FreeBSD.ORG  Sat Nov 16 08:20:50 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id EA0C4CC8;
 Sat, 16 Nov 2013 08:20:50 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id D8ED0239B;
 Sat, 16 Nov 2013 08:20:50 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAG8KoUk012091;
 Sat, 16 Nov 2013 08:20:50 GMT (envelope-from rpaulo@svn.freebsd.org)
Received: (from rpaulo@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAG8KoHH012089;
 Sat, 16 Nov 2013 08:20:50 GMT (envelope-from rpaulo@svn.freebsd.org)
Message-Id: <201311160820.rAG8KoHH012089@svn.freebsd.org>
From: Rui Paulo <rpaulo@FreeBSD.org>
Date: Sat, 16 Nov 2013 08:20:50 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258209 - head/sys/arm/ti
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 16 Nov 2013 08:20:51 -0000

Author: rpaulo
Date: Sat Nov 16 08:20:50 2013
New Revision: 258209
URL: http://svnweb.freebsd.org/changeset/base/258209

Log:
  Add a driver for the Texas Instruments Mailbox hardware.

Added:
  head/sys/arm/ti/ti_mbox.c   (contents, props changed)
  head/sys/arm/ti/ti_mbox.h   (contents, props changed)

Added: head/sys/arm/ti/ti_mbox.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sys/arm/ti/ti_mbox.c	Sat Nov 16 08:20:50 2013	(r258209)
@@ -0,0 +1,262 @@
+/*-
+ * Copyright (c) 2013 Rui Paulo <rpaulo@FreeBSD.org>
+ * 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 ``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 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.
+ */
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include <sys/param.h>
+#include <sys/systm.h>
+#include <sys/bus.h>
+#include <sys/kernel.h>
+#include <sys/module.h>
+#include <sys/malloc.h>
+#include <sys/rman.h>
+#include <sys/timeet.h>
+#include <sys/timetc.h>
+#include <sys/watchdog.h>
+#include <machine/bus.h>
+#include <machine/cpu.h>
+#include <machine/frame.h>
+#include <machine/intr.h>
+
+#include <dev/fdt/fdt_common.h>
+#include <dev/ofw/openfirm.h>
+#include <dev/ofw/ofw_bus.h>
+#include <dev/ofw/ofw_bus_subr.h>
+
+#include <machine/bus.h>
+#include <machine/fdt.h>
+
+#include <arm/ti/ti_mbox.h>
+#include <arm/ti/ti_prcm.h>
+
+#include "mbox_if.h"
+
+#define DEBUG
+#ifdef DEBUG
+#define	DPRINTF(fmt, ...)	do {	\
+	printf("%s: ", __func__);	\
+	printf(fmt, __VA_ARGS__);	\
+} while (0)
+#else
+#define	DPRINTF(fmt, ...)
+#endif
+
+static device_probe_t		ti_mbox_probe;
+static device_attach_t		ti_mbox_attach;
+static device_detach_t		ti_mbox_detach;
+static void			ti_mbox_intr(void *);
+static int			ti_mbox_read(device_t, int, uint32_t *);
+static int			ti_mbox_write(device_t, int, uint32_t);
+
+struct ti_mbox_softc {
+	struct mtx		sc_mtx;
+	struct resource		*sc_mem_res;
+	struct resource		*sc_irq_res;
+	void			*sc_intr;
+	bus_space_tag_t		sc_bt;
+	bus_space_handle_t	sc_bh;
+};
+
+#define	TI_MBOX_LOCK(sc)	mtx_lock(&(sc)->sc_mtx)
+#define	TI_MBOX_UNLOCK(sc)	mtx_unlock(&(sc)->sc_mtx)
+
+static device_method_t ti_mbox_methods[] = {
+	DEVMETHOD(device_probe,		ti_mbox_probe),
+	DEVMETHOD(device_attach,	ti_mbox_attach),
+	DEVMETHOD(device_detach,	ti_mbox_detach),
+
+	DEVMETHOD(mbox_read,		ti_mbox_read),
+	DEVMETHOD(mbox_write,		ti_mbox_write),
+
+	DEVMETHOD_END
+};
+
+static driver_t ti_mbox_driver = {
+	"ti_mbox",
+	ti_mbox_methods,
+	sizeof(struct ti_mbox_softc)
+};
+
+static devclass_t ti_mbox_devclass;
+
+DRIVER_MODULE(ti_mbox, simplebus, ti_mbox_driver, ti_mbox_devclass, 0, 0);
+
+static __inline uint32_t
+ti_mbox_reg_read(struct ti_mbox_softc *sc, uint16_t reg)
+{
+	return (bus_space_read_4(sc->sc_bt, sc->sc_bh, reg));
+}
+
+static __inline void
+ti_mbox_reg_write(struct ti_mbox_softc *sc, uint16_t reg, uint32_t val)
+{
+	bus_space_write_4(sc->sc_bt, sc->sc_bh, reg, val);
+}
+
+static int
+ti_mbox_probe(device_t dev)
+{
+	if (ofw_bus_is_compatible(dev, "ti,system-mbox")) {
+		device_set_desc(dev, "TI System Mailbox");
+		return (BUS_PROBE_DEFAULT);
+	}
+
+	return (ENXIO);
+}
+
+static int
+ti_mbox_attach(device_t dev)
+{
+	struct ti_mbox_softc *sc;
+	int rid, delay, chan;
+	uint32_t rev, sysconfig;
+
+	if (ti_prcm_clk_enable(MAILBOX0_CLK) != 0) {
+		device_printf(dev, "could not enable MBOX clock\n");
+		return (ENXIO);
+	}
+	sc = device_get_softc(dev);
+	rid = 0;
+	mtx_init(&sc->sc_mtx, "TI mbox", MTX_DEF, 0);
+	sc->sc_mem_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid,
+	    RF_ACTIVE);
+	if (sc->sc_mem_res == NULL) {
+		device_printf(dev, "could not allocate memory resource\n");
+		return (ENXIO);
+	}
+	sc->sc_bt = rman_get_bustag(sc->sc_mem_res);
+	sc->sc_bh = rman_get_bushandle(sc->sc_mem_res);
+	rid = 0;
+	sc->sc_irq_res = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid,
+	    RF_ACTIVE);
+	if (sc->sc_irq_res == NULL) {
+		device_printf(dev, "could not allocate interrupt resource\n");
+		ti_mbox_detach(dev);
+		return (ENXIO);
+	}
+	if (bus_setup_intr(dev, sc->sc_irq_res, INTR_MPSAFE | INTR_TYPE_MISC,
+	    NULL, ti_mbox_intr, sc, &sc->sc_intr) != 0) {
+		device_printf(dev, "unable to setup the interrupt handler\n");
+		ti_mbox_detach(dev);
+		return (ENXIO);
+	}
+	/*
+	 * Reset the controller.
+	 */
+	sysconfig = ti_mbox_reg_read(sc, TI_MBOX_SYSCONFIG);
+	DPRINTF("initial sysconfig %d\n", sysconfig);
+	sysconfig |= TI_MBOX_SYSCONFIG_SOFTRST;
+	delay = 100;
+	while (ti_mbox_reg_read(sc, TI_MBOX_SYSCONFIG) & 
+	    TI_MBOX_SYSCONFIG_SOFTRST) {
+		delay--;
+		DELAY(10);
+	}
+	if (delay == 0) {
+		device_printf(dev, "controller reset failed\n");
+		ti_mbox_detach(dev);
+		return (ENXIO);
+	}
+	/*
+	 * Enable smart idle mode.
+	 */
+	ti_mbox_reg_write(sc, TI_MBOX_SYSCONFIG,
+	    ti_mbox_reg_read(sc, TI_MBOX_SYSCONFIG) | TI_MBOX_SYSCONFIG_SMARTIDLE);
+	rev = ti_mbox_reg_read(sc, TI_MBOX_REVISION);
+	DPRINTF("rev %d\n", rev);
+	device_printf(dev, "revision %d.%d\n", (rev >> 8) & 0x4, rev & 0x40);
+	/*
+	 * Enable message interrupts.
+	 */
+	for (chan = 0; chan < 8; chan++)
+		ti_mbox_reg_write(sc, TI_MBOX_IRQENABLE_SET(chan), 1);
+
+	return (0);
+}
+
+static int
+ti_mbox_detach(device_t dev)
+{
+	struct ti_mbox_softc *sc;
+
+	sc = device_get_softc(dev);
+	if (sc->sc_intr)
+		bus_teardown_intr(dev, sc->sc_irq_res, sc->sc_intr);
+	if (sc->sc_irq_res)
+		bus_release_resource(dev, SYS_RES_IRQ, rman_get_rid(sc->sc_irq_res),
+		    sc->sc_irq_res);
+	if (sc->sc_mem_res)
+		bus_release_resource(dev, SYS_RES_MEMORY, rman_get_rid(sc->sc_mem_res),
+		    sc->sc_mem_res);
+
+	return (0);
+}
+
+static void
+ti_mbox_intr(void *arg)
+{
+	struct ti_mbox_softc *sc;
+
+	sc = arg;
+	DPRINTF("interrupt %p", sc);
+}
+
+static int
+ti_mbox_read(device_t dev, int chan, uint32_t *data)
+{
+	struct ti_mbox_softc *sc;
+
+	if (chan < 0 || chan > 7)
+		return (EINVAL);
+	sc = device_get_softc(dev);
+
+	return (ti_mbox_reg_read(sc, TI_MBOX_MESSAGE(chan)));
+}
+
+static int
+ti_mbox_write(device_t dev, int chan, uint32_t data)
+{
+	int limit = 500;
+	struct ti_mbox_softc *sc;
+
+	if (chan < 0 || chan > 7)
+		return (EINVAL);
+	sc = device_get_softc(dev);
+	TI_MBOX_LOCK(sc);
+	/* XXX implement interrupt method */
+	while (ti_mbox_reg_read(sc, TI_MBOX_FIFOSTATUS(chan)) == 1 && 
+	    limit--) {
+		DELAY(10);
+	}
+	if (limit == 0) {
+		device_printf(dev, "FIFOSTAUS%d stuck\n", chan);
+		TI_MBOX_UNLOCK(sc);
+		return (EAGAIN);
+	}
+	ti_mbox_reg_write(sc, TI_MBOX_MESSAGE(chan), data);
+
+	return (0);
+}

Added: head/sys/arm/ti/ti_mbox.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sys/arm/ti/ti_mbox.h	Sat Nov 16 08:20:50 2013	(r258209)
@@ -0,0 +1,44 @@
+/*-
+ * Copyright (c) 2013 Rui Paulo <rpaulo@FreeBSD.org>
+ * 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 ``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 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.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef _TI_MBOX_H_
+#define _TI_MBOX_H_
+
+#define	TI_MBOX_REVISION		0x00
+#define	TI_MBOX_SYSCONFIG		0x10
+#define	TI_MBOX_SYSCONFIG_SOFTRST	0x01
+#define	TI_MBOX_SYSCONFIG_SMARTIDLE	(0x02 << 2)
+#define	TI_MBOX_MESSAGE(n)		(0x40 + (n) * 0x4)
+#define	TI_MBOX_FIFOSTATUS(n)		(0x80 + (n) * 0x4)
+#define	TI_MBOX_MSGSTATUS(n)		(0xc0 + (n) * 0x4)
+#define	TI_MBOX_IRQSTATUS_RAW(n)	(0x100 + (n) * 0x10)
+#define	TI_MBOX_IRQSTATUS_CLR(n)	(0x104 + (n) * 0x10)
+#define	TI_MBOX_IRQENABLE_SET(n)	(0x108 + (n) * 0x10)
+#define	TI_MBOX_IRQENABLE_CLR(n)	(0x10c + (n) * 0x10)
+
+#endif /* _TI_MBOX_H_ */

From owner-svn-src-all@FreeBSD.ORG  Sat Nov 16 08:23:16 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 638BBE3F;
 Sat, 16 Nov 2013 08:23:16 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 4432B23B3;
 Sat, 16 Nov 2013 08:23:16 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAG8NGFT012474;
 Sat, 16 Nov 2013 08:23:16 GMT (envelope-from rpaulo@svn.freebsd.org)
Received: (from rpaulo@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAG8NFDF012472;
 Sat, 16 Nov 2013 08:23:15 GMT (envelope-from rpaulo@svn.freebsd.org)
Message-Id: <201311160823.rAG8NFDF012472@svn.freebsd.org>
From: Rui Paulo <rpaulo@FreeBSD.org>
Date: Sat, 16 Nov 2013 08:23:15 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258210 - head/sys/arm/ti
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 16 Nov 2013 08:23:16 -0000

Author: rpaulo
Date: Sat Nov 16 08:23:15 2013
New Revision: 258210
URL: http://svnweb.freebsd.org/changeset/base/258210

Log:
  Add a driver for the TI Programmable Realtime Unit Subsystem.
  
  This is only a userland accessibility driver.  It mmaps the hardware region to
  userland and posts interrupt notifications via kqueue.

Added:
  head/sys/arm/ti/ti_pruss.c   (contents, props changed)
  head/sys/arm/ti/ti_pruss.h   (contents, props changed)

Added: head/sys/arm/ti/ti_pruss.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sys/arm/ti/ti_pruss.c	Sat Nov 16 08:23:15 2013	(r258210)
@@ -0,0 +1,320 @@
+/*-
+ * Copyright (c) 2013 Rui Paulo <rpaulo@FreeBSD.org>
+ * 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 ``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 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.
+ */
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include <sys/param.h>
+#include <sys/systm.h>
+#include <sys/bus.h>
+#include <sys/conf.h>
+#include <sys/kernel.h>
+#include <sys/module.h>
+#include <sys/malloc.h>
+#include <sys/rman.h>
+#include <sys/event.h>
+#include <sys/selinfo.h>
+#include <machine/bus.h>
+#include <machine/cpu.h>
+#include <machine/frame.h>
+#include <machine/intr.h>
+
+#include <dev/fdt/fdt_common.h>
+#include <dev/ofw/openfirm.h>
+#include <dev/ofw/ofw_bus.h>
+#include <dev/ofw/ofw_bus_subr.h>
+
+#include <machine/bus.h>
+#include <machine/fdt.h>
+
+#include <arm/ti/ti_prcm.h>
+#include <arm/ti/ti_pruss.h>
+
+#define DEBUG
+#ifdef DEBUG
+#define	DPRINTF(fmt, ...)	do {	\
+	printf("%s: ", __func__);	\
+	printf(fmt, __VA_ARGS__);	\
+} while (0)
+#else
+#define	DPRINTF(fmt, ...)
+#endif
+
+static device_probe_t		ti_pruss_probe;
+static device_attach_t		ti_pruss_attach;
+static device_detach_t		ti_pruss_detach;
+static void			ti_pruss_intr(void *);
+static d_open_t			ti_pruss_open;
+static d_close_t		ti_pruss_close;
+static d_mmap_t			ti_pruss_mmap;
+static void 			ti_pruss_kq_read_detach(struct knote *);
+static int 			ti_pruss_kq_read_event(struct knote *, long);
+static d_kqfilter_t		ti_pruss_kqfilter;
+
+#define	TI_PRUSS_IRQS	8
+struct ti_pruss_softc {
+	struct mtx		sc_mtx;
+	struct resource 	*sc_mem_res;
+	struct resource 	*sc_irq_res[TI_PRUSS_IRQS];
+	void            	*sc_intr[TI_PRUSS_IRQS];
+	bus_space_tag_t		sc_bt;
+	bus_space_handle_t	sc_bh;
+	struct cdev		*sc_pdev;
+	struct selinfo		sc_selinfo;
+	uint32_t		sc_inuse;
+};
+
+static struct cdevsw ti_pruss_cdevsw = {
+	.d_version =	D_VERSION,
+	.d_name =	"ti_pruss",
+	.d_open =	ti_pruss_open,
+	.d_close =	ti_pruss_close,
+	.d_mmap =	ti_pruss_mmap,
+	.d_kqfilter =	ti_pruss_kqfilter,
+};
+
+static device_method_t ti_pruss_methods[] = {
+	DEVMETHOD(device_probe,		ti_pruss_probe),
+	DEVMETHOD(device_attach,	ti_pruss_attach),
+	DEVMETHOD(device_detach,	ti_pruss_detach),
+
+	DEVMETHOD_END
+};
+
+static driver_t ti_pruss_driver = {
+	"ti_pruss",
+	ti_pruss_methods,
+	sizeof(struct ti_pruss_softc)
+};
+
+static devclass_t ti_pruss_devclass;
+
+DRIVER_MODULE(ti_pruss, simplebus, ti_pruss_driver, ti_pruss_devclass, 0, 0);
+
+static struct resource_spec ti_pruss_irq_spec[] = {
+	{ SYS_RES_IRQ,	    0,  RF_ACTIVE },
+	{ SYS_RES_IRQ,	    1,  RF_ACTIVE },
+	{ SYS_RES_IRQ,	    2,  RF_ACTIVE },
+	{ SYS_RES_IRQ,	    3,  RF_ACTIVE },
+	{ SYS_RES_IRQ,	    4,  RF_ACTIVE },
+	{ SYS_RES_IRQ,	    5,  RF_ACTIVE },
+	{ SYS_RES_IRQ,	    6,  RF_ACTIVE },
+	{ SYS_RES_IRQ,	    7,  RF_ACTIVE },
+	{ -1,               0,  0 }
+};
+
+static struct ti_pruss_irq_arg {
+	int 		       irq;
+	struct ti_pruss_softc *sc;
+} ti_pruss_irq_args[TI_PRUSS_IRQS];
+
+static __inline uint32_t
+ti_pruss_reg_read(struct ti_pruss_softc *sc, uint32_t reg)
+{
+	return (bus_space_read_4(sc->sc_bt, sc->sc_bh, reg));
+}
+
+static __inline void
+ti_pruss_reg_write(struct ti_pruss_softc *sc, uint32_t reg, uint32_t val)
+{
+	bus_space_write_4(sc->sc_bt, sc->sc_bh, reg, val);
+}
+
+static int
+ti_pruss_probe(device_t dev)
+{
+	if (ofw_bus_is_compatible(dev, "ti,pruss-v1") ||
+	    ofw_bus_is_compatible(dev, "ti,pruss-v2")) {
+		device_set_desc(dev, "TI Programmable Realtime Unit Subsystem");
+		return (BUS_PROBE_DEFAULT);
+	}
+
+	return (ENXIO);
+}
+
+static int
+ti_pruss_attach(device_t dev)
+{
+	struct ti_pruss_softc *sc;
+	int rid, i;
+
+	if (ti_prcm_clk_enable(PRUSS_CLK) != 0) {
+		device_printf(dev, "could not enable PRUSS clock\n");
+		return (ENXIO);
+	}
+	sc = device_get_softc(dev);
+	rid = 0;
+	mtx_init(&sc->sc_mtx, "TI PRUSS", MTX_DEF, 0);
+	sc->sc_mem_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid,
+	    RF_ACTIVE);
+	if (sc->sc_mem_res == NULL) {
+		device_printf(dev, "could not allocate memory resource\n");
+		return (ENXIO);
+	}
+	sc->sc_bt = rman_get_bustag(sc->sc_mem_res);
+	sc->sc_bh = rman_get_bushandle(sc->sc_mem_res);
+	if (bus_alloc_resources(dev, ti_pruss_irq_spec, sc->sc_irq_res) != 0) {
+		device_printf(dev, "could not allocate interrupt resource\n");
+		ti_pruss_detach(dev);
+		return (ENXIO);
+	}
+	for (i = 0; i < TI_PRUSS_IRQS; i++) {
+		ti_pruss_irq_args[i].irq = i;
+		ti_pruss_irq_args[i].sc = sc;
+		if (bus_setup_intr(dev, sc->sc_irq_res[i], 
+		    INTR_MPSAFE | INTR_TYPE_MISC,
+		    NULL, ti_pruss_intr, &ti_pruss_irq_args[i], 
+		    &sc->sc_intr[i]) != 0) {
+			device_printf(dev, 
+			    "unable to setup the interrupt handler\n");
+			ti_pruss_detach(dev);
+			return (ENXIO);
+		}
+	}
+	if (ti_pruss_reg_read(sc, PRUSS_AM18XX_INTC) == PRUSS_AM18XX_REV)
+		device_printf(dev, "AM18xx PRU-ICSS\n");
+	else if (ti_pruss_reg_read(sc, PRUSS_AM33XX_INTC) == PRUSS_AM33XX_REV)
+		device_printf(dev, "AM33xx PRU-ICSS\n");
+
+	sc->sc_pdev = make_dev(&ti_pruss_cdevsw, 0, UID_ROOT, GID_WHEEL,
+	    0600, "pruss%d", device_get_unit(dev));
+	sc->sc_pdev->si_drv1 = dev;
+
+	return (0);
+}
+
+static int
+ti_pruss_detach(device_t dev)
+{
+	struct ti_pruss_softc *sc;
+	int i;
+
+	sc = device_get_softc(dev);
+	for (i = 0; i < TI_PRUSS_IRQS; i++) {
+		if (sc->sc_intr[i])
+			bus_teardown_intr(dev, sc->sc_irq_res[i], sc->sc_intr[i]);
+		if (sc->sc_irq_res[i])
+			bus_release_resource(dev, SYS_RES_IRQ, 
+			    rman_get_rid(sc->sc_irq_res[i]),
+			    sc->sc_irq_res[i]);
+	}
+	if (sc->sc_mem_res)
+		bus_release_resource(dev, SYS_RES_MEMORY, rman_get_rid(sc->sc_mem_res),
+		    sc->sc_mem_res);
+	if (sc->sc_pdev)
+		destroy_dev(sc->sc_pdev);
+
+	return (0);
+}
+
+static void
+ti_pruss_intr(void *arg)
+{
+	struct ti_pruss_irq_arg *iap;
+	struct ti_pruss_softc *sc;
+
+	iap = arg;
+	sc = iap->sc;
+	DPRINTF("interrupt %p", sc);
+	KNOTE_UNLOCKED(&sc->sc_selinfo.si_note, iap->irq);
+}
+
+static int
+ti_pruss_open(struct cdev *cdev, int oflags, int devtype, struct thread *td)
+{
+	device_t dev = cdev->si_drv1;
+	struct ti_pruss_softc *sc = device_get_softc(dev);
+
+	if (atomic_cmpset_32(&sc->sc_inuse, 0, 1) == 0)
+		return (EBUSY);
+	else
+		return (0);
+}
+
+static int
+ti_pruss_close(struct cdev *cdev, int fflag, int devtype, struct thread *td)
+{
+	device_t dev = cdev->si_drv1;
+	struct ti_pruss_softc *sc = device_get_softc(dev);
+
+	sc->sc_inuse = 0;
+
+	return (0);
+}
+
+static int
+ti_pruss_mmap(struct cdev *cdev, vm_ooffset_t offset, vm_paddr_t *paddr,
+    int nprot, vm_memattr_t *memattr)
+{
+	device_t dev = cdev->si_drv1;
+	struct ti_pruss_softc *sc = device_get_softc(dev);
+
+	if (offset > rman_get_size(sc->sc_mem_res))
+		return (-1);
+	*paddr = rman_get_start(sc->sc_mem_res) + offset;
+
+	return (0);
+}
+
+static struct filterops ti_pruss_kq_read = {
+	.f_isfd = 1,
+	.f_detach = ti_pruss_kq_read_detach,
+	.f_event = ti_pruss_kq_read_event,
+};
+
+static void
+ti_pruss_kq_read_detach(struct knote *kn)
+{
+	struct ti_pruss_softc *sc = kn->kn_hook;
+
+	knlist_remove(&sc->sc_selinfo.si_note, kn, 0);
+}
+
+static int
+ti_pruss_kq_read_event(struct knote *kn, long hint)
+{
+	kn->kn_data = hint;
+
+	return (hint);
+}
+
+static int
+ti_pruss_kqfilter(struct cdev *cdev, struct knote *kn)
+{
+	device_t dev = cdev->si_drv1;
+	struct ti_pruss_softc *sc = device_get_softc(dev);
+
+	switch (kn->kn_filter) {
+	case EVFILT_READ:
+		kn->kn_hook = sc;
+		kn->kn_fop = &ti_pruss_kq_read;
+		knlist_add(&sc->sc_selinfo.si_note, kn, 1);
+		break;
+	default:
+		return (EINVAL);
+	}
+
+	return (0);
+}

Added: head/sys/arm/ti/ti_pruss.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sys/arm/ti/ti_pruss.h	Sat Nov 16 08:23:15 2013	(r258210)
@@ -0,0 +1,36 @@
+/*-
+ * Copyright (c) 2013 Rui Paulo <rpaulo@FreeBSD.org>
+ * 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 ``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 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.
+ *
+ * $FreeBSD$
+ */
+#ifndef _TI_PRUSS_H_
+#define _TI_PRUSS_H_
+
+#define	PRUSS_AM18XX_INTC	0x04000
+#define	PRUSS_AM18XX_REV	0x4e825900
+#define	PRUSS_AM33XX_REV	0x4e82A900
+#define	PRUSS_AM33XX_INTC	0x20000
+
+#endif /* _TI_PRUSS_H_ */

From owner-svn-src-all@FreeBSD.ORG  Sat Nov 16 08:24:42 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 8847BF8A;
 Sat, 16 Nov 2013 08:24:42 +0000 (UTC)
Received: from mail110.syd.optusnet.com.au (mail110.syd.optusnet.com.au
 [211.29.132.97])
 by mx1.freebsd.org (Postfix) with ESMTP id 33E1623BD;
 Sat, 16 Nov 2013 08:24:41 +0000 (UTC)
Received: from c122-106-156-23.carlnfd1.nsw.optusnet.com.au
 (c122-106-156-23.carlnfd1.nsw.optusnet.com.au [122.106.156.23])
 by mail110.syd.optusnet.com.au (Postfix) with ESMTPS id D64D07815D4;
 Sat, 16 Nov 2013 19:24:32 +1100 (EST)
Date: Sat, 16 Nov 2013 19:24:32 +1100 (EST)
From: Bruce Evans <brde@optusnet.com.au>
X-X-Sender: bde@besplex.bde.org
To: John Baldwin <jhb@FreeBSD.org>
Subject: Re: svn commit: r258174 - head/sys/kern
In-Reply-To: <201311151529.rAFFTrTN062522@svn.freebsd.org>
Message-ID: <20131116183038.C1344@besplex.bde.org>
References: <201311151529.rAFFTrTN062522@svn.freebsd.org>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
X-Optus-CM-Score: 0
X-Optus-CM-Analysis: v=2.1 cv=DstvpgP+ c=1 sm=1 tr=0
 a=ebeQFi2P/qHVC0Yw9JDJ4g==:117 a=PO7r1zJSAAAA:8 a=ekw1U9Hkn-AA:10
 a=kj9zAlcOel0A:10 a=JzwRw_2MAAAA:8 a=M4roAWbnUW4A:10
 a=zY6XHOb56D_KJJVBn_wA:9 a=WmoTucS6ZT25Yo6j:21 a=z9U1w9ffVQ2peHBE:21
 a=CjuIK1q_8ugA:10
Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org,
 src-committers@FreeBSD.org
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 16 Nov 2013 08:24:42 -0000

On Fri, 15 Nov 2013, John Baldwin wrote:

> Log:
>  Don't allow vfs.lorunningspace or vfs.hirunningspace to be set such
>  that lorunningspace is greater than hirunningspace as the system
>  performs terribly if it is mistuned in this fashion.

Ugh, almost all writeable sysctls have foot-shooting capabilities, and
this one is especially not in need of anti-foot-shooting if it only
gives terrible performance.  Foot-shooting with sysctl gives things
like panics if you are lucky.

It is a feature that sysctls can be changed independently through
possibly invalid intermediate states.  This allows quick changes
without having to think much about the intermediate states if you
know that the invalid ones won't do any unrecoverable damage.  I
admit to being careful when changing the nearby sysctls for dirty
buffers only through valid and not very suboptimal intermediate
states because I don't know how harmful invalid intermediate states
are.  In my version of bge, I use the better design of scattered
independent non-range-checked sysctls that mostly aren't sent to
the hardware immediately; then another sysctl (or down/up) syncs
the changes to the hardware.  The valid range of each depends on
the others in a complicated way that is too hard for the system
to know.

> Modified: head/sys/kern/vfs_bio.c
> ==============================================================================
> --- head/sys/kern/vfs_bio.c	Fri Nov 15 15:14:07 2013	(r258173)
> +++ head/sys/kern/vfs_bio.c	Fri Nov 15 15:29:53 2013	(r258174)
> @@ -118,6 +118,7 @@ static int flushbufqueues(int, int);
> static void buf_daemon(void);
> static void bremfreel(struct buf *bp);
> static __inline void bd_wakeup(void);
> +static int sysctl_runningspace(SYSCTL_HANDLER_ARGS);
> #if defined(COMPAT_FREEBSD4) || defined(COMPAT_FREEBSD5) || \
>     defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD7)
> static int sysctl_bufspace(SYSCTL_HANDLER_ARGS);
> @@ -167,10 +168,12 @@ static int bufdefragcnt;
> SYSCTL_INT(_vfs, OID_AUTO, bufdefragcnt, CTLFLAG_RW, &bufdefragcnt, 0,
>     "Number of times we have had to repeat buffer allocation to defragment");
> static long lorunningspace;
> -SYSCTL_LONG(_vfs, OID_AUTO, lorunningspace, CTLFLAG_RW, &lorunningspace, 0,
> +SYSCTL_PROC(_vfs, OID_AUTO, lorunningspace, CTLTYPE_LONG | CTLFLAG_MPSAFE |
> +    CTLFLAG_RW, &lorunningspace, 0, sysctl_runningspace, "L",
>     "Minimum preferred space used for in-progress I/O");
> static long hirunningspace;
> -SYSCTL_LONG(_vfs, OID_AUTO, hirunningspace, CTLFLAG_RW, &hirunningspace, 0,
> +SYSCTL_PROC(_vfs, OID_AUTO, hirunningspace, CTLTYPE_LONG | CTLFLAG_MPSAFE |
> +    CTLFLAG_RW, &hirunningspace, 0, sysctl_runningspace, "L",
>     "Maximum amount of space to use for in-progress I/O");
> int dirtybufferflushes;
> SYSCTL_INT(_vfs, OID_AUTO, dirtybufferflushes, CTLFLAG_RW, &dirtybufferflushes,
> @@ -332,6 +335,34 @@ const char *buf_wmesg = BUF_WMESG;
> #define VFS_BIO_NEED_FREE	0x04	/* wait for free bufs, hi hysteresis */
> #define VFS_BIO_NEED_BUFSPACE	0x08	/* wait for buf space, lo hysteresis */
>
> +static int
> +sysctl_runningspace(SYSCTL_HANDLER_ARGS)
> +{
> +	long value;
> +	int error;
> +
> +	value = *(long *)arg1;
> +	error = sysctl_handle_long(oidp, &value, 0, req);
> +	if (error != 0 || req->newptr == NULL)
> +		return (error);
> +	mtx_lock(&rbreqlock);
> +	if (arg1 == &hirunningspace) {
> +		if (value < lorunningspace)
> +			error = EINVAL;
> +		else
> +			hirunningspace = value;
> +	} else {
> +		KASSERT(arg1 == &lorunningspace,
> +		    ("%s: unknown arg1", __func__));

Style bug.  vfs_bio.c doesn't use the __func__ obfuscation anywhere else.
It had 65 KASSERT()'s.  About half of these don't even print their
function name.  The fix is not to consistently use the obfuscation to
print the function name.  See an old bikeshed.

> 66 times.

> +		if (value > hirunningspace)
> +			error = EINVAL;
> +		else
> +			lorunningspace = value;
> +	}

Terrible performance is probably still possible by setting the watermarks
to equal values.  But it would be just a bug to prevent the user setting
that, since it is a special case of a small gap between the watermarks.
The system should not enforce any particular gap, since it doesn't know
the correct gap and the reason for existence of these sysctls is to let
the user tell it the correct gap.

> +	mtx_unlock(&rbreqlock);
> +	return (error);
> +}
> +
> #if defined(COMPAT_FREEBSD4) || defined(COMPAT_FREEBSD5) || \
>     defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD7)
> static int

FreeBSD has too many sysctls (3672 on freefall now), and this much code
for each of them would take about as much object space as an entire
non-bloated kernel (1-2MB).  Much larger and complicated code would be
required to prevent all invalid intermediate states.  It is almost better
to write a 10MB GUI application for each combination of related sysctls.

Bruce

From owner-svn-src-all@FreeBSD.ORG  Sat Nov 16 08:28:15 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 34329167;
 Sat, 16 Nov 2013 08:28:15 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 23BF023CC;
 Sat, 16 Nov 2013 08:28:15 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAG8SFKW013095;
 Sat, 16 Nov 2013 08:28:15 GMT (envelope-from rpaulo@svn.freebsd.org)
Received: (from rpaulo@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAG8SEeM013094;
 Sat, 16 Nov 2013 08:28:14 GMT (envelope-from rpaulo@svn.freebsd.org)
Message-Id: <201311160828.rAG8SEeM013094@svn.freebsd.org>
From: Rui Paulo <rpaulo@FreeBSD.org>
Date: Sat, 16 Nov 2013 08:28:14 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258211 - head/sys/arm/ti
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 16 Nov 2013 08:28:15 -0000

Author: rpaulo
Date: Sat Nov 16 08:28:14 2013
New Revision: 258211
URL: http://svnweb.freebsd.org/changeset/base/258211

Log:
  Enable the ti_mbox and ti_pruss drivers.

Modified:
  head/sys/arm/ti/files.ti

Modified: head/sys/arm/ti/files.ti
==============================================================================
--- head/sys/arm/ti/files.ti	Sat Nov 16 08:23:15 2013	(r258210)
+++ head/sys/arm/ti/files.ti	Sat Nov 16 08:28:14 2013	(r258211)
@@ -16,6 +16,9 @@ arm/ti/ti_cpuid.c				standard
 arm/ti/ti_machdep.c				standard
 arm/ti/ti_prcm.c				standard
 arm/ti/ti_scm.c					standard
+dev/mbox/mbox_if.m				standard
+arm/ti/ti_mbox.c				standard
+arm/ti/ti_pruss.c				standard
 
 arm/ti/ti_gpio.c				optional	gpio
 arm/ti/ti_i2c.c					optional	ti_i2c

From owner-svn-src-all@FreeBSD.ORG  Sat Nov 16 08:50:56 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 09B3370F;
 Sat, 16 Nov 2013 08:50:56 +0000 (UTC)
Received: from mail-ee0-x235.google.com (mail-ee0-x235.google.com
 [IPv6:2a00:1450:4013:c00::235])
 (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 26E7B250A;
 Sat, 16 Nov 2013 08:50:55 +0000 (UTC)
Received: by mail-ee0-f53.google.com with SMTP id b57so1476427eek.40
 for <multiple recipients>; Sat, 16 Nov 2013 00:50:52 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
 h=mime-version:sender:in-reply-to:references:date:message-id:subject
 :from:to:cc:content-type;
 bh=SPpjHCFQhsZeOquN/SyWjUdE6MbF8PCrmx5NpbmJk3k=;
 b=FAhOPxSvT4Ftca1QsaZV+P9S/N38OZLnle5vujjBqChp9eWz2hUiTn0LZs2j+NClTG
 TxxEKFv3rXs4EaMmzEer496hu4PP1+L2gxg+8IOt2+Frgv6XzZn8JdQ27AzZ2cqe6+ir
 ie5eibV1iOTAhoNJVlDu/W6MXOEn5ShI724haw/WU+rZ07VcWCwdtQHC7OttrlaD+2uE
 hocn5L5gqj0TvqqNmYKnPrGJZJ+bhCKSz+ly4wPMqfnEG5kkfttmkKg5K60Rkrxcro7x
 ru7apHOuQrZ7wi+2v0GLKsnTLhh7c6FJcNPMkJxV+a27mnK9vJ3oeccS//uIPe3U76oD
 6wtA==
MIME-Version: 1.0
X-Received: by 10.15.101.13 with SMTP id bo13mr3404559eeb.77.1384591852738;
 Sat, 16 Nov 2013 00:50:52 -0800 (PST)
Sender: hiren.panchasara@gmail.com
Received: by 10.14.127.195 with HTTP; Sat, 16 Nov 2013 00:50:52 -0800 (PST)
In-Reply-To: <201311152026.rAFKQEHs066137@svn.freebsd.org>
References: <201311152026.rAFKQEHs066137@svn.freebsd.org>
Date: Sat, 16 Nov 2013 00:50:52 -0800
X-Google-Sender-Auth: BKe-ySs5xw40wBluOMLew1j3au8
Message-ID: <CALCpEUEMx6RQDmJSnBTB1hWJbjy5zk-G4_4XNF8sPMYr8FbCZA@mail.gmail.com>
Subject: Re: svn commit: r258187 - head/sys/dev/bxe
From: hiren panchasara <hiren@FreeBSD.org>
To: Eric Davis <edavis@freebsd.org>
Content-Type: text/plain; charset=UTF-8
Cc: svn-src-head <svn-src-head@freebsd.org>,
 svn-src-all <svn-src-all@freebsd.org>,
 src-committers <src-committers@freebsd.org>
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 16 Nov 2013 08:50:56 -0000

On Fri, Nov 15, 2013 at 12:26 PM, Eric Davis <edavis@freebsd.org> wrote:
> Author: edavis
> Date: Fri Nov 15 20:26:14 2013
> New Revision: 258187
> URL: http://svnweb.freebsd.org/changeset/base/258187
>
> Log:
>   Fixed a tx watchdog chip reset that could occur on mostly idle links.
Thanks!
>   Fixed various link related issues and 10GBaseT is now linking properly.
>   Modified the types for the driver tunables to be consistent with the sysctl APIs.

Cheers,
Hiren

<skip>

From owner-svn-src-all@FreeBSD.ORG  Sat Nov 16 09:01:25 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 41578925;
 Sat, 16 Nov 2013 09:01:25 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 2EA9F2598;
 Sat, 16 Nov 2013 09:01:25 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAG91PEi025569;
 Sat, 16 Nov 2013 09:01:25 GMT (envelope-from jmg@svn.freebsd.org)
Received: (from jmg@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAG91O4g025564;
 Sat, 16 Nov 2013 09:01:24 GMT (envelope-from jmg@svn.freebsd.org)
Message-Id: <201311160901.rAG91O4g025564@svn.freebsd.org>
From: John-Mark Gurney <jmg@FreeBSD.org>
Date: Sat, 16 Nov 2013 09:01:24 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject: svn commit: r258212 - stable/10/sys/crypto/aesni
X-SVN-Group: stable-10
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 16 Nov 2013 09:01:25 -0000

Author: jmg
Date: Sat Nov 16 09:01:24 2013
New Revision: 258212
URL: http://svnweb.freebsd.org/changeset/base/258212

Log:
  MFC r257757:
  fix issues w/ AES-NI on unaligned data blocks...
  
  Approved by:	re (kib)

Modified:
  stable/10/sys/crypto/aesni/aesencdec.h
  stable/10/sys/crypto/aesni/aesni.h
  stable/10/sys/crypto/aesni/aesni_wrap.c
Directory Properties:
  stable/10/sys/   (props changed)

Modified: stable/10/sys/crypto/aesni/aesencdec.h
==============================================================================
--- stable/10/sys/crypto/aesni/aesencdec.h	Sat Nov 16 08:28:14 2013	(r258211)
+++ stable/10/sys/crypto/aesni/aesencdec.h	Sat Nov 16 09:01:24 2013	(r258212)
@@ -30,11 +30,10 @@
 #include <wmmintrin.h>
 
 static inline void
-aesni_enc8(int rounds, const uint8_t *key_schedule, __m128i a,
+aesni_enc8(int rounds, const __m128i *keysched, __m128i a,
     __m128i b, __m128i c, __m128i d, __m128i e, __m128i f, __m128i g,
     __m128i h, __m128i out[8])
 {
-	const __m128i *keysched = (const __m128i *)key_schedule;
 	int i;
 
 	a ^= keysched[0];
@@ -68,11 +67,10 @@ aesni_enc8(int rounds, const uint8_t *ke
 }
 
 static inline void
-aesni_dec8(int rounds, const uint8_t *key_schedule, __m128i a,
+aesni_dec8(int rounds, const __m128i *keysched, __m128i a,
     __m128i b, __m128i c, __m128i d, __m128i e, __m128i f, __m128i g,
     __m128i h, __m128i out[8])
 {
-	const __m128i *keysched = (const __m128i *)key_schedule;
 	int i;
 
 	a ^= keysched[0];
@@ -106,10 +104,9 @@ aesni_dec8(int rounds, const uint8_t *ke
 }
 
 static inline __m128i
-aesni_enc(int rounds, const uint8_t *key_schedule, const __m128i from)
+aesni_enc(int rounds, const __m128i *keysched, const __m128i from)
 {
 	__m128i tmp;
-	const __m128i *keysched = (const __m128i *)key_schedule;
 	int i;
 
 	tmp = from ^ keysched[0];
@@ -121,10 +118,9 @@ aesni_enc(int rounds, const uint8_t *key
 }
 
 static inline __m128i
-aesni_dec(int rounds, const uint8_t *key_schedule, const __m128i from)
+aesni_dec(int rounds, const __m128i *keysched, const __m128i from)
 {
 	__m128i tmp;
-	const __m128i *keysched = (const __m128i *)key_schedule;
 	int i;
 
 	tmp = from ^ keysched[0];

Modified: stable/10/sys/crypto/aesni/aesni.h
==============================================================================
--- stable/10/sys/crypto/aesni/aesni.h	Sat Nov 16 08:28:14 2013	(r258211)
+++ stable/10/sys/crypto/aesni/aesni.h	Sat Nov 16 09:01:24 2013	(r258212)
@@ -71,29 +71,30 @@ struct aesni_session {
 /*
  * Internal functions, implemented in assembler.
  */
-void aesni_set_enckey(const uint8_t *userkey, uint8_t *encrypt_schedule,
-    int number_of_rounds);
-void aesni_set_deckey(const uint8_t *encrypt_schedule,
-    uint8_t *decrypt_schedule, int number_of_rounds);
+void aesni_set_enckey(const uint8_t *userkey,
+    uint8_t *encrypt_schedule /*__aligned(16)*/, int number_of_rounds);
+void aesni_set_deckey(const uint8_t *encrypt_schedule /*__aligned(16)*/,
+    uint8_t *decrypt_schedule /*__aligned(16)*/, int number_of_rounds);
 
 /*
  * Slightly more public interfaces.
  */
-void aesni_encrypt_cbc(int rounds, const void *key_schedule, size_t len,
-    const uint8_t *from, uint8_t *to, const uint8_t iv[AES_BLOCK_LEN]);
-void aesni_decrypt_cbc(int rounds, const void *key_schedule, size_t len,
-    uint8_t *buf, const uint8_t iv[AES_BLOCK_LEN]);
-void aesni_encrypt_ecb(int rounds, const void *key_schedule, size_t len,
-    const uint8_t from[AES_BLOCK_LEN], uint8_t to[AES_BLOCK_LEN]);
-void aesni_decrypt_ecb(int rounds, const void *key_schedule, size_t len,
-    const uint8_t from[AES_BLOCK_LEN], uint8_t to[AES_BLOCK_LEN]);
-
-void aesni_encrypt_xts(int rounds, const void *data_schedule,
-    const void *tweak_schedule, size_t len, const uint8_t *from, uint8_t *to,
-    const uint8_t iv[AES_BLOCK_LEN]);
-void aesni_decrypt_xts(int rounds, const void *data_schedule,
-    const void *tweak_schedule, size_t len, const uint8_t *from, uint8_t *to,
+void aesni_encrypt_cbc(int rounds, const void *key_schedule /*__aligned(16)*/,
+    size_t len, const uint8_t *from, uint8_t *to,
     const uint8_t iv[AES_BLOCK_LEN]);
+void aesni_decrypt_cbc(int rounds, const void *key_schedule /*__aligned(16)*/,
+    size_t len, uint8_t *buf, const uint8_t iv[AES_BLOCK_LEN]);
+void aesni_encrypt_ecb(int rounds, const void *key_schedule /*__aligned(16)*/,
+    size_t len, const uint8_t *from, uint8_t *to);
+void aesni_decrypt_ecb(int rounds, const void *key_schedule /*__aligned(16)*/,
+    size_t len, const uint8_t *from, uint8_t *to);
+
+void aesni_encrypt_xts(int rounds, const void *data_schedule /*__aligned(16)*/,
+    const void *tweak_schedule /*__aligned(16)*/, size_t len,
+    const uint8_t *from, uint8_t *to, const uint8_t iv[AES_BLOCK_LEN]);
+void aesni_decrypt_xts(int rounds, const void *data_schedule /*__aligned(16)*/,
+    const void *tweak_schedule /*__aligned(16)*/, size_t len,
+    const uint8_t *from, uint8_t *to, const uint8_t iv[AES_BLOCK_LEN]);
 
 int aesni_cipher_setup(struct aesni_session *ses,
     struct cryptoini *encini);
@@ -103,4 +104,4 @@ int aesni_cipher_process(struct aesni_se
 uint8_t *aesni_cipher_alloc(struct cryptodesc *enccrd, struct cryptop *crp,
     int *allocated);
 
-#endif
+#endif /* _AESNI_H_ */

Modified: stable/10/sys/crypto/aesni/aesni_wrap.c
==============================================================================
--- stable/10/sys/crypto/aesni/aesni_wrap.c	Sat Nov 16 08:28:14 2013	(r258211)
+++ stable/10/sys/crypto/aesni/aesni_wrap.c	Sat Nov 16 09:01:24 2013	(r258212)
@@ -41,6 +41,10 @@ __FBSDID("$FreeBSD$");
 
 MALLOC_DECLARE(M_AESNI);
 
+struct blocks8 {
+	__m128i	blk[8];
+} __packed;
+
 void
 aesni_encrypt_cbc(int rounds, const void *key_schedule, size_t len,
     const uint8_t *from, uint8_t *to, const uint8_t iv[AES_BLOCK_LEN])
@@ -65,20 +69,20 @@ aesni_decrypt_cbc(int rounds, const void
     uint8_t *buf, const uint8_t iv[AES_BLOCK_LEN])
 {
 	__m128i blocks[8];
-	__m128i *bufs;
+	struct blocks8 *blks;
 	__m128i ivreg, nextiv;
 	size_t i, j, cnt;
 
 	ivreg = _mm_loadu_si128((const __m128i *)iv);
 	cnt = len / AES_BLOCK_LEN / 8;
 	for (i = 0; i < cnt; i++) {
-		bufs = (__m128i *)buf;
-		aesni_dec8(rounds - 1, key_schedule, bufs[0], bufs[1],
-		    bufs[2], bufs[3], bufs[4], bufs[5], bufs[6],
-		    bufs[7], &blocks[0]);
+		blks = (struct blocks8 *)buf;
+		aesni_dec8(rounds - 1, key_schedule, blks->blk[0], blks->blk[1],
+		    blks->blk[2], blks->blk[3], blks->blk[4], blks->blk[5],
+		    blks->blk[6], blks->blk[7], &blocks[0]);
 		for (j = 0; j < 8; j++) {
-			nextiv = bufs[j];
-			bufs[j] = blocks[j] ^ ivreg;
+			nextiv = blks->blk[j];
+			blks->blk[j] = blocks[j] ^ ivreg;
 			ivreg = nextiv;
 		}
 		buf += AES_BLOCK_LEN * 8;
@@ -86,9 +90,9 @@ aesni_decrypt_cbc(int rounds, const void
 	i *= 8;
 	cnt = len / AES_BLOCK_LEN;
 	for (; i < cnt; i++) {
-		bufs = (__m128i *)buf;
-		nextiv = bufs[0];
-		bufs[0] = aesni_dec(rounds - 1, key_schedule, bufs[0]) ^ ivreg;
+		nextiv = _mm_loadu_si128((void *)buf);
+		_mm_storeu_si128((void *)buf,
+		    aesni_dec(rounds - 1, key_schedule, nextiv) ^ ivreg);
 		ivreg = nextiv;
 		buf += AES_BLOCK_LEN;
 	}
@@ -99,15 +103,26 @@ aesni_encrypt_ecb(int rounds, const void
     const uint8_t *from, uint8_t *to)
 {
 	__m128i tot;
-	const __m128i *blocks;
+	__m128i tout[8];
+	struct blocks8 *top;
+	const struct blocks8 *blks;
 	size_t i, cnt;
 
 	cnt = len / AES_BLOCK_LEN / 8;
 	for (i = 0; i < cnt; i++) {
-		blocks = (const __m128i *)from;
-		aesni_enc8(rounds - 1, key_schedule, blocks[0], blocks[1],
-		    blocks[2], blocks[3], blocks[4], blocks[5], blocks[6],
-		    blocks[7], (__m128i *)to);
+		blks = (const struct blocks8 *)from;
+		top = (struct blocks8 *)to;
+		aesni_enc8(rounds - 1, key_schedule, blks->blk[0], blks->blk[1],
+		    blks->blk[2], blks->blk[3], blks->blk[4], blks->blk[5],
+		    blks->blk[6], blks->blk[7], tout);
+		top->blk[0] = tout[0];
+		top->blk[1] = tout[1];
+		top->blk[2] = tout[2];
+		top->blk[3] = tout[3];
+		top->blk[4] = tout[4];
+		top->blk[5] = tout[5];
+		top->blk[6] = tout[6];
+		top->blk[7] = tout[7];
 		from += AES_BLOCK_LEN * 8;
 		to += AES_BLOCK_LEN * 8;
 	}
@@ -127,15 +142,26 @@ aesni_decrypt_ecb(int rounds, const void
     const uint8_t from[AES_BLOCK_LEN], uint8_t to[AES_BLOCK_LEN])
 {
 	__m128i tot;
-	const __m128i *blocks;
+	__m128i tout[8];
+	const struct blocks8 *blks;
+	struct blocks8 *top;
 	size_t i, cnt;
 
 	cnt = len / AES_BLOCK_LEN / 8;
 	for (i = 0; i < cnt; i++) {
-		blocks = (const __m128i *)from;
-		aesni_dec8(rounds - 1, key_schedule, blocks[0], blocks[1],
-		    blocks[2], blocks[3], blocks[4], blocks[5], blocks[6],
-		    blocks[7], (__m128i *)to);
+		blks = (const struct blocks8 *)from;
+		top = (struct blocks8 *)to;
+		aesni_dec8(rounds - 1, key_schedule, blks->blk[0], blks->blk[1],
+		    blks->blk[2], blks->blk[3], blks->blk[4], blks->blk[5],
+		    blks->blk[6], blks->blk[7], tout);
+		top->blk[0] = tout[0];
+		top->blk[1] = tout[1];
+		top->blk[2] = tout[2];
+		top->blk[3] = tout[3];
+		top->blk[4] = tout[4];
+		top->blk[5] = tout[5];
+		top->blk[6] = tout[6];
+		top->blk[7] = tout[7];
 		from += AES_BLOCK_LEN * 8;
 		to += AES_BLOCK_LEN * 8;
 	}
@@ -173,31 +199,33 @@ xts_crank_lfsr(__m128i inp)
 }
 
 static void
-aesni_crypt_xts_block(int rounds, const void *key_schedule, __m128i *tweak,
-    const __m128i *from, __m128i *to, int do_encrypt)
+aesni_crypt_xts_block(int rounds, const __m128i *key_schedule, __m128i *tweak,
+    const uint8_t *from, uint8_t *to, int do_encrypt)
 {
 	__m128i block;
 
-	block = *from ^ *tweak;
+	block = _mm_loadu_si128((const __m128i *)from) ^ *tweak;
 
 	if (do_encrypt)
 		block = aesni_enc(rounds - 1, key_schedule, block);
 	else
 		block = aesni_dec(rounds - 1, key_schedule, block);
 
-	*to = block ^ *tweak;
+	_mm_storeu_si128((__m128i *)to, block ^ *tweak);
 
 	*tweak = xts_crank_lfsr(*tweak);
 }
 
 static void
-aesni_crypt_xts_block8(int rounds, const void *key_schedule, __m128i *tweak,
-    const __m128i *from, __m128i *to, int do_encrypt)
+aesni_crypt_xts_block8(int rounds, const __m128i *key_schedule, __m128i *tweak,
+    const uint8_t *from, uint8_t *to, int do_encrypt)
 {
 	__m128i tmptweak;
 	__m128i a, b, c, d, e, f, g, h;
 	__m128i tweaks[8];
 	__m128i tmp[8];
+	__m128i *top;
+	const __m128i *fromp;
 
 	tmptweak = *tweak;
 
@@ -205,10 +233,12 @@ aesni_crypt_xts_block8(int rounds, const
 	 * unroll the loop.  This lets gcc put values directly in the
 	 * register and saves memory accesses.
 	 */
+	fromp = (const __m128i *)from;
 #define PREPINP(v, pos) 					\
 		do {						\
 			tweaks[(pos)] = tmptweak;		\
-			(v) = from[(pos)] ^ tmptweak;		\
+			(v) = _mm_loadu_si128(&fromp[pos]) ^	\
+			    tmptweak;				\
 			tmptweak = xts_crank_lfsr(tmptweak);	\
 		} while (0)
 	PREPINP(a, 0);
@@ -228,20 +258,21 @@ aesni_crypt_xts_block8(int rounds, const
 		aesni_dec8(rounds - 1, key_schedule, a, b, c, d, e, f, g, h,
 		    tmp);
 
-	to[0] = tmp[0] ^ tweaks[0];
-	to[1] = tmp[1] ^ tweaks[1];
-	to[2] = tmp[2] ^ tweaks[2];
-	to[3] = tmp[3] ^ tweaks[3];
-	to[4] = tmp[4] ^ tweaks[4];
-	to[5] = tmp[5] ^ tweaks[5];
-	to[6] = tmp[6] ^ tweaks[6];
-	to[7] = tmp[7] ^ tweaks[7];
+	top = (__m128i *)to;
+	_mm_storeu_si128(&top[0], tmp[0] ^ tweaks[0]);
+	_mm_storeu_si128(&top[1], tmp[1] ^ tweaks[1]);
+	_mm_storeu_si128(&top[2], tmp[2] ^ tweaks[2]);
+	_mm_storeu_si128(&top[3], tmp[3] ^ tweaks[3]);
+	_mm_storeu_si128(&top[4], tmp[4] ^ tweaks[4]);
+	_mm_storeu_si128(&top[5], tmp[5] ^ tweaks[5]);
+	_mm_storeu_si128(&top[6], tmp[6] ^ tweaks[6]);
+	_mm_storeu_si128(&top[7], tmp[7] ^ tweaks[7]);
 }
 
 static void
-aesni_crypt_xts(int rounds, const void *data_schedule,
-    const void *tweak_schedule, size_t len, const uint8_t *from, uint8_t *to,
-    const uint8_t iv[AES_BLOCK_LEN], int do_encrypt)
+aesni_crypt_xts(int rounds, const __m128i *data_schedule,
+    const __m128i *tweak_schedule, size_t len, const uint8_t *from,
+    uint8_t *to, const uint8_t iv[AES_BLOCK_LEN], int do_encrypt)
 {
 	__m128i tweakreg;
 	uint8_t tweak[AES_XTS_BLOCKSIZE] __aligned(16);
@@ -264,7 +295,7 @@ aesni_crypt_xts(int rounds, const void *
 	cnt = len / AES_XTS_BLOCKSIZE / 8;
 	for (i = 0; i < cnt; i++) {
 		aesni_crypt_xts_block8(rounds, data_schedule, &tweakreg,
-		    (const __m128i *)from, (__m128i *)to, do_encrypt);
+		    from, to, do_encrypt);
 		from += AES_XTS_BLOCKSIZE * 8;
 		to += AES_XTS_BLOCKSIZE * 8;
 	}
@@ -272,7 +303,7 @@ aesni_crypt_xts(int rounds, const void *
 	cnt = len / AES_XTS_BLOCKSIZE;
 	for (; i < cnt; i++) {
 		aesni_crypt_xts_block(rounds, data_schedule, &tweakreg,
-		    (const __m128i *)from, (__m128i *)to, do_encrypt);
+		    from, to, do_encrypt);
 		from += AES_XTS_BLOCKSIZE;
 		to += AES_XTS_BLOCKSIZE;
 	}

From owner-svn-src-all@FreeBSD.ORG  Sat Nov 16 10:34:17 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 6F3BF1B1;
 Sat, 16 Nov 2013 10:34:17 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 4F66C295D;
 Sat, 16 Nov 2013 10:34:17 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAGAYHvW055680;
 Sat, 16 Nov 2013 10:34:17 GMT (envelope-from mav@svn.freebsd.org)
Received: (from mav@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAGAYGTX055677;
 Sat, 16 Nov 2013 10:34:16 GMT (envelope-from mav@svn.freebsd.org)
Message-Id: <201311161034.rAGAYGTX055677@svn.freebsd.org>
From: Alexander Motin <mav@FreeBSD.org>
Date: Sat, 16 Nov 2013 10:34:16 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject: svn commit: r258213 - in stable/9/sys/dev: mvs siis
X-SVN-Group: stable-9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 16 Nov 2013 10:34:17 -0000

Author: mav
Date: Sat Nov 16 10:34:16 2013
New Revision: 258213
URL: http://svnweb.freebsd.org/changeset/base/258213

Log:
  MFC r249622:
  Make siis(4) and mvs(4) send bus_get_dma_tag() requests to parent buses
  passing real bus' child pointers instead of grandchilds.

Modified:
  stable/9/sys/dev/mvs/mvs_pci.c
  stable/9/sys/dev/mvs/mvs_soc.c
  stable/9/sys/dev/siis/siis.c
Directory Properties:
  stable/9/sys/   (props changed)
  stable/9/sys/dev/   (props changed)

Modified: stable/9/sys/dev/mvs/mvs_pci.c
==============================================================================
--- stable/9/sys/dev/mvs/mvs_pci.c	Sat Nov 16 09:01:24 2013	(r258212)
+++ stable/9/sys/dev/mvs/mvs_pci.c	Sat Nov 16 10:34:16 2013	(r258213)
@@ -488,6 +488,13 @@ mvs_child_location_str(device_t dev, dev
 	return (0);
 }
 
+static bus_dma_tag_t
+mvs_get_dma_tag(device_t bus, device_t child)
+{
+
+	return (bus_get_dma_tag(bus));
+}
+
 static device_method_t mvs_methods[] = {
 	DEVMETHOD(device_probe,     mvs_probe),
 	DEVMETHOD(device_attach,    mvs_attach),
@@ -500,6 +507,7 @@ static device_method_t mvs_methods[] = {
 	DEVMETHOD(bus_setup_intr,   mvs_setup_intr),
 	DEVMETHOD(bus_teardown_intr,mvs_teardown_intr),
 	DEVMETHOD(bus_child_location_str, mvs_child_location_str),
+	DEVMETHOD(bus_get_dma_tag,  mvs_get_dma_tag),
 	DEVMETHOD(mvs_edma,         mvs_edma),
 	{ 0, 0 }
 };

Modified: stable/9/sys/dev/mvs/mvs_soc.c
==============================================================================
--- stable/9/sys/dev/mvs/mvs_soc.c	Sat Nov 16 09:01:24 2013	(r258212)
+++ stable/9/sys/dev/mvs/mvs_soc.c	Sat Nov 16 10:34:16 2013	(r258213)
@@ -429,6 +429,13 @@ mvs_child_location_str(device_t dev, dev
 	return (0);
 }
 
+static bus_dma_tag_t
+mvs_get_dma_tag(device_t bus, device_t child)
+{
+
+	return (bus_get_dma_tag(bus));
+}
+
 static device_method_t mvs_methods[] = {
 	DEVMETHOD(device_probe,     mvs_probe),
 	DEVMETHOD(device_attach,    mvs_attach),
@@ -440,8 +447,9 @@ static device_method_t mvs_methods[] = {
 	DEVMETHOD(bus_release_resource,     mvs_release_resource),
 	DEVMETHOD(bus_setup_intr,   mvs_setup_intr),
 	DEVMETHOD(bus_teardown_intr,mvs_teardown_intr),
-	DEVMETHOD(mvs_edma,         mvs_edma),
 	DEVMETHOD(bus_child_location_str, mvs_child_location_str),
+	DEVMETHOD(bus_get_dma_tag,  mvs_get_dma_tag),
+	DEVMETHOD(mvs_edma,         mvs_edma),
 	{ 0, 0 }
 };
 static driver_t mvs_driver = {

Modified: stable/9/sys/dev/siis/siis.c
==============================================================================
--- stable/9/sys/dev/siis/siis.c	Sat Nov 16 09:01:24 2013	(r258212)
+++ stable/9/sys/dev/siis/siis.c	Sat Nov 16 10:34:16 2013	(r258213)
@@ -414,6 +414,13 @@ siis_child_location_str(device_t dev, de
 	return (0);
 }
 
+static bus_dma_tag_t
+siis_get_dma_tag(device_t bus, device_t child)
+{
+
+	return (bus_get_dma_tag(bus));
+}
+
 devclass_t siis_devclass;
 static device_method_t siis_methods[] = {
 	DEVMETHOD(device_probe,     siis_probe),
@@ -427,6 +434,7 @@ static device_method_t siis_methods[] = 
 	DEVMETHOD(bus_setup_intr,   siis_setup_intr),
 	DEVMETHOD(bus_teardown_intr,siis_teardown_intr),
 	DEVMETHOD(bus_child_location_str, siis_child_location_str),
+	DEVMETHOD(bus_get_dma_tag,  siis_get_dma_tag),
 	{ 0, 0 }
 };
 static driver_t siis_driver = {

From owner-svn-src-all@FreeBSD.ORG  Sat Nov 16 10:40:43 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id A0A593F6;
 Sat, 16 Nov 2013 10:40:43 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 902C2299B;
 Sat, 16 Nov 2013 10:40:43 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAGAeh3q058502;
 Sat, 16 Nov 2013 10:40:43 GMT (envelope-from mav@svn.freebsd.org)
Received: (from mav@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAGAehx7058501;
 Sat, 16 Nov 2013 10:40:43 GMT (envelope-from mav@svn.freebsd.org)
Message-Id: <201311161040.rAGAehx7058501@svn.freebsd.org>
From: Alexander Motin <mav@FreeBSD.org>
Date: Sat, 16 Nov 2013 10:40:43 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject: svn commit: r258214 - stable/9/sys/dev/ichsmb
X-SVN-Group: stable-9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 16 Nov 2013 10:40:43 -0000

Author: mav
Date: Sat Nov 16 10:40:43 2013
New Revision: 258214
URL: http://svnweb.freebsd.org/changeset/base/258214

Log:
  MFC r244981 (by jfv)
  Add Intel Lynx Point PCH SMBus Device IDs

Modified:
  stable/9/sys/dev/ichsmb/ichsmb_pci.c
Directory Properties:
  stable/9/sys/   (props changed)
  stable/9/sys/dev/   (props changed)

Modified: stable/9/sys/dev/ichsmb/ichsmb_pci.c
==============================================================================
--- stable/9/sys/dev/ichsmb/ichsmb_pci.c	Sat Nov 16 10:34:16 2013	(r258213)
+++ stable/9/sys/dev/ichsmb/ichsmb_pci.c	Sat Nov 16 10:40:43 2013	(r258214)
@@ -85,6 +85,7 @@ __FBSDID("$FreeBSD$");
 #define ID_PATSBURG			0x1d228086
 #define ID_CPT				0x1c228086
 #define ID_PPT				0x1e228086
+#define ID_LPT				0x8c228086
 
 #define PCIS_SERIALBUS_SMBUS_PROGIF	0x00
 
@@ -188,6 +189,9 @@ ichsmb_pci_probe(device_t dev)
 	case ID_PPT:
 		device_set_desc(dev, "Intel Panther Point SMBus controller");
 		break;
+	case ID_LPT:
+		device_set_desc(dev, "Intel Lynx Point SMBus controller");
+		break;
 	default:
 		return (ENXIO);
 	}

From owner-svn-src-all@FreeBSD.ORG  Sat Nov 16 10:41:51 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 1746F53A;
 Sat, 16 Nov 2013 10:41:51 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 0610029CB;
 Sat, 16 Nov 2013 10:41:51 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAGAfoeP058830;
 Sat, 16 Nov 2013 10:41:50 GMT (envelope-from mav@svn.freebsd.org)
Received: (from mav@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAGAfnTO058822;
 Sat, 16 Nov 2013 10:41:49 GMT (envelope-from mav@svn.freebsd.org)
Message-Id: <201311161041.rAGAfnTO058822@svn.freebsd.org>
From: Alexander Motin <mav@FreeBSD.org>
Date: Sat, 16 Nov 2013 10:41:49 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject: svn commit: r258215 - in stable/9/sys/dev: ahci ata ata/chipsets
 ichsmb ichwd
X-SVN-Group: stable-9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 16 Nov 2013 10:41:51 -0000

Author: mav
Date: Sat Nov 16 10:41:49 2013
New Revision: 258215
URL: http://svnweb.freebsd.org/changeset/base/258215

Log:
  MFC r253475 (by jfv):
  Add new Coleto Creek device support: SATA, SMBus, and Watchdog devices.

Modified:
  stable/9/sys/dev/ahci/ahci.c
  stable/9/sys/dev/ata/ata-pci.h
  stable/9/sys/dev/ata/chipsets/ata-intel.c
  stable/9/sys/dev/ichsmb/ichsmb_pci.c
  stable/9/sys/dev/ichwd/ichwd.c
  stable/9/sys/dev/ichwd/ichwd.h
Directory Properties:
  stable/9/sys/   (props changed)
  stable/9/sys/dev/   (props changed)

Modified: stable/9/sys/dev/ahci/ahci.c
==============================================================================
--- stable/9/sys/dev/ahci/ahci.c	Sat Nov 16 10:40:43 2013	(r258214)
+++ stable/9/sys/dev/ahci/ahci.c	Sat Nov 16 10:41:49 2013	(r258215)
@@ -202,6 +202,7 @@ static struct {
 	{0x1e078086, 0x00, "Intel Panther Point",	0},
 	{0x1e0e8086, 0x00, "Intel Panther Point",	0},
 	{0x1e0f8086, 0x00, "Intel Panther Point",	0},
+	{0x23a38086, 0x00, "Intel Coleto Creek",        0},
 	{0x8c028086, 0x00, "Intel Lynx Point",	0},
 	{0x8c038086, 0x00, "Intel Lynx Point",	0},
 	{0x8c048086, 0x00, "Intel Lynx Point",	0},

Modified: stable/9/sys/dev/ata/ata-pci.h
==============================================================================
--- stable/9/sys/dev/ata/ata-pci.h	Sat Nov 16 10:40:43 2013	(r258214)
+++ stable/9/sys/dev/ata/ata-pci.h	Sat Nov 16 10:41:49 2013	(r258215)
@@ -277,6 +277,10 @@ struct ata_pci_controller {
 #define ATA_ISCH                0x811a8086
 #define ATA_DH89XXCC            0x23238086
 
+#define ATA_COLETOCRK_AH1       0x23a38086
+#define ATA_COLETOCRK_S1        0x23a18086
+#define ATA_COLETOCRK_S2        0x23a68086
+
 #define ATA_ITE_ID              0x1283
 #define ATA_IT8211F             0x82111283
 #define ATA_IT8212F             0x82121283

Modified: stable/9/sys/dev/ata/chipsets/ata-intel.c
==============================================================================
--- stable/9/sys/dev/ata/chipsets/ata-intel.c	Sat Nov 16 10:40:43 2013	(r258214)
+++ stable/9/sys/dev/ata/chipsets/ata-intel.c	Sat Nov 16 10:41:49 2013	(r258215)
@@ -227,6 +227,9 @@ ata_intel_probe(device_t dev)
      { ATA_I31244,       0,          0, 2, ATA_SA150, "31244" },
      { ATA_ISCH,         0,          0, 1, ATA_UDMA5, "SCH" },
      { ATA_DH89XXCC,     0, INTEL_AHCI, 0, ATA_SA300, "DH89xxCC" },
+     { ATA_COLETOCRK_S1, 0, INTEL_6CH2, 0, ATA_SA300, "COLETOCRK" },
+     { ATA_COLETOCRK_S2, 0, INTEL_6CH2, 0, ATA_SA300, "COLETOCRK" },
+     { ATA_COLETOCRK_AH1,0, INTEL_AHCI, 0, ATA_SA300, "COLETOCRK" },
      { 0, 0, 0, 0, 0, 0}};
 
     if (pci_get_vendor(dev) != ATA_INTEL_ID)

Modified: stable/9/sys/dev/ichsmb/ichsmb_pci.c
==============================================================================
--- stable/9/sys/dev/ichsmb/ichsmb_pci.c	Sat Nov 16 10:40:43 2013	(r258214)
+++ stable/9/sys/dev/ichsmb/ichsmb_pci.c	Sat Nov 16 10:41:49 2013	(r258215)
@@ -85,6 +85,7 @@ __FBSDID("$FreeBSD$");
 #define ID_PATSBURG			0x1d228086
 #define ID_CPT				0x1c228086
 #define ID_PPT				0x1e228086
+#define ID_COLETOCRK			0x23B08086 
 #define ID_LPT				0x8c228086
 
 #define PCIS_SERIALBUS_SMBUS_PROGIF	0x00
@@ -192,6 +193,9 @@ ichsmb_pci_probe(device_t dev)
 	case ID_LPT:
 		device_set_desc(dev, "Intel Lynx Point SMBus controller");
 		break;
+	case ID_COLETOCRK:
+		device_set_desc(dev, "Intel Coleto Creek SMBus controller");
+		break;
 	default:
 		return (ENXIO);
 	}

Modified: stable/9/sys/dev/ichwd/ichwd.c
==============================================================================
--- stable/9/sys/dev/ichwd/ichwd.c	Sat Nov 16 10:40:43 2013	(r258214)
+++ stable/9/sys/dev/ichwd/ichwd.c	Sat Nov 16 10:41:49 2013	(r258215)
@@ -192,6 +192,7 @@ static struct ichwd_device ichwd_devices
 	{ DEVICEID_PPT30,    "Intel Panther Point watchdog timer",	10 },
 	{ DEVICEID_PPT31,    "Intel Panther Point watchdog timer",	10 },
 	{ DEVICEID_DH89XXCC_LPC,  "Intel DH89xxCC watchdog timer",	10 },
+	{ DEVICEID_COLETOCRK_LPC, "Intel Coleto Creek watchdog timer",  10 },
 	{ 0, NULL, 0 },
 };
 

Modified: stable/9/sys/dev/ichwd/ichwd.h
==============================================================================
--- stable/9/sys/dev/ichwd/ichwd.h	Sat Nov 16 10:40:43 2013	(r258214)
+++ stable/9/sys/dev/ichwd/ichwd.h	Sat Nov 16 10:41:49 2013	(r258215)
@@ -126,6 +126,7 @@ struct ichwd_softc {
 #define DEVICEID_PPT30		0x1e5e
 #define DEVICEID_PPT31		0x1e5f
 #define DEVICEID_DH89XXCC_LPC	0x2310
+#define DEVICEID_COLETOCRK_LPC	0x2390
 #define DEVICEID_82801AA	0x2410
 #define DEVICEID_82801AB	0x2420
 #define DEVICEID_82801BA	0x2440

From owner-svn-src-all@FreeBSD.ORG  Sat Nov 16 10:43:02 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id E58AB680;
 Sat, 16 Nov 2013 10:43:02 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id BB9A529DA;
 Sat, 16 Nov 2013 10:43:02 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAGAh2gO059020;
 Sat, 16 Nov 2013 10:43:02 GMT (envelope-from mav@svn.freebsd.org)
Received: (from mav@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAGAh2Z2059018;
 Sat, 16 Nov 2013 10:43:02 GMT (envelope-from mav@svn.freebsd.org)
Message-Id: <201311161043.rAGAh2Z2059018@svn.freebsd.org>
From: Alexander Motin <mav@FreeBSD.org>
Date: Sat, 16 Nov 2013 10:43:02 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject: svn commit: r258216 - stable/9/sys/dev/ahci
X-SVN-Group: stable-9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 16 Nov 2013 10:43:03 -0000

Author: mav
Date: Sat Nov 16 10:43:02 2013
New Revision: 258216
URL: http://svnweb.freebsd.org/changeset/base/258216

Log:
  MFC r253647:
  Decode some bits defined in AHCI 1.3.1 Device Sleep Technical Proposal.
  For now this is only conmetics to report HBA capabilities (Haswell?).

Modified:
  stable/9/sys/dev/ahci/ahci.c
  stable/9/sys/dev/ahci/ahci.h
Directory Properties:
  stable/9/sys/   (props changed)
  stable/9/sys/dev/   (props changed)

Modified: stable/9/sys/dev/ahci/ahci.c
==============================================================================
--- stable/9/sys/dev/ahci/ahci.c	Sat Nov 16 10:41:49 2013	(r258215)
+++ stable/9/sys/dev/ahci/ahci.c	Sat Nov 16 10:43:02 2013	(r258216)
@@ -545,7 +545,10 @@ ahci_attach(device_t dev)
 		    (ctlr->caps & AHCI_CAP_NPMASK) + 1);
 	}
 	if (bootverbose && version >= 0x00010200) {
-		device_printf(dev, "Caps2:%s%s%s\n",
+		device_printf(dev, "Caps2:%s%s%s%s%s%s\n",
+		    (ctlr->caps2 & AHCI_CAP2_DESO) ? " DESO":"",
+		    (ctlr->caps2 & AHCI_CAP2_SADM) ? " SADM":"",
+		    (ctlr->caps2 & AHCI_CAP2_SDS) ? " SDS":"",
 		    (ctlr->caps2 & AHCI_CAP2_APST) ? " APST":"",
 		    (ctlr->caps2 & AHCI_CAP2_NVMP) ? " NVMP":"",
 		    (ctlr->caps2 & AHCI_CAP2_BOH) ? " BOH":"");

Modified: stable/9/sys/dev/ahci/ahci.h
==============================================================================
--- stable/9/sys/dev/ahci/ahci.h	Sat Nov 16 10:41:49 2013	(r258215)
+++ stable/9/sys/dev/ahci/ahci.h	Sat Nov 16 10:43:02 2013	(r258216)
@@ -100,6 +100,7 @@
 #define         ATA_SS_IPM_ACTIVE       0x00000100
 #define         ATA_SS_IPM_PARTIAL      0x00000200
 #define         ATA_SS_IPM_SLUMBER      0x00000600
+#define         ATA_SS_IPM_DEVSLEEP     0x00000800
 
 #define ATA_SERROR                      14
 #define         ATA_SE_DATA_CORRECTED   0x00000001
@@ -205,6 +206,9 @@
 #define		AHCI_CAP2_BOH	0x00000001
 #define		AHCI_CAP2_NVMP	0x00000002
 #define		AHCI_CAP2_APST	0x00000004
+#define		AHCI_CAP2_SDS	0x00000008
+#define		AHCI_CAP2_SADM	0x00000010
+#define		AHCI_CAP2_DESO	0x00000020
 
 #define AHCI_OFFSET                 0x100
 #define AHCI_STEP                   0x80
@@ -262,6 +266,7 @@
 #define         AHCI_P_CMD_ACTIVE   0x10000000
 #define         AHCI_P_CMD_PARTIAL  0x20000000
 #define         AHCI_P_CMD_SLUMBER  0x60000000
+#define         AHCI_P_CMD_DEVSLEEP 0x80000000
 
 #define AHCI_P_TFD                  0x20
 #define AHCI_P_SIG                  0x24

From owner-svn-src-all@FreeBSD.ORG  Sat Nov 16 10:44:18 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 8C7A87C1;
 Sat, 16 Nov 2013 10:44:18 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 7BCC029E5;
 Sat, 16 Nov 2013 10:44:18 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAGAiIYJ059246;
 Sat, 16 Nov 2013 10:44:18 GMT (envelope-from mav@svn.freebsd.org)
Received: (from mav@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAGAiI7h059244;
 Sat, 16 Nov 2013 10:44:18 GMT (envelope-from mav@svn.freebsd.org)
Message-Id: <201311161044.rAGAiI7h059244@svn.freebsd.org>
From: Alexander Motin <mav@FreeBSD.org>
Date: Sat, 16 Nov 2013 10:44:18 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject: svn commit: r258217 - stable/9/sys/dev/ahci
X-SVN-Group: stable-9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 16 Nov 2013 10:44:18 -0000

Author: mav
Date: Sat Nov 16 10:44:17 2013
New Revision: 258217
URL: http://svnweb.freebsd.org/changeset/base/258217

Log:
  MFC r254987 (by gavin):
  Support the PCI-Express SSD in the new MacBook Air (model A1465)

Modified:
  stable/9/sys/dev/ahci/ahci.c
Directory Properties:
  stable/9/sys/   (props changed)
  stable/9/sys/dev/   (props changed)

Modified: stable/9/sys/dev/ahci/ahci.c
==============================================================================
--- stable/9/sys/dev/ahci/ahci.c	Sat Nov 16 10:43:02 2013	(r258216)
+++ stable/9/sys/dev/ahci/ahci.c	Sat Nov 16 10:44:17 2013	(r258217)
@@ -235,6 +235,7 @@ static struct {
 	{0x91301b4b, 0x00, "Marvell 88SE9130",  AHCI_Q_NOBSYRES|AHCI_Q_ALTSIG},
 	{0x91721b4b, 0x00, "Marvell 88SE9172",	AHCI_Q_NOBSYRES},
 	{0x91821b4b, 0x00, "Marvell 88SE9182",	AHCI_Q_NOBSYRES},
+	{0x91831b4b, 0x00, "Marvell 88SS9183",	AHCI_Q_NOBSYRES},
 	{0x91a01b4b, 0x00, "Marvell 88SE91Ax",	AHCI_Q_NOBSYRES},
 	{0x92151b4b, 0x00, "Marvell 88SE9215",  AHCI_Q_NOBSYRES},
 	{0x92201b4b, 0x00, "Marvell 88SE9220",  AHCI_Q_NOBSYRES|AHCI_Q_ALTSIG},

From owner-svn-src-all@FreeBSD.ORG  Sat Nov 16 10:48:00 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id C448593E;
 Sat, 16 Nov 2013 10:48:00 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id B23322A00;
 Sat, 16 Nov 2013 10:48:00 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAGAm0UC059774;
 Sat, 16 Nov 2013 10:48:00 GMT (envelope-from mav@svn.freebsd.org)
Received: (from mav@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAGAlwIj059755;
 Sat, 16 Nov 2013 10:47:58 GMT (envelope-from mav@svn.freebsd.org)
Message-Id: <201311161047.rAGAlwIj059755@svn.freebsd.org>
From: Alexander Motin <mav@FreeBSD.org>
Date: Sat, 16 Nov 2013 10:47:58 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject: svn commit: r258218 - in stable/9/sys: dev/ata dev/uart
 dev/usb/serial fs/fdescfs mips/mips netgraph/bluetooth/hci ufs/ffs x86/x86
X-SVN-Group: stable-9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 16 Nov 2013 10:48:00 -0000

Author: mav
Date: Sat Nov 16 10:47:58 2013
New Revision: 258218
URL: http://svnweb.freebsd.org/changeset/base/258218

Log:
  MFC r250576 (by eadler):
  Fix several typos
  
  PR:		kern/176054

Modified:
  stable/9/sys/dev/ata/ata-lowlevel.c
  stable/9/sys/dev/uart/uart_core.c
  stable/9/sys/dev/usb/serial/usb_serial.c
  stable/9/sys/dev/usb/serial/usb_serial.h
  stable/9/sys/fs/fdescfs/fdesc_vnops.c
  stable/9/sys/mips/mips/stack_machdep.c
  stable/9/sys/netgraph/bluetooth/hci/ng_hci_ulpi.c
  stable/9/sys/ufs/ffs/ffs_balloc.c
  stable/9/sys/x86/x86/local_apic.c
Directory Properties:
  stable/9/sys/   (props changed)
  stable/9/sys/dev/   (props changed)
  stable/9/sys/fs/   (props changed)

Modified: stable/9/sys/dev/ata/ata-lowlevel.c
==============================================================================
--- stable/9/sys/dev/ata/ata-lowlevel.c	Sat Nov 16 10:44:17 2013	(r258217)
+++ stable/9/sys/dev/ata/ata-lowlevel.c	Sat Nov 16 10:47:58 2013	(r258218)
@@ -505,7 +505,7 @@ ata_generic_reset(device_t dev)
 		      mask, ostat0, ostat1);
 
     /* if nothing showed up there is no need to get any further */
-    /* XXX SOS is that too strong?, we just might loose devices here */
+    /* XXX SOS is that too strong?, we just might lose devices here */
     ch->devices = 0;
     if (!mask)
 	return;

Modified: stable/9/sys/dev/uart/uart_core.c
==============================================================================
--- stable/9/sys/dev/uart/uart_core.c	Sat Nov 16 10:44:17 2013	(r258217)
+++ stable/9/sys/dev/uart/uart_core.c	Sat Nov 16 10:47:58 2013	(r258218)
@@ -131,7 +131,7 @@ uart_intr_break(void *arg)
  * much of the data we can, but otherwise flush the receiver FIFO to
  * create some breathing room. The net effect is that we avoid the
  * overrun condition to happen for the next X characters, where X is
- * related to the FIFO size at the cost of loosing data right away.
+ * related to the FIFO size at the cost of losing data right away.
  * So, instead of having multiple overrun interrupts in close proximity
  * to each other and possibly pessimizing UART interrupt latency for
  * other UARTs in a multiport configuration, we create a longer segment
@@ -186,7 +186,7 @@ uart_intr_rxready(void *arg)
  * Line or modem status change (OOB signalling).
  * We pass the signals to the software interrupt handler for further
  * processing. Note that we merge the delta bits, but set the state
- * bits. This is to avoid loosing state transitions due to having more
+ * bits. This is to avoid losing state transitions due to having more
  * than 1 hardware interrupt between software interrupts.
  */
 static __inline int

Modified: stable/9/sys/dev/usb/serial/usb_serial.c
==============================================================================
--- stable/9/sys/dev/usb/serial/usb_serial.c	Sat Nov 16 10:44:17 2013	(r258217)
+++ stable/9/sys/dev/usb/serial/usb_serial.c	Sat Nov 16 10:47:58 2013	(r258218)
@@ -965,7 +965,7 @@ ucom_cfg_line_state(struct usb_proc_msg 
 	sc->sc_pls_set = 0;
 	sc->sc_pls_clr = 0;
 
-	/* ensure that we don't loose any levels */
+	/* ensure that we don't lose any levels */
 	if (notch_bits & UCOM_LS_DTR)
 		sc->sc_callback->ucom_cfg_set_dtr(sc,
 		    (prev_value & UCOM_LS_DTR) ? 1 : 0);

Modified: stable/9/sys/dev/usb/serial/usb_serial.h
==============================================================================
--- stable/9/sys/dev/usb/serial/usb_serial.h	Sat Nov 16 10:44:17 2013	(r258217)
+++ stable/9/sys/dev/usb/serial/usb_serial.h	Sat Nov 16 10:47:58 2013	(r258218)
@@ -146,7 +146,7 @@ struct ucom_super_softc {
 
 struct ucom_softc {
 	/*
-	 * NOTE: To avoid loosing level change information we use two
+	 * NOTE: To avoid losing level change information we use two
 	 * tasks instead of one for all commands.
 	 *
 	 * Level changes are transitions like:

Modified: stable/9/sys/fs/fdescfs/fdesc_vnops.c
==============================================================================
--- stable/9/sys/fs/fdescfs/fdesc_vnops.c	Sat Nov 16 10:44:17 2013	(r258217)
+++ stable/9/sys/fs/fdescfs/fdesc_vnops.c	Sat Nov 16 10:47:58 2013	(r258218)
@@ -333,7 +333,7 @@ fdesc_lookup(ap)
 		 * and the root vnode lock will be obtained afterwards (in case
 		 * we're looking up the fd of the root vnode), which will be the
 		 * opposite lock order. Vhold the root vnode first so we don't
-		 * loose it.
+		 * lose it.
 		 */
 		vhold(dvp);
 		VOP_UNLOCK(dvp, 0);

Modified: stable/9/sys/mips/mips/stack_machdep.c
==============================================================================
--- stable/9/sys/mips/mips/stack_machdep.c	Sat Nov 16 10:44:17 2013	(r258217)
+++ stable/9/sys/mips/mips/stack_machdep.c	Sat Nov 16 10:47:58 2013	(r258218)
@@ -148,7 +148,7 @@ stack_save(struct stack *st)
 	u_register_t pc, sp;
 
 	if (curthread == NULL)
-		panic("stack_save: curthread == NULL)");
+		panic("stack_save: curthread == NULL");
 
 	pc = curthread->td_pcb->pcb_regs.pc;
 	sp = curthread->td_pcb->pcb_regs.sp;

Modified: stable/9/sys/netgraph/bluetooth/hci/ng_hci_ulpi.c
==============================================================================
--- stable/9/sys/netgraph/bluetooth/hci/ng_hci_ulpi.c	Sat Nov 16 10:44:17 2013	(r258217)
+++ stable/9/sys/netgraph/bluetooth/hci/ng_hci_ulpi.c	Sat Nov 16 10:47:58 2013	(r258218)
@@ -391,7 +391,7 @@ ng_hci_lp_sco_con_req(ng_hci_unit_p unit
 
 		default:
 			panic(
-"%s: %s - Inavalid connection state=%d\n",
+"%s: %s - Invalid connection state=%d\n",
 				__func__, NG_NODE_NAME(unit->node),
 				sco_con->state);
 			break;

Modified: stable/9/sys/ufs/ffs/ffs_balloc.c
==============================================================================
--- stable/9/sys/ufs/ffs/ffs_balloc.c	Sat Nov 16 10:44:17 2013	(r258217)
+++ stable/9/sys/ufs/ffs/ffs_balloc.c	Sat Nov 16 10:47:58 2013	(r258218)
@@ -1033,7 +1033,7 @@ fail:
 	 * We have to sync it at the end so that the soft updates code
 	 * does not find any untracked changes. Although this is really
 	 * slow, running out of disk space is not expected to be a common
-	 * occurence. The error return from fsync is ignored as we already
+	 * occurrence. The error return from fsync is ignored as we already
 	 * have an error to return to the user.
 	 *
 	 * XXX Still have to journal the free below

Modified: stable/9/sys/x86/x86/local_apic.c
==============================================================================
--- stable/9/sys/x86/x86/local_apic.c	Sat Nov 16 10:44:17 2013	(r258217)
+++ stable/9/sys/x86/x86/local_apic.c	Sat Nov 16 10:47:58 2013	(r258218)
@@ -795,7 +795,7 @@ lapic_handle_timer(struct trapframe *fra
 	 * Don't do any accounting for the disabled HTT cores, since it
 	 * will provide misleading numbers for the userland.
 	 *
-	 * No locking is necessary here, since even if we loose the race
+	 * No locking is necessary here, since even if we lose the race
 	 * when hlt_cpus_mask changes it is not a big deal, really.
 	 *
 	 * Don't do that for ULE, since ULE doesn't consider hlt_cpus_mask

From owner-svn-src-all@FreeBSD.ORG  Sat Nov 16 10:49:02 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id E9E91A89;
 Sat, 16 Nov 2013 10:49:02 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id D95912A0D;
 Sat, 16 Nov 2013 10:49:02 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAGAn2fv059949;
 Sat, 16 Nov 2013 10:49:02 GMT (envelope-from mav@svn.freebsd.org)
Received: (from mav@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAGAn2ct059948;
 Sat, 16 Nov 2013 10:49:02 GMT (envelope-from mav@svn.freebsd.org)
Message-Id: <201311161049.rAGAn2ct059948@svn.freebsd.org>
From: Alexander Motin <mav@FreeBSD.org>
Date: Sat, 16 Nov 2013 10:49:02 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject: svn commit: r258219 - stable/9/sys/dev/ata/chipsets
X-SVN-Group: stable-9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 16 Nov 2013 10:49:03 -0000

Author: mav
Date: Sat Nov 16 10:49:02 2013
New Revision: 258219
URL: http://svnweb.freebsd.org/changeset/base/258219

Log:
  MFC r253644:
  Add missing NULL check after malloc(M_NOWAIT).

Modified:
  stable/9/sys/dev/ata/chipsets/ata-promise.c
Directory Properties:
  stable/9/sys/   (props changed)
  stable/9/sys/dev/   (props changed)

Modified: stable/9/sys/dev/ata/chipsets/ata-promise.c
==============================================================================
--- stable/9/sys/dev/ata/chipsets/ata-promise.c	Sat Nov 16 10:47:58 2013	(r258218)
+++ stable/9/sys/dev/ata/chipsets/ata-promise.c	Sat Nov 16 10:49:02 2013	(r258219)
@@ -288,6 +288,10 @@ ata_promise_chipinit(device_t dev)
 	    /* setup host packet controls */
 	    hpkt = malloc(sizeof(struct ata_promise_sx4),
 			  M_ATAPCI, M_NOWAIT | M_ZERO);
+	    if (hpkt == NULL) {
+		device_printf(dev, "Cannot allocate HPKT\n");
+		goto failnfree;
+	    }
 	    mtx_init(&hpkt->mtx, "ATA promise HPKT lock", NULL, MTX_DEF);
 	    TAILQ_INIT(&hpkt->queue);
 	    hpkt->busy = 0;

From owner-svn-src-all@FreeBSD.ORG  Sat Nov 16 14:31:50 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 30E7961B;
 Sat, 16 Nov 2013 14:31:50 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 20A1923DA;
 Sat, 16 Nov 2013 14:31:50 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAGEVnDP037508;
 Sat, 16 Nov 2013 14:31:49 GMT (envelope-from mav@svn.freebsd.org)
Received: (from mav@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAGEVneO037506;
 Sat, 16 Nov 2013 14:31:49 GMT (envelope-from mav@svn.freebsd.org)
Message-Id: <201311161431.rAGEVneO037506@svn.freebsd.org>
From: Alexander Motin <mav@FreeBSD.org>
Date: Sat, 16 Nov 2013 14:31:49 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258220 - head/sys/geom/multipath
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 16 Nov 2013 14:31:50 -0000

Author: mav
Date: Sat Nov 16 14:31:49 2013
New Revision: 258220
URL: http://svnweb.freebsd.org/changeset/base/258220

Log:
  Implement automatic live resize support for GEOM MULTIPATH class.
  
  In "manual" mode just automatically resize provider in any direction.
  In "automatic" mode allow only growth (with new metadata write); in case
  of shrinking destroy the multipath device same as before since it may be
  undesirable to write new metadata within old user area.
  
  MFC after:	1 month

Modified:
  head/sys/geom/multipath/g_multipath.c
  head/sys/geom/multipath/g_multipath.h

Modified: head/sys/geom/multipath/g_multipath.c
==============================================================================
--- head/sys/geom/multipath/g_multipath.c	Sat Nov 16 10:49:02 2013	(r258219)
+++ head/sys/geom/multipath/g_multipath.c	Sat Nov 16 14:31:49 2013	(r258220)
@@ -1,5 +1,5 @@
 /*-
- * Copyright (c) 2011 Alexander Motin <mav@FreeBSD.org>
+ * Copyright (c) 2011-2013 Alexander Motin <mav@FreeBSD.org>
  * Copyright (c) 2006-2007 Matthew Jacob <mjacob@FreeBSD.org>
  * All rights reserved.
  *
@@ -36,6 +36,7 @@ __FBSDID("$FreeBSD$");
 #include <sys/systm.h>
 #include <sys/kernel.h>
 #include <sys/module.h>
+#include <sys/limits.h>
 #include <sys/lock.h>
 #include <sys/mutex.h>
 #include <sys/bio.h>
@@ -67,6 +68,7 @@ static struct bio_queue_head gmtbq;
 static struct mtx gmtbq_mtx;
 
 static void g_multipath_orphan(struct g_consumer *);
+static void g_multipath_resize(struct g_consumer *);
 static void g_multipath_start(struct bio *);
 static void g_multipath_done(struct bio *);
 static void g_multipath_done_error(struct bio *);
@@ -237,6 +239,84 @@ g_multipath_orphan(struct g_consumer *cp
 }
 
 static void
+g_multipath_resize(struct g_consumer *cp)
+{
+	struct g_multipath_softc *sc;
+	struct g_geom *gp;
+	struct g_provider *pp;
+	struct g_multipath_metadata md;
+	off_t size, psize, ssize;
+	int error;
+	void *buf;
+
+	g_topology_assert();
+
+	gp = cp->geom;
+	pp = cp->provider;
+	sc = gp->softc;
+
+	if (sc->sc_stopping)
+		return;
+
+	if (pp->mediasize < sc->sc_size) {
+		size = pp->mediasize;
+		ssize = pp->sectorsize;
+	} else {
+		size = ssize = OFF_MAX;
+		mtx_lock(&sc->sc_mtx);
+		LIST_FOREACH(cp, &gp->consumer, consumer) {
+			pp = cp->provider;
+			if (pp == NULL)
+				continue;
+			if (pp->mediasize < size) {
+				size = pp->mediasize;
+				ssize = pp->sectorsize;
+			}
+		}
+		mtx_unlock(&sc->sc_mtx);
+		if (size == OFF_MAX || size == sc->sc_size)
+			return;
+	}
+	psize = size - ((sc->sc_uuid[0] != 0) ? ssize : 0);
+	printf("GEOM_MULTIPATH: %s size changed from %jd to %jd\n",
+	    sc->sc_name, sc->sc_pp->mediasize, psize);
+	if (sc->sc_uuid[0] != 0 && psize < sc->sc_pp->mediasize) {
+		g_multipath_destroy(gp);
+		return;
+	}
+	sc->sc_size = size;
+	g_resize_provider(sc->sc_pp, psize);
+
+	if (sc->sc_uuid[0] != 0 && sc->sc_active != NULL) {
+		cp = sc->sc_active;
+		pp = cp->provider;
+		error = g_access(cp, 1, 1, 1);
+		if (error != 0) {
+			printf("GEOM_MULTIPATH: Can't open %s (%d)\n",
+			    pp->name, error);
+			return;
+		}
+		g_topology_unlock();
+		buf = g_malloc(pp->sectorsize, M_WAITOK | M_ZERO);
+		strlcpy(md.md_magic, G_MULTIPATH_MAGIC, sizeof(md.md_magic));
+		memcpy(md.md_uuid, sc->sc_uuid, sizeof (sc->sc_uuid));
+		strlcpy(md.md_name, sc->sc_name, sizeof(md.md_name));
+		md.md_version = G_MULTIPATH_VERSION;
+		md.md_size = size;
+		md.md_sectorsize = pp->sectorsize;
+		md.md_active_active = sc->sc_active_active;
+		multipath_metadata_encode(&md, buf);
+		error = g_write_data(cp, pp->mediasize - pp->sectorsize,
+		    buf, pp->sectorsize);
+		g_topology_lock();
+		g_access(cp, -1, -1, -1);
+		if (error != 0)
+			printf("GEOM_MULTIPATH: Can't update metadata on %s "
+			    "(%d)\n", pp->name, error);
+	}
+}
+
+static void
 g_multipath_start(struct bio *bp)
 {
 	struct g_multipath_softc *sc;
@@ -435,9 +515,11 @@ g_multipath_create(struct g_class *mp, s
 	memcpy(sc->sc_uuid, md->md_uuid, sizeof (sc->sc_uuid));
 	memcpy(sc->sc_name, md->md_name, sizeof (sc->sc_name));
 	sc->sc_active_active = md->md_active_active;
+	sc->sc_size = md->md_size;
 	gp->softc = sc;
 	gp->start = g_multipath_start;
 	gp->orphan = g_multipath_orphan;
+	gp->resize = g_multipath_resize;
 	gp->access = g_multipath_access;
 	gp->dumpconf = g_multipath_dumpconf;
 
@@ -514,18 +596,17 @@ g_multipath_add_disk(struct g_geom *gp, 
 		g_destroy_consumer(cp);
 		return (error);
 	}
-	if (sc->sc_pp != NULL && sc->sc_pp->mediasize == 0) {
-		sc->sc_pp->mediasize = pp->mediasize -
+	if (sc->sc_size == 0) {
+		sc->sc_size = pp->mediasize -
 		    ((sc->sc_uuid[0] != 0) ? pp->sectorsize : 0);
+		sc->sc_pp->mediasize = sc->sc_size;
 		sc->sc_pp->sectorsize = pp->sectorsize;
 	}
-	if (sc->sc_pp != NULL &&
-	    sc->sc_pp->stripesize == 0 && sc->sc_pp->stripeoffset == 0) {
+	if (sc->sc_pp->stripesize == 0 && sc->sc_pp->stripeoffset == 0) {
 		sc->sc_pp->stripesize = pp->stripesize;
 		sc->sc_pp->stripeoffset = pp->stripeoffset;
 	}
-	if (sc->sc_pp != NULL)
-		sc->sc_pp->flags |= pp->flags & G_PF_ACCEPT_UNMAPPED;
+	sc->sc_pp->flags |= pp->flags & G_PF_ACCEPT_UNMAPPED;
 	mtx_lock(&sc->sc_mtx);
 	cp->index = 0;
 	sc->sc_ndisks++;
@@ -556,10 +637,8 @@ g_multipath_destroy(struct g_geom *gp)
 		sc->sc_stopping = 1;
 	}
 	if (sc->sc_opened != 0) {
-		if (sc->sc_pp != NULL) {
-			g_wither_provider(sc->sc_pp, ENXIO);
-			sc->sc_pp = NULL;
-		}
+		g_wither_provider(sc->sc_pp, ENXIO);
+		sc->sc_pp = NULL;
 		return (EINPROGRESS);
 	}
 	LIST_FOREACH_SAFE(cp, &gp->consumer, consumer, cp1) {
@@ -837,7 +916,7 @@ g_multipath_ctl_add_name(struct gctl_req
 			return;
 		}
 	}
-	if (sc->sc_pp != NULL && sc->sc_pp->mediasize != 0 &&
+	if (sc->sc_pp->mediasize != 0 &&
 	    sc->sc_pp->mediasize + (sc->sc_uuid[0] != 0 ? pp->sectorsize : 0)
 	     != pp->mediasize) {
 		gctl_error(req, "Providers size mismatch %jd != %jd",
@@ -846,7 +925,7 @@ g_multipath_ctl_add_name(struct gctl_req
 		    (intmax_t) pp->mediasize);
 		return;
 	}
-	if (sc->sc_pp != NULL && sc->sc_pp->sectorsize != 0 &&
+	if (sc->sc_pp->sectorsize != 0 &&
 	    sc->sc_pp->sectorsize != pp->sectorsize) {
 		gctl_error(req, "Providers sectorsize mismatch %u != %u",
 		    sc->sc_pp->sectorsize, pp->sectorsize);

Modified: head/sys/geom/multipath/g_multipath.h
==============================================================================
--- head/sys/geom/multipath/g_multipath.h	Sat Nov 16 10:49:02 2013	(r258219)
+++ head/sys/geom/multipath/g_multipath.h	Sat Nov 16 14:31:49 2013	(r258220)
@@ -48,6 +48,7 @@ struct g_multipath_softc {
 	struct mtx		sc_mtx;
 	char			sc_name[16];
 	char			sc_uuid[40];
+	off_t			sc_size;
 	int			sc_opened;
 	int			sc_stopping;
 	int			sc_ndisks;

From owner-svn-src-all@FreeBSD.ORG  Sat Nov 16 15:04:50 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 805D7F04;
 Sat, 16 Nov 2013 15:04:50 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 6FEC0253E;
 Sat, 16 Nov 2013 15:04:50 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAGF4oVU047925;
 Sat, 16 Nov 2013 15:04:50 GMT (envelope-from tuexen@svn.freebsd.org)
Received: (from tuexen@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAGF4o6A047923;
 Sat, 16 Nov 2013 15:04:50 GMT (envelope-from tuexen@svn.freebsd.org)
Message-Id: <201311161504.rAGF4o6A047923@svn.freebsd.org>
From: Michael Tuexen <tuexen@FreeBSD.org>
Date: Sat, 16 Nov 2013 15:04:50 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258221 - head/sys/netinet
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 16 Nov 2013 15:04:50 -0000

Author: tuexen
Date: Sat Nov 16 15:04:49 2013
New Revision: 258221
URL: http://svnweb.freebsd.org/changeset/base/258221

Log:
  Cleanups which result in fixes which have been made upstream
  and where partially suggested by Andrew Galante.
  There is no functional change in FreeBSD.
  
  MFC after: 3 days

Modified:
  head/sys/netinet/sctp_bsd_addr.c
  head/sys/netinet/sctp_pcb.c

Modified: head/sys/netinet/sctp_bsd_addr.c
==============================================================================
--- head/sys/netinet/sctp_bsd_addr.c	Sat Nov 16 14:31:49 2013	(r258220)
+++ head/sys/netinet/sctp_bsd_addr.c	Sat Nov 16 15:04:49 2013	(r258221)
@@ -96,22 +96,12 @@ sctp_iterator_thread(void *v SCTP_UNUSED
 void
 sctp_startup_iterator(void)
 {
-	static int called = 0;
-	int ret;
-
-	if (called) {
+	if (sctp_it_ctl.thread_proc) {
 		/* You only get one */
 		return;
 	}
-	/* init the iterator head */
-	called = 1;
-	sctp_it_ctl.iterator_running = 0;
-	sctp_it_ctl.iterator_flags = 0;
-	sctp_it_ctl.cur_it = NULL;
-	SCTP_ITERATOR_LOCK_INIT();
-	SCTP_IPI_ITERATOR_WQ_INIT();
 	TAILQ_INIT(&sctp_it_ctl.iteratorhead);
-	ret = kproc_create(sctp_iterator_thread,
+	kproc_create(sctp_iterator_thread,
 	    (void *)NULL,
 	    &sctp_it_ctl.thread_proc,
 	    RFPROC,

Modified: head/sys/netinet/sctp_pcb.c
==============================================================================
--- head/sys/netinet/sctp_pcb.c	Sat Nov 16 14:31:49 2013	(r258220)
+++ head/sys/netinet/sctp_pcb.c	Sat Nov 16 15:04:49 2013	(r258221)
@@ -5861,7 +5861,8 @@ sctp_pcb_init()
 	for (i = 0; i < SCTP_STACK_VTAG_HASH_SIZE; i++) {
 		LIST_INIT(&SCTP_BASE_INFO(vtag_timewait)[i]);
 	}
-
+	SCTP_ITERATOR_LOCK_INIT();
+	SCTP_IPI_ITERATOR_WQ_INIT();
 	sctp_startup_iterator();
 
 #if defined(__FreeBSD__) && defined(SCTP_MCORE_INPUT) && defined(SMP)
@@ -5890,35 +5891,31 @@ sctp_pcb_finish(void)
 	struct sctp_tagblock *twait_block, *prev_twait_block;
 	struct sctp_laddr *wi, *nwi;
 	int i;
+	struct sctp_iterator *it, *nit;
 
 	/*
-	 * Free BSD the it thread never exits but we do clean up. The only
-	 * way freebsd reaches here if we have VRF's but we still add the
-	 * ifdef to make it compile on old versions.
+	 * In FreeBSD the iterator thread never exits but we do clean up.
+	 * The only way FreeBSD reaches here is if we have VRF's but we
+	 * still add the ifdef to make it compile on old versions.
 	 */
-	{
-		struct sctp_iterator *it, *nit;
-
-		SCTP_IPI_ITERATOR_WQ_LOCK();
-		TAILQ_FOREACH_SAFE(it, &sctp_it_ctl.iteratorhead, sctp_nxt_itr, nit) {
-			if (it->vn != curvnet) {
-				continue;
-			}
-			TAILQ_REMOVE(&sctp_it_ctl.iteratorhead, it, sctp_nxt_itr);
-			if (it->function_atend != NULL) {
-				(*it->function_atend) (it->pointer, it->val);
-			}
-			SCTP_FREE(it, SCTP_M_ITER);
-		}
-		SCTP_IPI_ITERATOR_WQ_UNLOCK();
-		SCTP_ITERATOR_LOCK();
-		if ((sctp_it_ctl.cur_it) &&
-		    (sctp_it_ctl.cur_it->vn == curvnet)) {
-			sctp_it_ctl.iterator_flags |= SCTP_ITERATOR_STOP_CUR_IT;
+	SCTP_IPI_ITERATOR_WQ_LOCK();
+	TAILQ_FOREACH_SAFE(it, &sctp_it_ctl.iteratorhead, sctp_nxt_itr, nit) {
+		if (it->vn != curvnet) {
+			continue;
+		}
+		TAILQ_REMOVE(&sctp_it_ctl.iteratorhead, it, sctp_nxt_itr);
+		if (it->function_atend != NULL) {
+			(*it->function_atend) (it->pointer, it->val);
 		}
-		SCTP_ITERATOR_UNLOCK();
+		SCTP_FREE(it, SCTP_M_ITER);
 	}
-
+	SCTP_IPI_ITERATOR_WQ_UNLOCK();
+	SCTP_ITERATOR_LOCK();
+	if ((sctp_it_ctl.cur_it) &&
+	    (sctp_it_ctl.cur_it->vn == curvnet)) {
+		sctp_it_ctl.iterator_flags |= SCTP_ITERATOR_STOP_CUR_IT;
+	}
+	SCTP_ITERATOR_UNLOCK();
 	SCTP_OS_TIMER_STOP(&SCTP_BASE_INFO(addr_wq_timer.timer));
 	SCTP_WQ_ADDR_LOCK();
 	LIST_FOREACH_SAFE(wi, &SCTP_BASE_INFO(addr_wq), sctp_nxt_addr, nwi) {

From owner-svn-src-all@FreeBSD.ORG  Sat Nov 16 15:26:56 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id B33A9547;
 Sat, 16 Nov 2013 15:26:56 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 882992615;
 Sat, 16 Nov 2013 15:26:56 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAGFQuHi055317;
 Sat, 16 Nov 2013 15:26:56 GMT (envelope-from mav@svn.freebsd.org)
Received: (from mav@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAGFQu5Z055316;
 Sat, 16 Nov 2013 15:26:56 GMT (envelope-from mav@svn.freebsd.org)
Message-Id: <201311161526.rAGFQu5Z055316@svn.freebsd.org>
From: Alexander Motin <mav@FreeBSD.org>
Date: Sat, 16 Nov 2013 15:26:56 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject: svn commit: r258222 - stable/9/sys/cam/ctl
X-SVN-Group: stable-9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 16 Nov 2013 15:26:56 -0000

Author: mav
Date: Sat Nov 16 15:26:56 2013
New Revision: 258222
URL: http://svnweb.freebsd.org/changeset/base/258222

Log:
  MFC r249065 (by trasz):
  Fix locking problem in ctl_maintenance_in() - one cannot use M_WAITOK or call
  ctl_done() with mutex held.

Modified:
  stable/9/sys/cam/ctl/ctl.c
Directory Properties:
  stable/9/sys/   (props changed)

Modified: stable/9/sys/cam/ctl/ctl.c
==============================================================================
--- stable/9/sys/cam/ctl/ctl.c	Sat Nov 16 15:04:49 2013	(r258221)
+++ stable/9/sys/cam/ctl/ctl.c	Sat Nov 16 15:26:56 2013	(r258222)
@@ -6924,7 +6924,7 @@ ctl_maintenance_in(struct ctl_scsiio *ct
 	struct scsi_maintenance_in *cdb;
 	int retval;
 	int alloc_len, total_len = 0;
-	int num_target_port_groups;
+	int num_target_port_groups, single;
 	struct ctl_lun *lun;
 	struct ctl_softc *softc;
 	struct scsi_target_group_data *rtg_ptr;
@@ -6939,7 +6939,6 @@ ctl_maintenance_in(struct ctl_scsiio *ct
 	lun = (struct ctl_lun *)ctsio->io_hdr.ctl_private[CTL_PRIV_LUN].ptr;
 
 	retval = CTL_RETVAL_COMPLETE;
-	mtx_lock(&softc->ctl_lock);
 
 	if ((cdb->byte2 & SERVICE_ACTION_MASK) != SA_RPRT_TRGT_GRP) {
 		ctl_set_invalid_field(/*ctsio*/ ctsio,
@@ -6952,7 +6951,11 @@ ctl_maintenance_in(struct ctl_scsiio *ct
 		return(retval);
 	}
 
-	if (ctl_is_single)
+	mtx_lock(&softc->ctl_lock);
+	single = ctl_is_single;
+	mtx_unlock(&softc->ctl_lock);
+
+	if (single)
         	num_target_port_groups = NUM_TARGET_PORT_GROUPS - 1;
 	else
         	num_target_port_groups = NUM_TARGET_PORT_GROUPS;
@@ -6988,9 +6991,7 @@ ctl_maintenance_in(struct ctl_scsiio *ct
 	tp_desc_ptr1_2 = (struct scsi_target_port_descriptor *)
 	        &tp_desc_ptr1_1->desc_list[0];
 
-
-
-	if (ctl_is_single == 0) {
+	if (single == 0) {
 		tpg_desc_ptr2 = (struct scsi_target_port_group_descriptor *)
 	                &tp_desc_ptr1_2->desc_list[0];
 		tp_desc_ptr2_1 = &tpg_desc_ptr2->descriptors[0];
@@ -7003,7 +7004,7 @@ ctl_maintenance_in(struct ctl_scsiio *ct
 	}
 
 	scsi_ulto4b(total_len - 4, rtg_ptr->length);
-	if (ctl_is_single == 0) {
+	if (single == 0) {
         	if (ctsio->io_hdr.nexus.targ_port < CTL_MAX_PORTS) {
 			if (lun->flags & CTL_LUN_PRIMARY_SC) {
 				tpg_desc_ptr1->pref_state = TPG_PRIMARY;
@@ -7033,7 +7034,7 @@ ctl_maintenance_in(struct ctl_scsiio *ct
 	tpg_desc_ptr1->status = TPG_IMPLICIT;
 	tpg_desc_ptr1->target_port_count= NUM_PORTS_PER_GRP;
 
-	if (ctl_is_single == 0) {
+	if (single == 0) {
 		tpg_desc_ptr2->support = 0;
 		tpg_desc_ptr2->target_port_group[1] = 2;
 		tpg_desc_ptr2->status = TPG_IMPLICIT;
@@ -7054,8 +7055,6 @@ ctl_maintenance_in(struct ctl_scsiio *ct
 		}
 	}
 
-	mtx_unlock(&softc->ctl_lock);
-
 	ctsio->be_move_done = ctl_config_move_done;
 
 	CTL_DEBUG_PRINT(("buf = %x %x %x %x %x %x %x %x\n",

From owner-svn-src-all@FreeBSD.ORG  Sat Nov 16 15:34:11 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id E54AE7F1;
 Sat, 16 Nov 2013 15:34:11 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id C55D4267A;
 Sat, 16 Nov 2013 15:34:11 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAGFYBhB058383;
 Sat, 16 Nov 2013 15:34:11 GMT (envelope-from mav@svn.freebsd.org)
Received: (from mav@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAGFYBFu058382;
 Sat, 16 Nov 2013 15:34:11 GMT (envelope-from mav@svn.freebsd.org)
Message-Id: <201311161534.rAGFYBFu058382@svn.freebsd.org>
From: Alexander Motin <mav@FreeBSD.org>
Date: Sat, 16 Nov 2013 15:34:11 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject: svn commit: r258223 - stable/9/sys/cam/ctl
X-SVN-Group: stable-9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 16 Nov 2013 15:34:12 -0000

Author: mav
Date: Sat Nov 16 15:34:11 2013
New Revision: 258223
URL: http://svnweb.freebsd.org/changeset/base/258223

Log:
  MFC r254378 (by trasz):
  Turn comments about locking into actual lock assertions.

Modified:
  stable/9/sys/cam/ctl/ctl.c
Directory Properties:
  stable/9/sys/   (props changed)

Modified: stable/9/sys/cam/ctl/ctl.c
==============================================================================
--- stable/9/sys/cam/ctl/ctl.c	Sat Nov 16 15:26:56 2013	(r258222)
+++ stable/9/sys/cam/ctl/ctl.c	Sat Nov 16 15:34:11 2013	(r258223)
@@ -1078,9 +1078,11 @@ ctl_init(void)
 	softc->emergency_pool = emergency_pool;
 	softc->othersc_pool = other_pool;
 
+	mtx_lock(&softc->ctl_lock);
 	ctl_pool_acquire(internal_pool);
 	ctl_pool_acquire(emergency_pool);
 	ctl_pool_acquire(other_pool);
+	mtx_unlock(&softc->ctl_lock);
 
 	/*
 	 * We used to allocate a processor LUN here.  The new scheme is to
@@ -1096,10 +1098,12 @@ ctl_init(void)
 			 "ctl_thrd");
 	if (error != 0) {
 		printf("error creating CTL work thread!\n");
+		mtx_lock(&softc->ctl_lock);
 		ctl_free_lun(lun);
 		ctl_pool_free(softc, internal_pool);
 		ctl_pool_free(softc, emergency_pool);
 		ctl_pool_free(softc, other_pool);
+		mtx_unlock(&softc->ctl_lock);
 		return (error);
 	}
 	printf("ctl: CAM Target Layer loaded\n");
@@ -1380,7 +1384,6 @@ ctl_ioctl_offline(void *arg)
 /*
  * Remove an initiator by port number and initiator ID.
  * Returns 0 for success, 1 for failure.
- * Assumes the caller does NOT hold the CTL lock.
  */
 int
 ctl_remove_initiator(int32_t targ_port, uint32_t iid)
@@ -1389,6 +1392,8 @@ ctl_remove_initiator(int32_t targ_port, 
 
 	softc = control_softc;
 
+	mtx_assert(&softc->ctl_lock, MA_NOTOWNED);
+
 	if ((targ_port < 0)
 	 || (targ_port > CTL_MAX_PORTS)) {
 		printf("%s: invalid port number %d\n", __func__, targ_port);
@@ -1412,7 +1417,6 @@ ctl_remove_initiator(int32_t targ_port, 
 /*
  * Add an initiator to the initiator map.
  * Returns 0 for success, 1 for failure.
- * Assumes the caller does NOT hold the CTL lock.
  */
 int
 ctl_add_initiator(uint64_t wwpn, int32_t targ_port, uint32_t iid)
@@ -1422,6 +1426,8 @@ ctl_add_initiator(uint64_t wwpn, int32_t
 
 	softc = control_softc;
 
+	mtx_assert(&softc->ctl_lock, MA_NOTOWNED);
+
 	retval = 0;
 
 	if ((targ_port < 0)
@@ -1978,7 +1984,6 @@ ctl_ioctl_bbrread_callback(void *arg, st
 }
 
 /*
- * Must be called with the ctl_lock held.
  * Returns 0 for success, errno for failure.
  */
 static int
@@ -1990,6 +1995,8 @@ ctl_ioctl_fill_ooa(struct ctl_lun *lun, 
 
 	retval = 0;
 
+	mtx_assert(&control_softc->ctl_lock, MA_OWNED);
+
 	for (io = (union ctl_io *)TAILQ_FIRST(&lun->ooa_queue); (io != NULL);
 	     (*cur_fill_num)++, io = (union ctl_io *)TAILQ_NEXT(&io->io_hdr,
 	     ooa_links)) {
@@ -3403,12 +3410,12 @@ bailout:
 	return (retval);
 }
 
-/*
- * Caller must hold ctl_softc->ctl_lock.
- */
 int
 ctl_pool_acquire(struct ctl_io_pool *pool)
 {
+
+	mtx_assert(&control_softc->ctl_lock, MA_OWNED);
+
 	if (pool == NULL)
 		return (-EINVAL);
 
@@ -3420,12 +3427,12 @@ ctl_pool_acquire(struct ctl_io_pool *poo
 	return (0);
 }
 
-/*
- * Caller must hold ctl_softc->ctl_lock.
- */
 int
 ctl_pool_invalidate(struct ctl_io_pool *pool)
 {
+
+	mtx_assert(&control_softc->ctl_lock, MA_OWNED);
+
 	if (pool == NULL)
 		return (-EINVAL);
 
@@ -3434,12 +3441,12 @@ ctl_pool_invalidate(struct ctl_io_pool *
 	return (0);
 }
 
-/*
- * Caller must hold ctl_softc->ctl_lock.
- */
 int
 ctl_pool_release(struct ctl_io_pool *pool)
 {
+
+	mtx_assert(&control_softc->ctl_lock, MA_OWNED);
+
 	if (pool == NULL)
 		return (-EINVAL);
 
@@ -3451,14 +3458,13 @@ ctl_pool_release(struct ctl_io_pool *poo
 	return (0);
 }
 
-/*
- * Must be called with ctl_softc->ctl_lock held.
- */
 void
 ctl_pool_free(struct ctl_softc *ctl_softc, struct ctl_io_pool *pool)
 {
 	union ctl_io *cur_io, *next_io;
 
+	mtx_assert(&ctl_softc->ctl_lock, MA_OWNED);
+
 	for (cur_io = (union ctl_io *)STAILQ_FIRST(&pool->free_queue);
 	     cur_io != NULL; cur_io = next_io) {
 		next_io = (union ctl_io *)STAILQ_NEXT(&cur_io->io_hdr,
@@ -4400,7 +4406,6 @@ ctl_alloc_lun(struct ctl_softc *ctl_soft
 /*
  * Delete a LUN.
  * Assumptions:
- * - caller holds ctl_softc->ctl_lock.
  * - LUN has already been marked invalid and any pending I/O has been taken
  *   care of.
  */
@@ -4417,6 +4422,8 @@ ctl_free_lun(struct ctl_lun *lun)
 
 	softc = lun->ctl_softc;
 
+	mtx_assert(&softc->ctl_lock, MA_OWNED);
+
 	STAILQ_REMOVE(&softc->lun_list, lun, ctl_lun, links);
 
 	ctl_clear_mask(softc->ctl_lun_mask, lun->lun);
@@ -9780,7 +9787,6 @@ ctl_check_for_blockage(union ctl_io *pen
 /*
  * Check for blockage or overlaps against the OOA (Order Of Arrival) queue.
  * Assumptions:
- * - caller holds ctl_lock
  * - pending_io is generally either incoming, or on the blocked queue
  * - starting I/O is the I/O we want to start the check with.
  */
@@ -9791,6 +9797,8 @@ ctl_check_ooa(struct ctl_lun *lun, union
 	union ctl_io *ooa_io;
 	ctl_action action;
 
+	mtx_assert(&control_softc->ctl_lock, MA_OWNED);
+
 	/*
 	 * Run back along the OOA queue, starting with the current
 	 * blocked I/O and going through every I/O before it on the
@@ -9831,13 +9839,14 @@ ctl_check_ooa(struct ctl_lun *lun, union
  * Assumptions:
  * - An I/O has just completed, and has been removed from the per-LUN OOA
  *   queue, so some items on the blocked queue may now be unblocked.
- * - The caller holds ctl_softc->ctl_lock
  */
 static int
 ctl_check_blocked(struct ctl_lun *lun)
 {
 	union ctl_io *cur_blocked, *next_blocked;
 
+	mtx_assert(&control_softc->ctl_lock, MA_OWNED);
+
 	/*
 	 * Run forward from the head of the blocked queue, checking each
 	 * entry against the I/Os prior to it on the OOA queue to see if
@@ -10901,8 +10910,6 @@ bailout:
 }
 
 /*
- * Assumptions:  caller holds ctl_softc->ctl_lock
- *
  * This routine cannot block!  It must be callable from an interrupt
  * handler as well as from the work thread.
  */
@@ -10911,6 +10918,8 @@ ctl_run_task_queue(struct ctl_softc *ctl
 {
 	union ctl_io *io, *next_io;
 
+	mtx_assert(&ctl_softc->ctl_lock, MA_OWNED);
+
 	CTL_DEBUG_PRINT(("ctl_run_task_queue\n"));
 
 	for (io = (union ctl_io *)STAILQ_FIRST(&ctl_softc->task_queue);
@@ -11212,14 +11221,13 @@ ctl_cmd_pattern_match(struct ctl_scsiio 
 	return (filtered_pattern);
 }
 
-/*
- * Called with the CTL lock held.
- */
 static void
 ctl_inject_error(struct ctl_lun *lun, union ctl_io *io)
 {
 	struct ctl_error_desc *desc, *desc2;
 
+	mtx_assert(&control_softc->ctl_lock, MA_OWNED);
+
 	STAILQ_FOREACH_SAFE(desc, &lun->error_list, links, desc2) {
 		ctl_lun_error_pattern pattern;
 		/*
@@ -11289,14 +11297,13 @@ ctl_datamove_timer_wakeup(void *arg)
 }
 #endif /* CTL_IO_DELAY */
 
-/*
- * Assumption:  caller does NOT hold ctl_lock
- */
 void
 ctl_datamove(union ctl_io *io)
 {
 	void (*fe_datamove)(union ctl_io *io);
 
+	mtx_assert(&control_softc->ctl_lock, MA_NOTOWNED);
+
 	CTL_DEBUG_PRINT(("ctl_datamove\n"));
 
 #ifdef CTL_TIME_IO
@@ -12142,8 +12149,6 @@ ctl_datamove_remote_read(union ctl_io *i
  * first.  Once that is complete, the data gets DMAed into the remote
  * controller's memory.  For reads, we DMA from the remote controller's
  * memory into our memory first, and then move it out to the FETD.
- *
- * Should be called without the ctl_lock held.
  */
 static void
 ctl_datamove_remote(union ctl_io *io)
@@ -12152,6 +12157,8 @@ ctl_datamove_remote(union ctl_io *io)
 
 	softc = control_softc;
 
+	mtx_assert(&softc->ctl_lock, MA_NOTOWNED);
+
 	/*
 	 * Note that we look for an aborted I/O here, but don't do some of
 	 * the other checks that ctl_datamove() normally does.  We don't

From owner-svn-src-all@FreeBSD.ORG  Sat Nov 16 15:34:15 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 5D6767F3;
 Sat, 16 Nov 2013 15:34:15 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 4D26C267B;
 Sat, 16 Nov 2013 15:34:15 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAGFYFbt058421;
 Sat, 16 Nov 2013 15:34:15 GMT (envelope-from tuexen@svn.freebsd.org)
Received: (from tuexen@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAGFYFqQ058420;
 Sat, 16 Nov 2013 15:34:15 GMT (envelope-from tuexen@svn.freebsd.org)
Message-Id: <201311161534.rAGFYFqQ058420@svn.freebsd.org>
From: Michael Tuexen <tuexen@FreeBSD.org>
Date: Sat, 16 Nov 2013 15:34:15 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258224 - head/sys/netinet
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 16 Nov 2013 15:34:15 -0000

Author: tuexen
Date: Sat Nov 16 15:34:14 2013
New Revision: 258224
URL: http://svnweb.freebsd.org/changeset/base/258224

Log:
  When determining if an address belongs to an stcb, take the address family
  into account for wildcard bound endpoints.
  
  MFC after: 3 days

Modified:
  head/sys/netinet/sctp_pcb.c

Modified: head/sys/netinet/sctp_pcb.c
==============================================================================
--- head/sys/netinet/sctp_pcb.c	Sat Nov 16 15:34:11 2013	(r258223)
+++ head/sys/netinet/sctp_pcb.c	Sat Nov 16 15:34:14 2013	(r258224)
@@ -875,6 +875,9 @@ sctp_does_stcb_own_this_addr(struct sctp
 					 */
 					continue;
 				}
+				if (sctp_ifa->address.sa.sa_family != to->sa_family) {
+					continue;
+				}
 				switch (sctp_ifa->address.sa.sa_family) {
 #ifdef INET
 				case AF_INET:

From owner-svn-src-all@FreeBSD.ORG  Sat Nov 16 15:41:55 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 4D471E06;
 Sat, 16 Nov 2013 15:41:55 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 3BFAE26D2;
 Sat, 16 Nov 2013 15:41:55 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAGFftbk061569;
 Sat, 16 Nov 2013 15:41:55 GMT (envelope-from mav@svn.freebsd.org)
Received: (from mav@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAGFfthQ061568;
 Sat, 16 Nov 2013 15:41:55 GMT (envelope-from mav@svn.freebsd.org)
Message-Id: <201311161541.rAGFfthQ061568@svn.freebsd.org>
From: Alexander Motin <mav@FreeBSD.org>
Date: Sat, 16 Nov 2013 15:41:55 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject: svn commit: r258225 - stable/9/sys/kern
X-SVN-Group: stable-9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 16 Nov 2013 15:41:55 -0000

Author: mav
Date: Sat Nov 16 15:41:54 2013
New Revision: 258225
URL: http://svnweb.freebsd.org/changeset/base/258225

Log:
  MFC r254787:
  Remove locking from taskqueue_member().  The list of threads is static
  during the taskqueue life cycle, so there is no need to protect it,
  taking quite congested lock several more times for each ZFS I/O.

Modified:
  stable/9/sys/kern/subr_taskqueue.c
Directory Properties:
  stable/9/sys/   (props changed)

Modified: stable/9/sys/kern/subr_taskqueue.c
==============================================================================
--- stable/9/sys/kern/subr_taskqueue.c	Sat Nov 16 15:34:14 2013	(r258224)
+++ stable/9/sys/kern/subr_taskqueue.c	Sat Nov 16 15:41:54 2013	(r258225)
@@ -577,7 +577,6 @@ taskqueue_member(struct taskqueue *queue
 {
 	int i, j, ret = 0;
 
-	TQ_LOCK(queue);
 	for (i = 0, j = 0; ; i++) {
 		if (queue->tq_threads[i] == NULL)
 			continue;
@@ -588,6 +587,5 @@ taskqueue_member(struct taskqueue *queue
 		if (++j >= queue->tq_tcount)
 			break;
 	}
-	TQ_UNLOCK(queue);
 	return (ret);
 }

From owner-svn-src-all@FreeBSD.ORG  Sat Nov 16 15:48:49 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id C23EA9F;
 Sat, 16 Nov 2013 15:48:49 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 983752709;
 Sat, 16 Nov 2013 15:48:49 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAGFmnEO062408;
 Sat, 16 Nov 2013 15:48:49 GMT (envelope-from bapt@svn.freebsd.org)
Received: (from bapt@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAGFmn2r062407;
 Sat, 16 Nov 2013 15:48:49 GMT (envelope-from bapt@svn.freebsd.org)
Message-Id: <201311161548.rAGFmn2r062407@svn.freebsd.org>
From: Baptiste Daroussin <bapt@FreeBSD.org>
Date: Sat, 16 Nov 2013 15:48:49 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258226 - head/usr.sbin/pkg
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 16 Nov 2013 15:48:49 -0000

Author: bapt
Date: Sat Nov 16 15:48:49 2013
New Revision: 258226
URL: http://svnweb.freebsd.org/changeset/base/258226

Log:
  argc is now used
  
  MFC after:	2 days

Modified:
  head/usr.sbin/pkg/pkg.c

Modified: head/usr.sbin/pkg/pkg.c
==============================================================================
--- head/usr.sbin/pkg/pkg.c	Sat Nov 16 15:41:54 2013	(r258225)
+++ head/usr.sbin/pkg/pkg.c	Sat Nov 16 15:48:49 2013	(r258226)
@@ -907,7 +907,7 @@ cleanup:
 }
 
 int
-main(__unused int argc, char *argv[])
+main(int argc, char *argv[])
 {
 	char pkgpath[MAXPATHLEN];
 	const char *pkgarg;

From owner-svn-src-all@FreeBSD.ORG  Sat Nov 16 15:54:47 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 1588D246;
 Sat, 16 Nov 2013 15:54:47 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 050442756;
 Sat, 16 Nov 2013 15:54:47 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAGFskUN065139;
 Sat, 16 Nov 2013 15:54:46 GMT (envelope-from bapt@svn.freebsd.org)
Received: (from bapt@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAGFskP0065138;
 Sat, 16 Nov 2013 15:54:46 GMT (envelope-from bapt@svn.freebsd.org)
Message-Id: <201311161554.rAGFskP0065138@svn.freebsd.org>
From: Baptiste Daroussin <bapt@FreeBSD.org>
Date: Sat, 16 Nov 2013 15:54:46 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258227 - head/etc/pkg
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 16 Nov 2013 15:54:47 -0000

Author: bapt
Date: Sat Nov 16 15:54:46 2013
New Revision: 258227
URL: http://svnweb.freebsd.org/changeset/base/258227

Log:
  Enabled should be a boolean, not a string
  
  MFC after:	2 days

Modified:
  head/etc/pkg/FreeBSD.conf

Modified: head/etc/pkg/FreeBSD.conf
==============================================================================
--- head/etc/pkg/FreeBSD.conf	Sat Nov 16 15:48:49 2013	(r258226)
+++ head/etc/pkg/FreeBSD.conf	Sat Nov 16 15:54:46 2013	(r258227)
@@ -4,5 +4,5 @@ FreeBSD: {
   mirror_type: "srv",
   signature_type: "fingerprints",
   fingerprints: "/usr/share/keys/pkg",
-  enabled: "yes"
+  enabled: yes
 }

From owner-svn-src-all@FreeBSD.ORG  Sat Nov 16 16:09:10 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 880727C4;
 Sat, 16 Nov 2013 16:09:10 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 77DBB27E6;
 Sat, 16 Nov 2013 16:09:10 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAGG9ATm069430;
 Sat, 16 Nov 2013 16:09:10 GMT (envelope-from tuexen@svn.freebsd.org)
Received: (from tuexen@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAGG9Axi069429;
 Sat, 16 Nov 2013 16:09:10 GMT (envelope-from tuexen@svn.freebsd.org)
Message-Id: <201311161609.rAGG9Axi069429@svn.freebsd.org>
From: Michael Tuexen <tuexen@FreeBSD.org>
Date: Sat, 16 Nov 2013 16:09:10 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258228 - head/sys/netinet
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 16 Nov 2013 16:09:10 -0000

Author: tuexen
Date: Sat Nov 16 16:09:09 2013
New Revision: 258228
URL: http://svnweb.freebsd.org/changeset/base/258228

Log:
  Remove a stray write operation.
  
  MFC after: 3 days

Modified:
  head/sys/netinet/sctp_indata.c

Modified: head/sys/netinet/sctp_indata.c
==============================================================================
--- head/sys/netinet/sctp_indata.c	Sat Nov 16 15:54:46 2013	(r258227)
+++ head/sys/netinet/sctp_indata.c	Sat Nov 16 16:09:09 2013	(r258228)
@@ -1787,7 +1787,6 @@ failed_express_del:
 				asoc->highest_tsn_inside_nr_map = tsn;
 			}
 			SCTP_STAT_INCR(sctps_recvexpressm);
-			control->sinfo_tsn = tsn;
 			asoc->tsn_last_delivered = tsn;
 			asoc->fragment_flags = chunk_flags;
 			asoc->tsn_of_pdapi_last_delivered = tsn;

From owner-svn-src-all@FreeBSD.ORG  Sat Nov 16 18:40:47 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 30E11B40;
 Sat, 16 Nov 2013 18:40:47 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 1E2732EAB;
 Sat, 16 Nov 2013 18:40:47 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAGIek92022003;
 Sat, 16 Nov 2013 18:40:46 GMT (envelope-from gjb@svn.freebsd.org)
Received: (from gjb@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAGIejxA021994;
 Sat, 16 Nov 2013 18:40:45 GMT (envelope-from gjb@svn.freebsd.org)
Message-Id: <201311161840.rAGIejxA021994@svn.freebsd.org>
From: Glen Barber <gjb@FreeBSD.org>
Date: Sat, 16 Nov 2013 18:40:45 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject: svn commit: r258230 - in stable/10: . include lib lib/libc/iconv
 lib/libiconv_compat share/man/man5 share/mk tools/build/mk
 tools/build/options
X-SVN-Group: stable-10
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 16 Nov 2013 18:40:47 -0000

Author: gjb
Date: Sat Nov 16 18:40:44 2013
New Revision: 258230
URL: http://svnweb.freebsd.org/changeset/base/258230

Log:
  MFC r257583, r258012, r258013:
  
   r257583 (peter):
   Remove the WITH_LIBICONV_COMPAT hack that seems to do more harm
   than good.  This caused libc to spoof the ports libiconv namespace
   and provide a colliding libiconv.so.3 to fool rtld.  This should
   have been removed some time ago.
  
   r258012:
   Remove WITH_LIBICONV_COMPAT file to chase after r257583.
  
   r258013:
   Regenerate src.conf.5 after removal of WITH_LIBICONV_COMPAT.
  
  Approved by:	re (kib)
  Sponsored by:	The FreeBSD Foundation
  
  Sponsored by:	The FreeBSD Foundation

Deleted:
  stable/10/lib/libiconv_compat/
  stable/10/tools/build/options/WITH_LIBICONV_COMPAT
Modified:
  stable/10/ObsoleteFiles.inc   (contents, props changed)
  stable/10/include/Makefile
  stable/10/include/iconv.h
  stable/10/lib/Makefile
  stable/10/lib/libc/iconv/Symbol.map
  stable/10/lib/libc/iconv/iconv.c
  stable/10/share/man/man5/src.conf.5
  stable/10/share/mk/bsd.own.mk
  stable/10/tools/build/mk/OptionalObsoleteFiles.inc
Directory Properties:
  stable/10/include/   (props changed)
  stable/10/lib/   (props changed)
  stable/10/lib/libc/   (props changed)
  stable/10/share/man/man5/   (props changed)
  stable/10/share/mk/   (props changed)
  stable/10/tools/build/   (props changed)
  stable/10/tools/build/options/   (props changed)

Modified: stable/10/ObsoleteFiles.inc
==============================================================================
--- stable/10/ObsoleteFiles.inc	Sat Nov 16 17:17:23 2013	(r258229)
+++ stable/10/ObsoleteFiles.inc	Sat Nov 16 18:40:44 2013	(r258230)
@@ -38,6 +38,12 @@
 #   xargs -n1 | sort | uniq -d;
 # done
 
+# 20131103: WITH_LIBICONV_COMPAT removal
+OLD_FILES+=usr/include/_libiconv_compat.h
+OLD_FILES+=usr/lib/libiconv.a
+OLD_FILES+=usr/lib/libiconv.so
+OLD_FILES+=usr/lib/libiconv.so.3
+OLD_FILES+=usr/lib/libiconv_p.a
 # 20131030: /etc/keys moved to /usr/share/keys
 OLD_DIRS+=etc/keys
 OLD_DIRS+=etc/keys/pkg

Modified: stable/10/include/Makefile
==============================================================================
--- stable/10/include/Makefile	Sat Nov 16 17:17:23 2013	(r258229)
+++ stable/10/include/Makefile	Sat Nov 16 18:40:44 2013	(r258230)
@@ -83,15 +83,7 @@ _netipx=	netipx
 
 # Handle the #define aliases for libiconv
 .if ${MK_ICONV} == "yes"
-CLEANFILES+=	_libiconv_compat.h
-INCS+=		_libiconv_compat.h iconv.h
-_libiconv_compat.h:	${.CURDIR}/Makefile
-	echo "/* Indicate whether libiconv symbols are present */" > _libiconv_compat.h
-.if ${MK_LIBICONV_COMPAT} == "yes"
-	echo "#define __LIBICONV_COMPAT" >> _libiconv_compat.h
-.else
-	echo "#undef __LIBICONV_COMPAT" >> _libiconv_compat.h
-.endif
+INCS+=		iconv.h
 .endif
 	
 

Modified: stable/10/include/iconv.h
==============================================================================
--- stable/10/include/iconv.h	Sat Nov 16 17:17:23 2013	(r258229)
+++ stable/10/include/iconv.h	Sat Nov 16 18:40:44 2013	(r258230)
@@ -40,13 +40,6 @@
 #include <sys/cdefs.h>
 #include <sys/types.h>
 
-#include <_libiconv_compat.h>
-#ifdef __LIBICONV_COMPAT
-#define libiconv_open		iconv_open
-#define libiconv_close		iconv_close
-#define libiconv		iconv
-#define libiconv_t		iconv_t
-#endif
 #ifdef __cplusplus
 typedef	bool	__iconv_bool;
 #elif __STDC_VERSION__ >= 199901L
@@ -76,22 +69,10 @@ size_t	__iconv(iconv_t, const char **, s
 /*
  * GNU interfaces for iconv
  */
-#ifdef __LIBICONV_COMPAT
-#define libiconv_open_into		iconv_open_into
-#define libiconvctl			iconvctl
-#define libiconvlist			iconvlist
-#define libiconv_set_relocation_prefix	iconv_set_relocation_prefix
-#endif
-
 /* We have iconvctl() */
 #define _ICONV_VERSION	0x0108
 extern int _iconv_version;
 
-#ifdef __LIBICONV_COMPAT
-#define _libiconv_version		_iconv_version
-#define _LIBICONV_VERSION		_ICONV_VERSION
-#endif
-
 typedef struct {
 	void	*spaceholder[64];
 } iconv_allocation_t;

Modified: stable/10/lib/Makefile
==============================================================================
--- stable/10/lib/Makefile	Sat Nov 16 17:17:23 2013	(r258229)
+++ stable/10/lib/Makefile	Sat Nov 16 18:40:44 2013	(r258230)
@@ -81,7 +81,6 @@ SUBDIR=	${SUBDIR_ORDERED} \
 	${_libgpib} \
 	${_libgssapi} \
 	${_librpcsec_gss} \
-	${_libiconv_compat} \
 	libipsec \
 	${_libipx} \
 	libjail \
@@ -188,10 +187,6 @@ _libcxxrt=	libcxxrt
 _libcplusplus=	libc++
 .endif
 
-.if ${MK_LIBICONV_COMPAT} != "no"
-_libiconv_compat=	libiconv_compat
-.endif
-
 .if ${MK_LIBTHR} != "no"
 _libthr=	libthr
 .endif

Modified: stable/10/lib/libc/iconv/Symbol.map
==============================================================================
--- stable/10/lib/libc/iconv/Symbol.map	Sat Nov 16 17:17:23 2013	(r258229)
+++ stable/10/lib/libc/iconv/Symbol.map	Sat Nov 16 18:40:44 2013	(r258230)
@@ -6,15 +6,7 @@ FBSD_1.2 {
 	__iconv;
 	__iconv_free_list;
 	__iconv_get_list;
-	_libiconv_version;
 	iconv_canonicalize;
-	libiconv;
-	libiconv_close;
-	libiconv_open;
-	libiconv_open_into;
-	libiconv_set_relocation_prefix;
-	libiconvctl;
-	libiconvlist;
 };
 
 FBSD_1.3 {

Modified: stable/10/lib/libc/iconv/iconv.c
==============================================================================
--- stable/10/lib/libc/iconv/iconv.c	Sat Nov 16 17:17:23 2013	(r258229)
+++ stable/10/lib/libc/iconv/iconv.c	Sat Nov 16 18:40:44 2013	(r258230)
@@ -47,18 +47,6 @@
 #include "citrus_hash.h"
 #include "citrus_iconv.h"
 
-#include <_libiconv_compat.h>
-#ifdef __LIBICONV_COMPAT
-__weak_reference(iconv, libiconv);
-__weak_reference(iconv_open, libiconv_open);
-__weak_reference(iconv_open_into, libiconv_open_into);
-__weak_reference(iconv_close, libiconv_close);
-__weak_reference(iconvlist, libiconvlist);
-__weak_reference(iconvctl, libiconvctl);
-__weak_reference(iconv_set_relocation_prefix, libiconv_set_relocation_prefix);
-__weak_reference(_iconv_version, _libiconv_version);
-#endif
-
 #define ISBADF(_h_)	(!(_h_) || (_h_) == (iconv_t)-1)
 
 int _iconv_version = _ICONV_VERSION;

Modified: stable/10/share/man/man5/src.conf.5
==============================================================================
--- stable/10/share/man/man5/src.conf.5	Sat Nov 16 17:17:23 2013	(r258229)
+++ stable/10/share/man/man5/src.conf.5	Sat Nov 16 18:40:44 2013	(r258230)
@@ -1,7 +1,7 @@
 .\" DO NOT EDIT-- this file is automatically generated.
 .\" from FreeBSD: stable/10/tools/build/options/makeman 255964 2013-10-01 07:22:04Z des
 .\" $FreeBSD$
-.Dd November 6, 2013
+.Dd November 11, 2013
 .Dt SRC.CONF 5
 .Os
 .Sh NAME
@@ -471,12 +471,6 @@ Set to not build HTML docs.
 .It Va WITHOUT_ICONV
 .\" from FreeBSD: stable/10/tools/build/options/WITHOUT_ICONV 254919 2013-08-26 17:15:56Z antoine
 Set to not build iconv as part of libc.
-When set, it also enforces the following options:
-.Pp
-.Bl -item -compact
-.It
-.Va WITHOUT_LIBICONV_COMPAT
-.El
 .It Va WITHOUT_INET
 .\" from FreeBSD: stable/10/tools/build/options/WITHOUT_INET 221266 2011-04-30 17:58:28Z bz
 Set to not build programs and libraries related to IPv4 networking.
@@ -633,9 +627,6 @@ runtime linker.
 .It Va WITHOUT_LIBCPLUSPLUS
 .\" from FreeBSD: stable/10/tools/build/options/WITHOUT_LIBCPLUSPLUS 246262 2013-02-02 22:42:46Z dim
 Set to avoid building libcxxrt and libc++.
-.It Va WITH_LIBICONV_COMPAT
-.\" from FreeBSD: stable/10/tools/build/options/WITH_LIBICONV_COMPAT 254919 2013-08-26 17:15:56Z antoine
-Set to build libiconv API and link time compatibility.
 .It Va WITHOUT_LIBPTHREAD
 .\" from FreeBSD: stable/10/tools/build/options/WITHOUT_LIBPTHREAD 188848 2009-02-20 11:09:55Z mtm
 Set to not build the

Modified: stable/10/share/mk/bsd.own.mk
==============================================================================
--- stable/10/share/mk/bsd.own.mk	Sat Nov 16 17:17:23 2013	(r258229)
+++ stable/10/share/mk/bsd.own.mk	Sat Nov 16 18:40:44 2013	(r258230)
@@ -368,7 +368,6 @@ __DEFAULT_NO_OPTIONS = \
     DEBUG_FILES \
     GPL_DTC \
     HESIOD \
-    LIBICONV_COMPAT \
     INSTALL_AS_USER \
     LLDB \
     NAND \
@@ -491,10 +490,6 @@ MK_${var}:=	no
 MK_LIBTHR:=	no
 .endif
 
-.if ${MK_ICONV} == "no"
-MK_LIBICONV_COMPAT:=	no
-.endif
-
 .if ${MK_LDNS} == "no"
 MK_LDNS_UTILS:=	no
 MK_UNBOUND:= no

Modified: stable/10/tools/build/mk/OptionalObsoleteFiles.inc
==============================================================================
--- stable/10/tools/build/mk/OptionalObsoleteFiles.inc	Sat Nov 16 17:17:23 2013	(r258229)
+++ stable/10/tools/build/mk/OptionalObsoleteFiles.inc	Sat Nov 16 18:40:44 2013	(r258230)
@@ -3190,13 +3190,6 @@ OLD_FILES+=usr/share/man/man1/host.1.gz
 # to be filled in
 #.endif
 
-.if ${MK_LIBICONV_COMPAT} == no
-OLD_FILES+=usr/lib/libiconv.a
-OLD_FILES+=usr/lib/libiconv.so
-OLD_FILES+=usr/lib/libiconv.so.3
-OLD_FILES+=usr/lib/libiconv_p.a
-.endif
-
 .if ${MK_LIBCPLUSPLUS} == no
 OLD_LIBS+=lib/libcxxrt.so.1
 OLD_FILES+=usr/lib/libc++.a

From owner-svn-src-all@FreeBSD.ORG  Sat Nov 16 19:22:14 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id A8B2D482;
 Sat, 16 Nov 2013 19:22:14 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 954ED20EE;
 Sat, 16 Nov 2013 19:22:14 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAGJMEd6035923;
 Sat, 16 Nov 2013 19:22:14 GMT (envelope-from gjb@svn.freebsd.org)
Received: (from gjb@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAGJMEdg035919;
 Sat, 16 Nov 2013 19:22:14 GMT (envelope-from gjb@svn.freebsd.org)
Message-Id: <201311161922.rAGJMEdg035919@svn.freebsd.org>
From: Glen Barber <gjb@FreeBSD.org>
Date: Sat, 16 Nov 2013 19:22:14 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject: svn commit: r258231 - in stable/10/contrib/nvi: . common
 docs/USD.doc/vi.man ex vi
X-SVN-Group: stable-10
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 16 Nov 2013 19:22:14 -0000

Author: gjb
Date: Sat Nov 16 19:22:13 2013
New Revision: 258231
URL: http://svnweb.freebsd.org/changeset/base/258231

Log:
  MFC r257999 (peter):
   Merge nvi-2.1.1 -> 2.1.2
  
  Approved by:	re (???)
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  stable/10/contrib/nvi/README
  stable/10/contrib/nvi/common/main.c
  stable/10/contrib/nvi/docs/USD.doc/vi.man/vi.1
  stable/10/contrib/nvi/ex/ex_print.c
  stable/10/contrib/nvi/ex/version.h
  stable/10/contrib/nvi/vi/v_txt.c
  stable/10/contrib/nvi/vi/vs_refresh.c
Directory Properties:
  stable/10/contrib/nvi/   (props changed)

Modified: stable/10/contrib/nvi/README
==============================================================================
--- stable/10/contrib/nvi/README	Sat Nov 16 18:40:44 2013	(r258230)
+++ stable/10/contrib/nvi/README	Sat Nov 16 19:22:13 2013	(r258231)
@@ -1,6 +1,6 @@
-#	$Id: README,v 9.0 2012/10/07 09:13:54 zy Exp $
+#	$Id: README,v 9.1 2013/11/02 02:50:23 zy Exp $
 
-This is version 2.1.1 (2012-10-07) of nex/nvi, a reimplementation of the ex/vi
+This is version 2.1.2 (2012-11-02) of nex/nvi, a reimplementation of the ex/vi
 text editors originally distributed as part of the Fourth Berkeley
 Software Distribution (4BSD), by the University of California, Berkeley.
 

Modified: stable/10/contrib/nvi/common/main.c
==============================================================================
--- stable/10/contrib/nvi/common/main.c	Sat Nov 16 18:40:44 2013	(r258230)
+++ stable/10/contrib/nvi/common/main.c	Sat Nov 16 19:22:13 2013	(r258231)
@@ -11,9 +11,9 @@
 
 #ifndef lint
 static const char copyright[] =
-"%Z% Copyright (c) 1992, 1993, 1994\n\
+"@(#) Copyright (c) 1992, 1993, 1994\n\
 	The Regents of the University of California.  All rights reserved.\n\
-%Z% Copyright (c) 1992, 1993, 1994, 1995, 1996\n\
+@(#) Copyright (c) 1992, 1993, 1994, 1995, 1996\n\
 	Keith Bostic.  All rights reserved.\n";
 #endif /* not lint */
 

Modified: stable/10/contrib/nvi/docs/USD.doc/vi.man/vi.1
==============================================================================
--- stable/10/contrib/nvi/docs/USD.doc/vi.man/vi.1	Sat Nov 16 18:40:44 2013	(r258230)
+++ stable/10/contrib/nvi/docs/USD.doc/vi.man/vi.1	Sat Nov 16 19:22:13 2013	(r258231)
@@ -5,1619 +5,2742 @@
 .\" Copyright (c) 2011
 .\"	Zhihao Yuan.  All rights reserved.
 .\"
-.\" This document may not be republished without written permission from
-.\" Keith Bostic. 
+.\" The vi program is freely redistributable.
+.\" You are welcome to copy, modify and share it with others
+.\" under the conditions listed in the LICENSE file.
+.\" If any company (not individual!) finds vi sufficiently useful
+.\" that you would have purchased it, or if any company wishes to
+.\" redistribute it, contributions to the authors would be appreciated.
 .\"
-.\" See the LICENSE file for redistribution information.
+.\"     $Id: vi.1,v 9.0 2013/11/02 12:11:56 zy Exp $
+.\"     $FreeBSD$
 .\"
-.\"     @(#)vi.1       8.51 (Berkeley) 10/10/96
-.\"	$FreeBSD$
-.\"     $Id: vi.1,v 8.59 2012/02/12 12:56:37 zy Exp $
-.\"
-.TH VI 1 "11 February, 2012"
-.UC
-.SH NAME
-ex, vi, view \- text editors
-.SH SYNOPSIS
-.B ex
-[\c
-.B -eFRrSsv\c
-] [\c
-.BI -c " cmd"\c
-] [\c
-.BI -t " tag"\c
-] [\c
-.BI -w " size"\c
-] [file ...]
-.br
-.B vi
-[\c
-.B -eFlRrSv\c
-] [\c
-.BI -c " cmd"\c
-] [\c
-.BI -t " tag"\c
-] [\c
-.BI -w " size"\c
-] [file ...]
-.br
-.B view
-[\c
-.B -eFRrSv\c
-] [\c
-.BI -c " cmd"\c
-] [\c
-.BI -t " tag"\c
-] [\c
-.BI -w " size"\c
-] [file ...]
-.SH LICENSE
-The vi program is freely redistributable.  You are welcome to copy,
-modify and share it with others under the conditions listed in the
-LICENSE file.  If any company (not individual!) finds vi sufficiently
-useful that you would have purchased it, or if any company wishes to
-redistribute it, contributions to the authors would be appreciated.
-.SH DESCRIPTION
-.I \&Vi
-is a screen oriented text editor.
-.I \&Ex
+.Dd November 2, 2013
+.Dt VI 1
+.Os
+.Sh NAME
+.Nm ex , vi , view
+.Nd text editors
+.Sh SYNOPSIS
+.Nm ex
+.Op Fl FRrSsv
+.Op Fl c Ar cmd
+.Op Fl t Ar tag
+.Op Fl w Ar size
+.Op Ar
+.Nm vi\ \&
+.Op Fl eFRrS
+.Op Fl c Ar cmd
+.Op Fl t Ar tag
+.Op Fl w Ar size
+.Op Ar
+.Nm view
+.Op Fl eFrS
+.Op Fl c Ar cmd
+.Op Fl t Ar tag
+.Op Fl w Ar size
+.Op Ar
+.Sh DESCRIPTION
+.Nm vi
+is a screen-oriented text editor.
+.Nm ex
 is a line-oriented text editor.
-.I \&Ex
+.Nm ex
 and
-.I \&vi
+.Nm vi
 are different interfaces to the same program,
 and it is possible to switch back and forth during an edit session.
-.I View
+.Nm view
 is the equivalent of using the
-.B \-R
-(read-only) option of
-.IR \&vi .
-.PP
+.Fl R
+.Pq read-only
+option of
+.Nm vi .
+.Pp
 This manual page is the one provided with the
-.I nex/nvi
+.Nm nex Ns / Ns Nm nvi
 versions of the
-.I ex/vi
+.Nm ex Ns / Ns Nm vi
 text editors.
-.I Nex/nvi
+.Nm nex Ns / Ns Nm nvi
 are intended as bug-for-bug compatible replacements for the original
-Fourth Berkeley Software Distribution (4BSD)
-.I \&ex
+Fourth Berkeley Software Distribution
+.Pq 4BSD
+.Nm ex
 and
-.I \&vi
+.Nm vi
 programs.
 For the rest of this manual page,
-.I nex/nvi
+.Nm nex Ns / Ns Nm nvi
 is used only when it's necessary to distinguish it from the historic
 implementations of
-.IR ex/vi .
-.PP
+.Nm ex Ns / Ns Nm vi .
+.Pp
 This manual page is intended for users already familiar with
-.IR ex/vi .
+.Nm ex Ns / Ns Nm vi .
 Anyone else should almost certainly read a good tutorial on the
 editor before this manual page.
-If you're in an unfamiliar environment, and you absolutely have to
-get work done immediately, read the section after the options
-description, entitled ``Fast Startup''.
+If you're in an unfamiliar environment,
+and you absolutely have to get work done immediately,
+read the section after the options description, entitled
+.Sx FAST STARTUP .
 It's probably enough to get you going.
-.PP
+.Pp
 The following options are available:
-.TP
-.B \-c
+.Bl -tag -width "-w size "
+.It Fl c Ar cmd
 Execute
-.B cmd
-immediately after starting the edit session.
-Particularly useful for initial positioning in the file, however
-.B cmd
+.Ar cmd
+on the first file loaded.
+Particularly useful for initial positioning in the file, although
+.Ar cmd
 is not limited to positioning commands.
-This is the POSIX 1003.2 interface for the historic ``+cmd'' syntax.
-.I Nex/nvi
+This is the POSIX 1003.2 interface for the historic
+.Dq +cmd
+syntax.
+.Nm nex Ns / Ns Nm nvi
 supports both the old and new syntax.
-.TP
-.B \-e
+.It Fl e
 Start editing in ex mode, as if the command name were
-.IR \&ex .
-.TP
-.B \-F
+.Nm ex .
+.It Fl F
 Don't copy the entire file when first starting to edit.
 (The default is to make a copy in case someone else modifies
 the file during your edit session.)
-.TP
-.B \-l
-Start editing with the lisp and showmatch options set.
-.TP
-.B \-R
+.\" .It Fl l
+.\" Start editing with the lisp and showmatch options set.
+.It Fl R
 Start editing in read-only mode, as if the command name was
-.IR view ,
+.Nm view ,
 or the
-.B readonly
+.Cm readonly
 option was set.
-.TP
-.B \-r
+.It Fl r
 Recover the specified files, or, if no files are specified,
 list the files that could be recovered.
 If no recoverable files by the specified name exist,
 the file is edited as if the
-.B \-r
+.Fl r
 option had not been specified.
-.TP
-.B \-S
+.It Fl S
 Run with the
-.B secure
+.Cm secure
 edit option set, disallowing all access to external programs.
-.TP
-.B \-s
+.It Fl s
 Enter batch mode; applicable only to
-.I \&ex
+.Nm ex
 edit sessions.
 Batch mode is useful when running
-.I \&ex
+.Nm ex
 scripts.
-Prompts, informative messages and other user oriented message
-are turned off,
+Prompts, informative messages and other user oriented messages are turned off,
 and no startup files or environment variables are read.
-This is the POSIX 1003.2 interface for the historic ``\-'' argument.
-.I \&Nex/nvi
+This is the POSIX 1003.2 interface for the historic
+.Dq -
+argument.
+.Nm nex Ns / Ns Nm nvi
 supports both the old and new syntax.
-.TP
-.B \-t
-Start editing at the specified tag.
-(See
-.IR ctags (1)).
-.TP
-.B \-w
-Set the initial window size to the specified number of lines.
-.TP
-.B \-v
+.It Fl t Ar tag
+Start editing at the specified
+.Ar tag
+.Pq see Xr ctags 1 .
+.It Fl v
 Start editing in vi mode, as if the command name was
-.I \&vi
-or
-.IR view .
-.PP
+.Nm vi .
+.It Fl w Ar size
+Set the initial window size to the specified number of lines.
+.El
+.Pp
 Command input for
-.I ex/vi
+.Nm ex Ns / Ns Nm vi
 is read from the standard input.
 In the
-.I \&vi
+.Nm vi
 interface, it is an error if standard input is not a terminal.
 In the
-.I \&ex
+.Nm ex
 interface, if standard input is not a terminal,
-.I \&ex
-will read commands from it regardless, however, the session will be a
+.Nm ex
+will read commands from it regardless; however, the session will be a
 batch mode session, exactly as if the
-.B \-s
+.Fl s
 option had been specified.
-.PP
-.I Ex/vi
-exits 0 on success, and greater than 0 if an error occurs.
-.SH FAST STARTUP
+.Sh FAST STARTUP
 This section will tell you the minimum amount that you need to
 do simple editing tasks using
-.IR \&vi .
-If you've never used any screen editor before, you're likely to have
-problems even with this simple introduction.
+.Nm vi .
+If you've never used any screen editor before,
+you're likely to have problems even with this simple introduction.
 In that case you should find someone that already knows
-.I \&vi
+.Nm vi
 and have them walk you through this section.
-.PP
-.I \&Vi
+.Pp
+.Nm vi
 is a screen editor.
-This means that it takes up almost the entire screen, displaying part
-of the file on each screen line, except for the last line of the screen.
+This means that it takes up almost the entire screen,
+displaying part of the file on each screen line,
+except for the last line of the screen.
 The last line of the screen is used for you to give commands to
-.IR \&vi ,
+.Nm vi ,
 and for
-.I \&vi
+.Nm vi
 to give information to you.
-.PP
+.Pp
 The other fact that you need to understand is that
-.I \&vi
-is a modeful editor, i.e. you are either entering text or you
-are executing commands, and you have to be in the right mode
-to do one or the other.
+.Nm vi
+is a modeful editor,
+i.e., you are either entering text or you are executing commands,
+and you have to be in the right mode to do one or the other.
 You will be in command mode when you first start editing a file.
 There are commands that switch you into input mode.
 There is only one key that takes you out of input mode,
-and that is the <escape> key.
-(Key names are written using less-than and greater-than signs, e.g.
-<escape> means the ``escape'' key, usually labeled ``esc'' on your
-terminal's keyboard.)
+and that is the
+.Aq escape
+key.
+.Pp
+Key names are written using less-than and greater-than signs, e.g.,
+.Aq escape
+means the
+.Dq escape
+key, usually labeled
+.Dq Esc
+on your terminal's keyboard.
 If you're ever confused as to which mode you're in,
-keep entering the <escape> key until
-.I \&vi
+keep entering the
+.Aq escape
+key until
+.Nm vi
 beeps at you.
-(Generally,
-.I \&vi
+Generally,
+.Nm vi
 will beep at you if you try and do something that's not allowed.
-It will also display error messages.)
-.PP
-To start editing a file, enter the command ``vi file_name<carriage-return>''.
-The command you should enter as soon as you start editing is
-``:set verbose showmode<carriage-return>''.
+It will also display error messages.
+.Pp
+To start editing a file, enter the following command:
+.Pp
+.Dl $ vi file
+.Pp
+The command you should enter as soon as you start editing is:
+.Pp
+.Dl :set verbose showmode
+.Pp
 This will make the editor give you verbose error messages and display
 the current mode at the bottom of the screen.
-.PP
+.Pp
 The commands to move around the file are:
-.TP
-.B h
+.Bl -tag -width Ds
+.It Cm h
 Move the cursor left one character.
-.TP
-.B j
+.It Cm j
 Move the cursor down one line.
-.TP
-.B k
+.It Cm k
 Move the cursor up one line.
-.TP
-.B l
+.It Cm l
 Move the cursor right one character.
-.TP
-.B <cursor-arrows>
+.It Aq Cm cursor-arrows
 The cursor arrow keys should work, too.
-.TP
-.B /text<carriage-return>
-Search for the string ``text'' in the file,
+.It Cm / Ns text
+Search for the string
+.Dq text
+in the file,
 and move the cursor to its first character.
-.PP
+.El
+.Pp
 The commands to enter new text are:
-.TP
-.B a
-Append new text,
-.I after
-the cursor.
-.TP
-.B i
-Insert new text,
-.I before
-the cursor.
-.TP
-.B o
-Open a new line below the line the cursor is on, and start
-entering text.
-.TP
-.B O
-Open a new line above the line the cursor is on, and start
-entering text.
-.TP
-.B <escape>
-Once you've entered input mode using the one of the
-.BR \&a ,
-.BR \&i ,
-.BR \&O
-or 
-.B \&o
+.Bl -tag -width "<escape>"
+.It Cm a
+Append new text, after the cursor.
+.It Cm i
+Insert new text, before the cursor.
+.It Cm o
+Open a new line below the line the cursor is on, and start entering text.
+.It Cm O
+Open a new line above the line the cursor is on, and start entering text.
+.It Aq Cm escape
+Once you've entered input mode using one of the
+.Cm a ,
+.Cm i ,
+.Cm o
+or
+.Cm O
 commands, use
-.B <escape>
+.Aq Cm escape
 to quit entering text and return to command mode.
-.PP
+.El
+.Pp
 The commands to copy text are:
-.TP
-.B yy
+.Bl -tag -width Ds
+.It Cm yy
 Copy the line the cursor is on.
-.TP
-.B p
+.It Cm p
 Append the copied line after the line the cursor is on.
-.PP
+.El
+.Pp
 The commands to delete text are:
-.TP
-.B dd
+.Bl -tag -width Ds
+.It Cm dd
 Delete the line the cursor is on.
-.TP
-.B x
+.It Cm x
 Delete the character the cursor is on.
-.PP
+.El
+.Pp
 The commands to write the file are:
-.TP
-.B :w<carriage-return>
+.Bl -tag -width Ds
+.It Cm :w
 Write the file back to the file with the name that you originally used
 as an argument on the
-.I \&vi
+.Nm vi
 command line.
-.TP
-.B ":w file_name<carriage-return>"
-Write the file back to the file with the name ``file_name''.
-.PP
+.It Cm :w Ar file_name
+Write the file back to the file with the name
+.Ar file_name .
+.El
+.Pp
 The commands to quit editing and exit the editor are:
-.TP
-.B :q<carriage-return>
-Quit editing and leave vi (if you've modified the file, but not
-saved your changes,
-.I \&vi
+.Bl -tag -width Ds
+.It Cm :q
+Quit editing and leave
+.Nm vi
+(if you've modified the file, but not saved your changes,
+.Nm vi
 will refuse to quit).
-.TP
-.B :q!<carriage-return>
+.It Cm :q!
 Quit, discarding any modifications that you may have made.
-.PP
-One final caution.
+.El
+.Pp
+One final caution:
 Unusual characters can take up more than one column on the screen,
 and long lines can take up more than a single screen line.
-The above commands work on ``physical'' characters and lines,
-i.e. they affect the entire line no matter how many screen lines it
-takes up and the entire character no matter how many screen columns
-it takes up.
-.SH VI COMMANDS
+The above commands work on
+.Dq physical
+characters and lines,
+i.e., they affect the entire line no matter how many screen lines it takes up
+and the entire character no matter how many screen columns it takes up.
+.Sh REGULAR EXPRESSIONS
+.Nm ex Ns / Ns Nm vi
+supports regular expressions
+.Pq REs ,
+as documented in
+.Xr re_format 7 ,
+for line addresses, as the first part of the
+.Nm ex Cm substitute ,
+.Cm global
+and
+.Cm v
+commands, and in search patterns.
+Basic regular expressions
+.Pq BREs
+are enabled by default;
+extended regular expressions
+.Pq EREs
+are used if the
+.Cm extended
+option is enabled.
+The use of regular expressions can be largely disabled using the
+.Cm magic
+option.
+.Pp
+The following strings have special meanings in the
+.Nm ex Ns / Ns Nm vi
+version of regular expressions:
+.Bl -bullet -offset 6u
+.It
+An empty regular expression is equivalent to the last regular expression used.
+.It
+.Sq \e\(la
+matches the beginning of the word.
+.It
+.Sq \e\(ra
+matches the end of the word.
+.It
+.Sq \(a~
+matches the replacement part of the last
+.Cm substitute
+command.
+.El
+.Sh BUFFERS
+A buffer is an area where commands can save changed or deleted text
+for later use.
+.Nm vi
+buffers are named with a single character preceded by a double quote,
+for example
+.Pf \&" Ns Aq c ;
+.Nm ex
+buffers are the same,
+but without the double quote.
+.Nm nex Ns / Ns Nm nvi
+permits the use of any character without another meaning in the position where
+a buffer name is expected.
+.Pp
+All buffers are either in
+.Em line mode
+or
+.Em character mode .
+Inserting a buffer in line mode into the text creates new lines for each of the
+lines it contains, while a buffer in character mode creates new lines for any
+lines
+.Em other
+than the first and last lines it contains.
+The first and last lines are inserted at the current cursor position, becoming
+part of the current line.
+If there is more than one line in the buffer,
+the current line itself will be split.
+All
+.Nm ex
+commands which store text into buffers do so in line mode.
+The behaviour of
+.Nm vi
+commands depend on their associated motion command:
+.Bl -bullet -offset 6u
+.It
+.Aq Cm control-A ,
+.Cm h ,
+.Cm l ,
+.Cm ,\& ,
+.Cm 0 ,
+.Cm B ,
+.Cm E ,
+.Cm F ,
+.Cm T ,
+.Cm W ,
+.Cm ^ ,
+.Cm b ,
+.Cm e ,
+.Cm f
+and
+.Cm t
+make the destination buffer character-oriented.
+.It
+.Cm j ,
+.Aq Cm control-M ,
+.Cm k ,
+.Cm ' ,
+.Cm - ,
+.Cm G ,
+.Cm H ,
+.Cm L ,
+.Cm M ,
+.Cm _
+and
+.Cm |\&
+make the destination buffer line-oriented.
+.It
+.Cm $ ,
+.Cm % ,
+.Cm ` ,
+.Cm (\& ,
+.Cm )\& ,
+.Cm / ,
+.Cm ?\& ,
+.Cm [[ ,
+.Cm ]] ,
+.Cm {
+and
+.Cm }
+make the destination buffer character-oriented, unless the starting and
+end positions are the first and last characters on a line.
+In that case, the buffer is line-oriented.
+.El
+.Pp
+The
+.Nm ex
+command
+.Cm display buffers
+displays the current mode for each buffer.
+.Pp
+Buffers named
+.Sq a
+through
+.Sq z
+may be referred to using their uppercase equivalent, in which case new content
+will be appended to the buffer, instead of replacing it.
+.Pp
+Buffers named
+.Sq 1
+through
+.Sq 9
+are special.
+A region of text modified using the
+.Cm c
+.Pq change
+or
+.Cm d
+.Pq delete
+commands is placed into the numeric buffer
+.Sq 1
+if no other buffer is specified and if it meets one of the following conditions:
+.Bl -bullet -offset 6u
+.It
+It includes characters from more than one line.
+.It
+It is specified using a line-oriented motion.
+.It
+It is specified using one of the following motion commands:
+.Aq Cm control-A ,
+.Cm ` Ns Aq Cm character ,
+.Cm n ,
+.Cm N ,
+.Cm % ,
+.Cm / ,
+.Cm { ,
+.Cm } ,
+.Cm \&( ,
+.Cm \&) ,
+and
+.Cm \&? .
+.El
+.Pp
+Before this copy is done, the previous contents of buffer
+.Sq 1
+are moved into buffer
+.Sq 2 ,
+.Sq 2
+into buffer
+.Sq 3 ,
+and so on.
+The contents of buffer
+.Sq 9
+are discarded.
+Note that this rotation occurs
+.Em regardless
+of the user specifying another buffer.
+In
+.Nm vi ,
+text may be explicitly stored into the numeric buffers.
+In this case, the buffer rotation occurs before the replacement of the buffer's
+contents.
+The numeric buffers are only available in
+.Nm vi
+mode.
+.Sh VI COMMANDS
 The following section describes the commands available in the command
 mode of the
-.I \&vi
+.Nm vi
 editor.
-In each entry below, the tag line is a usage synopsis for the command
-character.
-.PP
-.TP
-.B "[count] <control-A>"
+The following words have a special meaning in the commands description:
+.Pp
+.Bl -tag -width bigword -compact -offset 3u
+.It Ar bigword
+A set of non-whitespace characters.
+.It Ar buffer
+Temporary area where commands may place text.
+If not specified, the default buffer is used.
+See also
+.Sx BUFFERS ,
+above.
+.It Ar count
+A positive number used to specify the desired number of iterations
+of a command.
+It defaults to 1 if not specified.
+.It Ar motion
+A cursor movement command which indicates the other end of the affected region
+of text, the first being the current cursor position.
+Repeating the command character makes it affect the whole current line.
+.It Ar word
+A sequence of letters, digits or underscores.
+.El
+.Pp
+.Ar buffer
+and
+.Ar count ,
+if both present, may be specified in any order.
+.Ar motion
+and
+.Ar count ,
+if both present, are effectively multiplied together
+and considered part of the motion.
+.Pp
+.Bl -tag -width Ds -compact
+.It Xo
+.Aq Cm control-A
+.Xc
 Search forward
-.I count
-times for the current word.
-.TP
-.B "[count] <control-B>"
+for the word starting at the cursor position.
+.Pp
+.It Xo
+.Op Ar count
+.Aq Cm control-B
+.Xc
 Page backwards
-.I count
+.Ar count
 screens.
-.TP
-.B "[count] <control-D>"
+Two lines of overlap are maintained, if possible.
+.Pp
+.It Xo
+.Op Ar count
+.Aq Cm control-D
+.Xc
 Scroll forward
-.I count
+.Ar count
 lines.
-.TP
-.B "[count] <control-E>"
+If
+.Ar count
+is not given, scroll forward the number of lines specified by the last
+.Aq Cm control-D
+or
+.Aq Cm control-U
+command.
+If this is the first
+.Aq Cm control-D
+command, scroll half the number of lines in the current screen.
+.Pp
+.It Xo
+.Op Ar count
+.Aq Cm control-E
+.Xc
 Scroll forward
-.I count
+.Ar count
 lines, leaving the current line and column as is, if possible.
-.TP
-.B "[count] <control-F>"
+.Pp
+.It Xo
+.Op Ar count
+.Aq Cm control-F
+.Xc
 Page forward
-.I count
+.Ar count
 screens.
-.TP
-.B "<control-G>"
-Display the file information.
-.TP
-.B "<control-H>"
-.TP
-.B "[count] h"
+Two lines of overlap are maintained, if possible.
+.Pp
+.It Aq Cm control-G
+Display the following file information:
+the file name
+.Pq as given to Nm vi ;
+whether the file has been modified since it was last written;
+if the file is read-only;
+the current line number;
+the total number of lines in the file;
+and the current line number as a percentage of the total lines in the file.
+.Pp
+.It Xo
+.Op Ar count
+.Aq Cm control-H
+.Xc
+.It Xo
+.Op Ar count
+.Cm h
+.Xc
 Move the cursor back
-.I count
+.Ar count
 characters in the current line.
-.TP
-.B "[count] <control-J>"
-.TP
-.B "[count] <control-N>"
-.TP
-.B "[count] j"
+.Pp
+.It Xo
+.Op Ar count
+.Aq Cm control-J
+.Xc
+.It Xo
+.Op Ar count
+.Aq Cm control-N
+.Xc
+.It Xo
+.Op Ar count
+.Cm j
+.Xc
 Move the cursor down
-.I count
+.Ar count
 lines without changing the current column.
-.TP
-.B "<control-L>"
-.TP
-.B "<control-R>"
+.Pp
+.It Aq Cm control-L
+.It Aq Cm control-R
 Repaint the screen.
-.TP
-.B "[count] <control-M>"
-.TP
-.B "[count] +"
+.Pp
+.It Xo
+.Op Ar count
+.Aq Cm control-M
+.Xc
+.It Xo
+.Op Ar count
+.Cm +
+.Xc
 Move the cursor down
-.I count
-lines to the first nonblank character of that line.
-.TP
-.B "[count] <control-P>"
-.TP
-.B "[count] k"
+.Ar count
+lines to the first non-blank character of that line.
+.Pp
+.It Xo
+.Op Ar count
+.Aq Cm control-P
+.Xc
+.It Xo
+.Op Ar count
+.Cm k
+.Xc
 Move the cursor up
-.I count
+.Ar count
 lines, without changing the current column.
-.TP
-.B "<control-T>"
+.Pp
+.It Aq Cm control-T
 Return to the most recent tag context.
-.TP
-.B "<control-U>"
+.Pp
+.It Xo
+.Op Ar count
+.Aq Cm control-U
+.Xc
 Scroll backwards
-.I count
+.Ar count
 lines.
-.TP
-.B "<control-W>"
-Switch to the next lower screen in the window, or, to the first
-screen if there are no lower screens in the window.
-.TP
-.B "<control-Y>"
+If

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

From owner-svn-src-all@FreeBSD.ORG  Sat Nov 16 19:23:21 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id B25B95BD;
 Sat, 16 Nov 2013 19:23:21 +0000 (UTC)
Received: from mail0.glenbarber.us (mail0.glenbarber.us
 [IPv6:2607:fc50:1:2300:1001:1001:1001:face])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 8736D20F6;
 Sat, 16 Nov 2013 19:23:21 +0000 (UTC)
Received: from glenbarber.us (c-71-224-221-174.hsd1.nj.comcast.net
 [71.224.221.174])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate) (Authenticated sender: gjb)
 by mail0.glenbarber.us (Postfix) with ESMTPSA id E31689A74;
 Sat, 16 Nov 2013 19:23:19 +0000 (UTC)
DKIM-Filter: OpenDKIM Filter v2.8.3 mail0.glenbarber.us E31689A74
Authentication-Results: mail0.glenbarber.us; dkim=none
 reason="no signature"; dkim-adsp=none
Date: Sat, 16 Nov 2013 14:23:18 -0500
From: Glen Barber <gjb@FreeBSD.org>
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject: Re: svn commit: r258231 - in stable/10/contrib/nvi: . common
 docs/USD.doc/vi.man ex vi
Message-ID: <20131116192318.GZ1718@glenbarber.us>
References: <201311161922.rAGJMEdg035919@svn.freebsd.org>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature"; boundary="Eldrgvv4EWsIM1sO"
Content-Disposition: inline
In-Reply-To: <201311161922.rAGJMEdg035919@svn.freebsd.org>
X-Operating-System: FreeBSD 11.0-CURRENT amd64
User-Agent: Mutt/1.5.22 (2013-10-16)
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 16 Nov 2013 19:23:21 -0000


--Eldrgvv4EWsIM1sO
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sat, Nov 16, 2013 at 07:22:14PM +0000, Glen Barber wrote:
> Author: gjb
> Date: Sat Nov 16 19:22:13 2013
> New Revision: 258231
> URL: http://svnweb.freebsd.org/changeset/base/258231
>=20
> Log:
>   MFC r257999 (peter):
>    Merge nvi-2.1.1 -> 2.1.2
>  =20
>   Approved by:	re (???)
>  =20

Bah, the commit template was not saved before commit.

Approved by:	re (kib)

Glen


--Eldrgvv4EWsIM1sO
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (FreeBSD)

iQIcBAEBCAAGBQJSh8YmAAoJELls3eqvi17QoC0QANF8WNs4FE4wRVf2ABvigqRX
a6XTN3uxA2zD/VKVP0avKc5JacxoEVv3ocDWTZKM8kV9ARMjnbogiAA/XCe4GZjl
Vc/zQ51ofihU3bYvE6NGWag8GrS4npPUbK0AufDnnneBwzaV7kPdtl8OktSUYKM7
4Vvn+CKV9T12oybIQ/YVrhvDi4aibY1ruXeabo1Hl17MNbEkNpqpyCs2AhoeZ3Nq
1EqeaU4/pEScOf5QSoQBicc7V/SopfYBCWYJpo0MeqO1kCUoHV97dbYqyOemhRby
u24aPON1hjW84Spmp2JSRABUtGTDUcTk3onwK8DRmNy+NcxbfZ8OLe/9BmnW0wj0
d3T5PB7XVtPB0MV/VLheKtqqH23WmOMNQNce48+8DkoFuPE2UJX2edwKCCAAGogD
4eYy5Kle7rCNefnvkzGySt9E4bEjbwaWvvpLo6KA7CCnygxrrLhFj6pzBBc29xTE
6KyHSDIgDWj2uBXFcjkETSR9I6dePyib4TVJv5pEmCljWKIWrcSHpYNdbDVLJ6Uf
j2NPODjn42LoEj8sVWsDouZhJjBGfFXYqO4xP/85DAPpcXwQZTJ+n6CorJwymy3j
/K8g8bzyrlG1XOMA1+Ij1smD1FUJPO6sBrTjmB7rQtH/tytHH8ZUKbTNPv4Vq348
zHhHq1HWYVj2ae/OCs7N
=J3CB
-----END PGP SIGNATURE-----

--Eldrgvv4EWsIM1sO--

From owner-svn-src-all@FreeBSD.ORG  Sat Nov 16 19:41:05 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 7163CE87;
 Sat, 16 Nov 2013 19:41:05 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 6138121C2;
 Sat, 16 Nov 2013 19:41:05 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAGJf5l3042649;
 Sat, 16 Nov 2013 19:41:05 GMT (envelope-from jmmv@svn.freebsd.org)
Received: (from jmmv@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAGJf5EB042648;
 Sat, 16 Nov 2013 19:41:05 GMT (envelope-from jmmv@svn.freebsd.org)
Message-Id: <201311161941.rAGJf5EB042648@svn.freebsd.org>
From: Julio Merino <jmmv@FreeBSD.org>
Date: Sat, 16 Nov 2013 19:41:05 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258232 - head/etc/mtree
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 16 Nov 2013 19:41:05 -0000

Author: jmmv
Date: Sat Nov 16 19:41:04 2013
New Revision: 258232
URL: http://svnweb.freebsd.org/changeset/base/258232

Log:
  Install BSD.tests.mtree when MK_TESTS is yes.
  
  Problem found by jhb@.
  
  Approved by:	rpaulo (mentor)

Modified:
  head/etc/mtree/Makefile

Modified: head/etc/mtree/Makefile
==============================================================================
--- head/etc/mtree/Makefile	Sat Nov 16 19:22:13 2013	(r258231)
+++ head/etc/mtree/Makefile	Sat Nov 16 19:41:04 2013	(r258232)
@@ -6,6 +6,7 @@ FILES=	${_BSD.debug.dist} \
 	BSD.include.dist \
 	BSD.root.dist \
 	${_BSD.sendmail.dist} \
+	${_BSD.tests.dist} \
 	BSD.usr.dist \
 	BSD.var.dist
 
@@ -18,6 +19,9 @@ _BSD.groff.dist=	BSD.groff.dist
 .if ${MK_SENDMAIL} != "no"
 _BSD.sendmail.dist=	BSD.sendmail.dist
 .endif
+.if ${MK_TESTS} != "no"
+_BSD.tests.dist=	BSD.tests.dist
+.endif
 
 NO_OBJ=
 FILESDIR= /etc/mtree

From owner-svn-src-all@FreeBSD.ORG  Sat Nov 16 19:42:41 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id CE1C3DA;
 Sat, 16 Nov 2013 19:42:41 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id BD60D21D5;
 Sat, 16 Nov 2013 19:42:41 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAGJgfKp042856;
 Sat, 16 Nov 2013 19:42:41 GMT (envelope-from jmmv@svn.freebsd.org)
Received: (from jmmv@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAGJge1H042851;
 Sat, 16 Nov 2013 19:42:40 GMT (envelope-from jmmv@svn.freebsd.org)
Message-Id: <201311161942.rAGJge1H042851@svn.freebsd.org>
From: Julio Merino <jmmv@FreeBSD.org>
Date: Sat, 16 Nov 2013 19:42:40 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258233 - in head: . etc etc/mtree
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 16 Nov 2013 19:42:42 -0000

Author: jmmv
Date: Sat Nov 16 19:42:40 2013
New Revision: 258233
URL: http://svnweb.freebsd.org/changeset/base/258233

Log:
  Move all atf directories to the tests mtree.
  
  This is to ensure that test-related directories don't get needlessly
  created (and later deleted) when MK_TESTS=no.
  
  Problem found by jhb@.
  
  Approved by:	rpaulo (mentor)

Modified:
  head/Makefile.inc1
  head/etc/Makefile
  head/etc/mtree/BSD.include.dist
  head/etc/mtree/BSD.tests.dist
  head/etc/mtree/BSD.usr.dist

Modified: head/Makefile.inc1
==============================================================================
--- head/Makefile.inc1	Sat Nov 16 19:41:04 2013	(r258232)
+++ head/Makefile.inc1	Sat Nov 16 19:42:40 2013	(r258233)
@@ -509,7 +509,7 @@ _worldtmp:
 .endif
 .if ${MK_TESTS} != "no"
 	mtree -deU -f ${.CURDIR}/etc/mtree/BSD.tests.dist \
-	    -p ${WORLDTMP}${TESTSBASE} >/dev/null
+	    -p ${WORLDTMP}/usr >/dev/null
 .endif
 .for _mtree in ${LOCAL_MTREE}
 	mtree -deU -f ${.CURDIR}/${_mtree} -p ${WORLDTMP} > /dev/null

Modified: head/etc/Makefile
==============================================================================
--- head/etc/Makefile	Sat Nov 16 19:41:04 2013	(r258232)
+++ head/etc/Makefile	Sat Nov 16 19:42:40 2013	(r258233)
@@ -321,7 +321,7 @@ MTREES+=	mtree/BSD.debug.dist		/usr/lib
 MTREES+=	mtree/BSD.groff.dist		/usr
 .endif
 .if ${MK_TESTS} != "no"
-MTREES+=	mtree/BSD.tests.dist		${TESTSBASE}
+MTREES+=	mtree/BSD.tests.dist		/usr
 .endif
 .if ${MK_SENDMAIL} != "no"
 MTREES+=	mtree/BSD.sendmail.dist		/

Modified: head/etc/mtree/BSD.include.dist
==============================================================================
--- head/etc/mtree/BSD.include.dist	Sat Nov 16 19:41:04 2013	(r258232)
+++ head/etc/mtree/BSD.include.dist	Sat Nov 16 19:42:40 2013	(r258233)
@@ -9,10 +9,6 @@
     ..
     arpa
     ..
-    atf-c
-    ..
-    atf-c++
-    ..
     bsm
     ..
     bsnmp

Modified: head/etc/mtree/BSD.tests.dist
==============================================================================
--- head/etc/mtree/BSD.tests.dist	Sat Nov 16 19:41:04 2013	(r258232)
+++ head/etc/mtree/BSD.tests.dist	Sat Nov 16 19:42:40 2013	(r258233)
@@ -5,27 +5,43 @@
 
 /set type=dir uname=root gname=wheel mode=0755
 .
-    lib
-        atf
-            libatf-c
-            ..
-            libatf-c++
-            ..
-            test-programs
-            ..
+    include
+        atf-c
         ..
-        libcrypt
+        atf-c++
         ..
     ..
-    libexec
+    share
         atf
-            atf-check
+        ..
+        doc
+            atf
             ..
         ..
     ..
-    usr.bin
-        atf
-            atf-sh
+    tests
+        lib
+            atf
+                libatf-c
+                ..
+                libatf-c++
+                ..
+                test-programs
+                ..
+            ..
+            libcrypt
+            ..
+        ..
+        libexec
+            atf
+                atf-check
+                ..
+            ..
+        ..
+        usr.bin
+            atf
+                atf-sh
+                ..
             ..
         ..
     ..

Modified: head/etc/mtree/BSD.usr.dist
==============================================================================
--- head/etc/mtree/BSD.usr.dist	Sat Nov 16 19:41:04 2013	(r258232)
+++ head/etc/mtree/BSD.usr.dist	Sat Nov 16 19:42:40 2013	(r258233)
@@ -120,8 +120,6 @@
     sbin
     ..
     share
-        atf
-        ..
         bsdconfig
             media
             ..
@@ -165,8 +163,6 @@
         doc
             IPv6
             ..
-            atf
-            ..
             atm
             ..
             legal
@@ -1443,6 +1439,4 @@
     ..
     src             nochange
     ..
-    tests
-    ..
 ..

From owner-svn-src-all@FreeBSD.ORG  Sat Nov 16 19:57:56 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id EAA96542;
 Sat, 16 Nov 2013 19:57:56 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id DA9E52250;
 Sat, 16 Nov 2013 19:57:56 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAGJvuOx046693;
 Sat, 16 Nov 2013 19:57:56 GMT (envelope-from tuexen@svn.freebsd.org)
Received: (from tuexen@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAGJvugu046692;
 Sat, 16 Nov 2013 19:57:56 GMT (envelope-from tuexen@svn.freebsd.org)
Message-Id: <201311161957.rAGJvugu046692@svn.freebsd.org>
From: Michael Tuexen <tuexen@FreeBSD.org>
Date: Sat, 16 Nov 2013 19:57:56 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258235 - head/sys/netinet
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 16 Nov 2013 19:57:57 -0000

Author: tuexen
Date: Sat Nov 16 19:57:56 2013
New Revision: 258235
URL: http://svnweb.freebsd.org/changeset/base/258235

Log:
  Use SCTP_PR_SCTP_TTL when the user provides a positive
  timetolive in sctp_sendmsg().
  
  MFC after: 3 days

Modified:
  head/sys/netinet/sctp_output.c

Modified: head/sys/netinet/sctp_output.c
==============================================================================
--- head/sys/netinet/sctp_output.c	Sat Nov 16 19:54:27 2013	(r258234)
+++ head/sys/netinet/sctp_output.c	Sat Nov 16 19:57:56 2013	(r258235)
@@ -3389,7 +3389,11 @@ sctp_find_cmsg(int c_type, void *data, s
 						return (found);
 					}
 					m_copydata(control, at + CMSG_ALIGN(sizeof(cmh)), sizeof(struct sctp_prinfo), (caddr_t)&prinfo);
-					sndrcvinfo->sinfo_timetolive = prinfo.pr_value;
+					if (prinfo.pr_policy != SCTP_PR_SCTP_NONE) {
+						sndrcvinfo->sinfo_timetolive = prinfo.pr_value;
+					} else {
+						sndrcvinfo->sinfo_timetolive = 0;
+					}
 					sndrcvinfo->sinfo_flags |= prinfo.pr_policy;
 					break;
 				case SCTP_AUTHINFO:
@@ -6078,13 +6082,13 @@ sctp_set_prsctp_policy(struct sctp_strea
 {
 	/*
 	 * We assume that the user wants PR_SCTP_TTL if the user provides a
-	 * positive lifetime but does not specify any PR_SCTP policy. This
-	 * is a BAD assumption and causes problems at least with the
-	 * U-Vancovers MPI folks. I will change this to be no policy means
-	 * NO PR-SCTP.
+	 * positive lifetime but does not specify any PR_SCTP policy.
 	 */
 	if (PR_SCTP_ENABLED(sp->sinfo_flags)) {
 		sp->act_flags |= PR_SCTP_POLICY(sp->sinfo_flags);
+	} else if (sp->timetolive > 0) {
+		sp->sinfo_flags |= SCTP_PR_SCTP_TTL;
+		sp->act_flags |= PR_SCTP_POLICY(sp->sinfo_flags);
 	} else {
 		return;
 	}

From owner-svn-src-all@FreeBSD.ORG  Sat Nov 16 21:57:53 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id A276AD84;
 Sat, 16 Nov 2013 21:57:53 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 9045D273A;
 Sat, 16 Nov 2013 21:57:53 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAGLvrb0087101;
 Sat, 16 Nov 2013 21:57:53 GMT (envelope-from jmmv@svn.freebsd.org)
Received: (from jmmv@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAGLvrOY087099;
 Sat, 16 Nov 2013 21:57:53 GMT (envelope-from jmmv@svn.freebsd.org)
Message-Id: <201311162157.rAGLvrOY087099@svn.freebsd.org>
From: Julio Merino <jmmv@FreeBSD.org>
Date: Sat, 16 Nov 2013 21:57:53 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-vendor@freebsd.org
Subject: svn commit: r258238 - in vendor/atf/dist: . admin atf-c atf-c++
 atf-c++/detail atf-run atf-sh bootstrap doc m4
X-SVN-Group: vendor
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 16 Nov 2013 21:57:53 -0000

Author: jmmv
Date: Sat Nov 16 21:57:53 2013
New Revision: 258238
URL: http://svnweb.freebsd.org/changeset/base/258238

Log:
  Import atf-0.18:
  
  Experimental version released on November 16th, 2013.
  
  * Issue 45: Added require.memory support in atf-run for FreeBSD.
  
  * Fixed an issue with the handling of cin with libc++.
  
  * Issue 64: Fixed various mandoc formatting warnings.
  
  * X-NetBSD-PR bin/48284: Made atf-check flush its progress message to
    stdout so that an interrupted test case always shows the last message
    being executed.
  
  * X-NetBSD-PR bin/48285: Fixed atf_check examples in atf-sh-api(3).
  
  Approved by:	rpaulo (mentor)

Deleted:
  vendor/atf/dist/TODO
Modified:
  vendor/atf/dist/Makefile.in
  vendor/atf/dist/NEWS
  vendor/atf/dist/aclocal.m4
  vendor/atf/dist/admin/compile
  vendor/atf/dist/admin/depcomp
  vendor/atf/dist/admin/ltmain.sh
  vendor/atf/dist/admin/missing
  vendor/atf/dist/atf-c++/atf-c++-api.3
  vendor/atf/dist/atf-c++/detail/parser.hpp
  vendor/atf/dist/atf-c++/pkg_config_test.sh
  vendor/atf/dist/atf-c/atf-c-api.3
  vendor/atf/dist/atf-c/pkg_config_test.sh
  vendor/atf/dist/atf-run/requirements.cpp
  vendor/atf/dist/atf-run/requirements_test.cpp
  vendor/atf/dist/atf-sh/atf-check.cpp
  vendor/atf/dist/atf-sh/atf-sh-api.3
  vendor/atf/dist/atf-sh/atf-sh.1
  vendor/atf/dist/atf-sh/atf_check_test.sh
  vendor/atf/dist/atf-sh/misc_helpers.sh
  vendor/atf/dist/bconfig.h.in
  vendor/atf/dist/bootstrap/package.m4
  vendor/atf/dist/bootstrap/testsuite
  vendor/atf/dist/configure
  vendor/atf/dist/configure.ac
  vendor/atf/dist/doc/atf.7.in
  vendor/atf/dist/m4/libtool.m4
  vendor/atf/dist/m4/ltoptions.m4
  vendor/atf/dist/m4/ltversion.m4
  vendor/atf/dist/m4/lt~obsolete.m4

Modified: vendor/atf/dist/Makefile.in
==============================================================================
--- vendor/atf/dist/Makefile.in	Sat Nov 16 20:49:23 2013	(r258237)
+++ vendor/atf/dist/Makefile.in	Sat Nov 16 21:57:53 2013	(r258238)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.12.2 from Makefile.am.
+# Makefile.in generated by automake 1.14 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -425,23 +425,51 @@
 
 
 VPATH = @srcdir@
-am__make_dryrun = \
-  { \
-    am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
     case $$MAKEFLAGS in \
       *\\[\ \	]*) \
-        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
-          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
-      *) \
-        for am__flg in $$MAKEFLAGS; do \
-          case $$am__flg in \
-            *=*|--*) ;; \
-            *n*) am__dry=yes; break;; \
-          esac; \
-        done;; \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
     esac; \
-    test $$am__dry = yes; \
-  }
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -463,29 +491,29 @@ host_triplet = @host@
 target_triplet = @target@
 bin_PROGRAMS = atf-sh/atf-sh$(EXEEXT) $(am__EXEEXT_1)
 libexec_PROGRAMS = atf-sh/atf-check$(EXEEXT)
-DIST_COMMON = README $(am__configure_deps) $(atf_c_HEADERS) \
-	$(atf_c___HEADERS) $(dist_man_MANS) $(include_HEADERS) \
-	$(srcdir)/Makefile.am $(srcdir)/Makefile.in \
-	$(srcdir)/admin/Makefile.am.inc \
-	$(srcdir)/atf-c++/Makefile.am.inc \
-	$(srcdir)/atf-c++/detail/Makefile.am.inc \
+DIST_COMMON = $(srcdir)/admin/Makefile.am.inc \
 	$(srcdir)/atf-c/Makefile.am.inc \
 	$(srcdir)/atf-c/detail/Makefile.am.inc \
-	$(srcdir)/atf-config/Makefile.am.inc \
-	$(srcdir)/atf-report/Makefile.am.inc \
-	$(srcdir)/atf-run/Makefile.am.inc \
+	$(srcdir)/atf-c++/Makefile.am.inc \
+	$(srcdir)/atf-c++/detail/Makefile.am.inc \
 	$(srcdir)/atf-sh/Makefile.am.inc \
-	$(srcdir)/atf-version/Makefile.am.inc $(srcdir)/bconfig.h.in \
 	$(srcdir)/bootstrap/Makefile.am.inc \
 	$(srcdir)/doc/Makefile.am.inc \
 	$(srcdir)/test-programs/Makefile.am.inc \
-	$(top_srcdir)/admin/compile $(top_srcdir)/admin/config.guess \
-	$(top_srcdir)/admin/config.sub $(top_srcdir)/admin/depcomp \
-	$(top_srcdir)/admin/install-sh $(top_srcdir)/admin/ltmain.sh \
-	$(top_srcdir)/admin/missing $(top_srcdir)/atf-c/defs.h.in \
-	$(top_srcdir)/configure AUTHORS COPYING INSTALL NEWS TODO \
+	$(srcdir)/atf-report/Makefile.am.inc \
+	$(srcdir)/atf-config/Makefile.am.inc \
+	$(srcdir)/atf-run/Makefile.am.inc \
+	$(srcdir)/atf-version/Makefile.am.inc $(srcdir)/Makefile.in \
+	$(srcdir)/Makefile.am $(top_srcdir)/configure \
+	$(am__configure_deps) $(srcdir)/bconfig.h.in \
+	$(top_srcdir)/atf-c/defs.h.in $(top_srcdir)/admin/depcomp \
+	$(dist_man_MANS) $(atf_c_HEADERS) $(atf_c___HEADERS) \
+	$(include_HEADERS) AUTHORS COPYING INSTALL NEWS README \
 	admin/compile admin/config.guess admin/config.sub \
-	admin/depcomp admin/install-sh admin/ltmain.sh admin/missing
+	admin/depcomp admin/install-sh admin/missing admin/ltmain.sh \
+	$(top_srcdir)/admin/compile $(top_srcdir)/admin/config.guess \
+	$(top_srcdir)/admin/config.sub $(top_srcdir)/admin/install-sh \
+	$(top_srcdir)/admin/ltmain.sh $(top_srcdir)/admin/missing
 tests_atf_c_PROGRAMS = atf-c/atf_c_test$(EXEEXT) \
 	atf-c/build_test$(EXEEXT) atf-c/check_test$(EXEEXT) \
 	atf-c/config_test$(EXEEXT) atf-c/error_test$(EXEEXT) \
@@ -657,6 +685,10 @@ am_atf_c___detail_libtest_helpers_la_OBJ
 	atf-c++/detail/test_helpers.lo
 atf_c___detail_libtest_helpers_la_OBJECTS =  \
 	$(am_atf_c___detail_libtest_helpers_la_OBJECTS)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 = 
 atf_c_detail_libtest_helpers_la_LIBADD =
 am_atf_c_detail_libtest_helpers_la_OBJECTS =  \
 	atf-c/detail/atf_c_detail_libtest_helpers_la-test_helpers.lo
@@ -671,9 +703,10 @@ am_libatf_c___la_OBJECTS = atf-c++/build
 	atf-c++/detail/process.lo atf-c++/detail/text.lo \
 	atf-c++/detail/ui.lo
 libatf_c___la_OBJECTS = $(am_libatf_c___la_OBJECTS)
-libatf_c___la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
-	$(CXXFLAGS) $(libatf_c___la_LDFLAGS) $(LDFLAGS) -o $@
+libatf_c___la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+	$(AM_CXXFLAGS) $(CXXFLAGS) $(libatf_c___la_LDFLAGS) $(LDFLAGS) \
+	-o $@
 libatf_c_la_LIBADD =
 am_libatf_c_la_OBJECTS = atf-c/libatf_c_la-build.lo \
 	atf-c/libatf_c_la-check.lo atf-c/libatf_c_la-config.lo \
@@ -691,7 +724,7 @@ am_libatf_c_la_OBJECTS = atf-c/libatf_c_
 nodist_libatf_c_la_OBJECTS =
 libatf_c_la_OBJECTS = $(am_libatf_c_la_OBJECTS) \
 	$(nodist_libatf_c_la_OBJECTS)
-libatf_c_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+libatf_c_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(libatf_c_la_LDFLAGS) $(LDFLAGS) -o $@
 @ENABLE_TOOLS_TRUE@am__EXEEXT_1 = atf-report/atf-report$(EXEEXT) \
@@ -1097,28 +1130,58 @@ SCRIPTS = $(tests_atf_c_SCRIPTS) $(tests
 	$(tests_atf_config_SCRIPTS) $(tests_atf_report_SCRIPTS) \
 	$(tests_atf_run_SCRIPTS) $(tests_atf_sh_SCRIPTS) \
 	$(tests_test_programs_SCRIPTS)
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
 DEFAULT_INCLUDES = -I.@am__isrc@
 depcomp = $(SHELL) $(top_srcdir)/admin/depcomp
 am__depfiles_maybe = depfiles
 am__mv = mv -f
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo "  CC      " $@;
+am__v_CC_1 = 
 CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo "  CCLD    " $@;
+am__v_CCLD_1 = 
 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_@AM_V@)
+am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
+am__v_CXX_0 = @echo "  CXX     " $@;
+am__v_CXX_1 = 
 CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
+am__v_CXXLD_0 = @echo "  CXXLD   " $@;
+am__v_CXXLD_1 = 
 SOURCES = $(atf_c___detail_libtest_helpers_la_SOURCES) \
 	$(atf_c_detail_libtest_helpers_la_SOURCES) \
 	$(libatf_c___la_SOURCES) $(libatf_c_la_SOURCES) \
@@ -1260,6 +1323,24 @@ DATA = $(atf_aclocal_DATA) $(atf_c__dirp
 	$(tests_atf_report_DATA) $(tests_atf_run_DATA) \
 	$(tests_atf_sh_DATA) $(tests_test_programs_DATA) $(xsl_DATA)
 HEADERS = $(atf_c_HEADERS) $(atf_c___HEADERS) $(include_HEADERS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
+	$(LISP)bconfig.h.in
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
 CSCOPE = cscope
@@ -1283,6 +1364,7 @@ am__distuninstallcheck_listfiles = $(dis
 distcleancheck_listfiles = find . -type f -print
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
 ATF_BUILD_CC = @ATF_BUILD_CC@
 ATF_BUILD_CFLAGS = @ATF_BUILD_CFLAGS@
@@ -1312,6 +1394,7 @@ CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -1339,6 +1422,7 @@ LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
 NMEDIT = @NMEDIT@
@@ -1364,6 +1448,7 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
@@ -1406,7 +1491,6 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 oldincludedir = @oldincludedir@
@@ -1892,8 +1976,8 @@ $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 
 bconfig.h: stamp-h1
-	@if test ! -f $@; then rm -f stamp-h1; else :; fi
-	@if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi
+	@test -f $@ || rm -f stamp-h1
+	@test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
 
 stamp-h1: $(srcdir)/bconfig.h.in $(top_builddir)/config.status
 	@rm -f stamp-h1
@@ -1907,6 +1991,7 @@ distclean-hdr:
 	-rm -f bconfig.h stamp-h1
 atf-c/defs.h: $(top_builddir)/config.status $(top_srcdir)/atf-c/defs.h.in
 	cd $(top_builddir) && $(SHELL) ./config.status $@
+
 install-libLTLIBRARIES: $(lib_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
@@ -1960,8 +2045,9 @@ atf-c++/detail/$(DEPDIR)/$(am__dirstamp)
 	@: > atf-c++/detail/$(DEPDIR)/$(am__dirstamp)
 atf-c++/detail/test_helpers.lo: atf-c++/detail/$(am__dirstamp) \
 	atf-c++/detail/$(DEPDIR)/$(am__dirstamp)
+
 atf-c++/detail/libtest_helpers.la: $(atf_c___detail_libtest_helpers_la_OBJECTS) $(atf_c___detail_libtest_helpers_la_DEPENDENCIES) $(EXTRA_atf_c___detail_libtest_helpers_la_DEPENDENCIES) atf-c++/detail/$(am__dirstamp)
-	$(CXXLINK)  $(atf_c___detail_libtest_helpers_la_OBJECTS) $(atf_c___detail_libtest_helpers_la_LIBADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK)  $(atf_c___detail_libtest_helpers_la_OBJECTS) $(atf_c___detail_libtest_helpers_la_LIBADD) $(LIBS)
 atf-c/detail/$(am__dirstamp):
 	@$(MKDIR_P) atf-c/detail
 	@: > atf-c/detail/$(am__dirstamp)
@@ -1971,8 +2057,9 @@ atf-c/detail/$(DEPDIR)/$(am__dirstamp):
 atf-c/detail/atf_c_detail_libtest_helpers_la-test_helpers.lo:  \
 	atf-c/detail/$(am__dirstamp) \
 	atf-c/detail/$(DEPDIR)/$(am__dirstamp)
+
 atf-c/detail/libtest_helpers.la: $(atf_c_detail_libtest_helpers_la_OBJECTS) $(atf_c_detail_libtest_helpers_la_DEPENDENCIES) $(EXTRA_atf_c_detail_libtest_helpers_la_DEPENDENCIES) atf-c/detail/$(am__dirstamp)
-	$(LINK)  $(atf_c_detail_libtest_helpers_la_OBJECTS) $(atf_c_detail_libtest_helpers_la_LIBADD) $(LIBS)
+	$(AM_V_CCLD)$(LINK)  $(atf_c_detail_libtest_helpers_la_OBJECTS) $(atf_c_detail_libtest_helpers_la_LIBADD) $(LIBS)
 atf-c++/$(am__dirstamp):
 	@$(MKDIR_P) atf-c++
 	@: > atf-c++/$(am__dirstamp)
@@ -2007,8 +2094,9 @@ atf-c++/detail/text.lo: atf-c++/detail/$
 	atf-c++/detail/$(DEPDIR)/$(am__dirstamp)
 atf-c++/detail/ui.lo: atf-c++/detail/$(am__dirstamp) \
 	atf-c++/detail/$(DEPDIR)/$(am__dirstamp)
+
 libatf-c++.la: $(libatf_c___la_OBJECTS) $(libatf_c___la_DEPENDENCIES) $(EXTRA_libatf_c___la_DEPENDENCIES) 
-	$(libatf_c___la_LINK) -rpath $(libdir) $(libatf_c___la_OBJECTS) $(libatf_c___la_LIBADD) $(LIBS)
+	$(AM_V_CXXLD)$(libatf_c___la_LINK) -rpath $(libdir) $(libatf_c___la_OBJECTS) $(libatf_c___la_LIBADD) $(LIBS)
 atf-c/$(am__dirstamp):
 	@$(MKDIR_P) atf-c
 	@: > atf-c/$(am__dirstamp)
@@ -2049,8 +2137,9 @@ atf-c/detail/libatf_c_la-tp_main.lo: atf
 	atf-c/detail/$(DEPDIR)/$(am__dirstamp)
 atf-c/detail/libatf_c_la-user.lo: atf-c/detail/$(am__dirstamp) \
 	atf-c/detail/$(DEPDIR)/$(am__dirstamp)
+
 libatf-c.la: $(libatf_c_la_OBJECTS) $(libatf_c_la_DEPENDENCIES) $(EXTRA_libatf_c_la_DEPENDENCIES) 
-	$(libatf_c_la_LINK) -rpath $(libdir) $(libatf_c_la_OBJECTS) $(libatf_c_la_LIBADD) $(LIBS)
+	$(AM_V_CCLD)$(libatf_c_la_LINK) -rpath $(libdir) $(libatf_c_la_OBJECTS) $(libatf_c_la_LIBADD) $(LIBS)
 install-binPROGRAMS: $(bin_PROGRAMS)
 	@$(NORMAL_INSTALL)
 	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
@@ -2060,10 +2149,12 @@ install-binPROGRAMS: $(bin_PROGRAMS)
 	fi; \
 	for p in $$list; do echo "$$p $$p"; done | \
 	sed 's/$(EXEEXT)$$//' | \
-	while read p p1; do if test -f $$p || test -f $$p1; \
-	  then echo "$$p"; echo "$$p"; else :; fi; \
+	while read p p1; do if test -f $$p \
+	 || test -f $$p1 \
+	  ; then echo "$$p"; echo "$$p"; else :; fi; \
 	done | \
-	sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+	sed -e 'p;s,.*/,,;n;h' \
+	    -e 's|.*|.|' \
 	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
 	sed 'N;N;N;s,\n, ,g' | \
 	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
@@ -2084,7 +2175,8 @@ uninstall-binPROGRAMS:
 	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
 	files=`for p in $$list; do echo "$$p"; done | \
 	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-	      -e 's/$$/$(EXEEXT)/' `; \
+	      -e 's/$$/$(EXEEXT)/' \
+	`; \
 	test -n "$$list" || exit 0; \
 	echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
 	cd "$(DESTDIR)$(bindir)" && rm -f $$files
@@ -2115,10 +2207,12 @@ install-libexecPROGRAMS: $(libexec_PROGR
 	fi; \
 	for p in $$list; do echo "$$p $$p"; done | \
 	sed 's/$(EXEEXT)$$//' | \
-	while read p p1; do if test -f $$p || test -f $$p1; \
-	  then echo "$$p"; echo "$$p"; else :; fi; \
+	while read p p1; do if test -f $$p \
+	 || test -f $$p1 \
+	  ; then echo "$$p"; echo "$$p"; else :; fi; \
 	done | \
-	sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+	sed -e 'p;s,.*/,,;n;h' \
+	    -e 's|.*|.|' \
 	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
 	sed 'N;N;N;s,\n, ,g' | \
 	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
@@ -2139,7 +2233,8 @@ uninstall-libexecPROGRAMS:
 	@list='$(libexec_PROGRAMS)'; test -n "$(libexecdir)" || list=; \
 	files=`for p in $$list; do echo "$$p"; done | \
 	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-	      -e 's/$$/$(EXEEXT)/' `; \
+	      -e 's/$$/$(EXEEXT)/' \
+	`; \
 	test -n "$$list" || exit 0; \
 	echo " ( cd '$(DESTDIR)$(libexecdir)' && rm -f" $$files ")"; \
 	cd "$(DESTDIR)$(libexecdir)" && rm -f $$files
@@ -2161,10 +2256,12 @@ install-tests_atf_cPROGRAMS: $(tests_atf
 	fi; \
 	for p in $$list; do echo "$$p $$p"; done | \
 	sed 's/$(EXEEXT)$$//' | \
-	while read p p1; do if test -f $$p || test -f $$p1; \
-	  then echo "$$p"; echo "$$p"; else :; fi; \
+	while read p p1; do if test -f $$p \
+	 || test -f $$p1 \
+	  ; then echo "$$p"; echo "$$p"; else :; fi; \
 	done | \
-	sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+	sed -e 'p;s,.*/,,;n;h' \
+	    -e 's|.*|.|' \
 	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
 	sed 'N;N;N;s,\n, ,g' | \
 	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
@@ -2185,7 +2282,8 @@ uninstall-tests_atf_cPROGRAMS:
 	@list='$(tests_atf_c_PROGRAMS)'; test -n "$(tests_atf_cdir)" || list=; \
 	files=`for p in $$list; do echo "$$p"; done | \
 	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-	      -e 's/$$/$(EXEEXT)/' `; \
+	      -e 's/$$/$(EXEEXT)/' \
+	`; \
 	test -n "$$list" || exit 0; \
 	echo " ( cd '$(DESTDIR)$(tests_atf_cdir)' && rm -f" $$files ")"; \
 	cd "$(DESTDIR)$(tests_atf_cdir)" && rm -f $$files
@@ -2207,10 +2305,12 @@ install-tests_atf_c__PROGRAMS: $(tests_a
 	fi; \
 	for p in $$list; do echo "$$p $$p"; done | \
 	sed 's/$(EXEEXT)$$//' | \
-	while read p p1; do if test -f $$p || test -f $$p1; \
-	  then echo "$$p"; echo "$$p"; else :; fi; \
+	while read p p1; do if test -f $$p \
+	 || test -f $$p1 \
+	  ; then echo "$$p"; echo "$$p"; else :; fi; \
 	done | \
-	sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+	sed -e 'p;s,.*/,,;n;h' \
+	    -e 's|.*|.|' \
 	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
 	sed 'N;N;N;s,\n, ,g' | \
 	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
@@ -2231,7 +2331,8 @@ uninstall-tests_atf_c__PROGRAMS:
 	@list='$(tests_atf_c___PROGRAMS)'; test -n "$(tests_atf_c__dir)" || list=; \
 	files=`for p in $$list; do echo "$$p"; done | \
 	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-	      -e 's/$$/$(EXEEXT)/' `; \
+	      -e 's/$$/$(EXEEXT)/' \
+	`; \
 	test -n "$$list" || exit 0; \
 	echo " ( cd '$(DESTDIR)$(tests_atf_c__dir)' && rm -f" $$files ")"; \
 	cd "$(DESTDIR)$(tests_atf_c__dir)" && rm -f $$files
@@ -2253,10 +2354,12 @@ install-tests_atf_c___detailPROGRAMS: $(
 	fi; \
 	for p in $$list; do echo "$$p $$p"; done | \
 	sed 's/$(EXEEXT)$$//' | \
-	while read p p1; do if test -f $$p || test -f $$p1; \
-	  then echo "$$p"; echo "$$p"; else :; fi; \
+	while read p p1; do if test -f $$p \
+	 || test -f $$p1 \
+	  ; then echo "$$p"; echo "$$p"; else :; fi; \
 	done | \
-	sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+	sed -e 'p;s,.*/,,;n;h' \
+	    -e 's|.*|.|' \
 	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
 	sed 'N;N;N;s,\n, ,g' | \
 	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
@@ -2277,7 +2380,8 @@ uninstall-tests_atf_c___detailPROGRAMS:
 	@list='$(tests_atf_c___detail_PROGRAMS)'; test -n "$(tests_atf_c___detaildir)" || list=; \
 	files=`for p in $$list; do echo "$$p"; done | \
 	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-	      -e 's/$$/$(EXEEXT)/' `; \
+	      -e 's/$$/$(EXEEXT)/' \
+	`; \
 	test -n "$$list" || exit 0; \
 	echo " ( cd '$(DESTDIR)$(tests_atf_c___detaildir)' && rm -f" $$files ")"; \
 	cd "$(DESTDIR)$(tests_atf_c___detaildir)" && rm -f $$files
@@ -2299,10 +2403,12 @@ install-tests_atf_c_detailPROGRAMS: $(te
 	fi; \
 	for p in $$list; do echo "$$p $$p"; done | \
 	sed 's/$(EXEEXT)$$//' | \
-	while read p p1; do if test -f $$p || test -f $$p1; \
-	  then echo "$$p"; echo "$$p"; else :; fi; \
+	while read p p1; do if test -f $$p \
+	 || test -f $$p1 \
+	  ; then echo "$$p"; echo "$$p"; else :; fi; \
 	done | \
-	sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+	sed -e 'p;s,.*/,,;n;h' \
+	    -e 's|.*|.|' \
 	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
 	sed 'N;N;N;s,\n, ,g' | \
 	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
@@ -2323,7 +2429,8 @@ uninstall-tests_atf_c_detailPROGRAMS:
 	@list='$(tests_atf_c_detail_PROGRAMS)'; test -n "$(tests_atf_c_detaildir)" || list=; \
 	files=`for p in $$list; do echo "$$p"; done | \
 	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-	      -e 's/$$/$(EXEEXT)/' `; \
+	      -e 's/$$/$(EXEEXT)/' \
+	`; \
 	test -n "$$list" || exit 0; \
 	echo " ( cd '$(DESTDIR)$(tests_atf_c_detaildir)' && rm -f" $$files ")"; \
 	cd "$(DESTDIR)$(tests_atf_c_detaildir)" && rm -f $$files
@@ -2345,10 +2452,12 @@ install-tests_atf_reportPROGRAMS: $(test
 	fi; \
 	for p in $$list; do echo "$$p $$p"; done | \
 	sed 's/$(EXEEXT)$$//' | \
-	while read p p1; do if test -f $$p || test -f $$p1; \
-	  then echo "$$p"; echo "$$p"; else :; fi; \
+	while read p p1; do if test -f $$p \
+	 || test -f $$p1 \
+	  ; then echo "$$p"; echo "$$p"; else :; fi; \
 	done | \
-	sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+	sed -e 'p;s,.*/,,;n;h' \
+	    -e 's|.*|.|' \
 	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
 	sed 'N;N;N;s,\n, ,g' | \
 	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
@@ -2369,7 +2478,8 @@ uninstall-tests_atf_reportPROGRAMS:
 	@list='$(tests_atf_report_PROGRAMS)'; test -n "$(tests_atf_reportdir)" || list=; \
 	files=`for p in $$list; do echo "$$p"; done | \
 	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-	      -e 's/$$/$(EXEEXT)/' `; \
+	      -e 's/$$/$(EXEEXT)/' \
+	`; \
 	test -n "$$list" || exit 0; \
 	echo " ( cd '$(DESTDIR)$(tests_atf_reportdir)' && rm -f" $$files ")"; \
 	cd "$(DESTDIR)$(tests_atf_reportdir)" && rm -f $$files
@@ -2391,10 +2501,12 @@ install-tests_atf_runPROGRAMS: $(tests_a
 	fi; \
 	for p in $$list; do echo "$$p $$p"; done | \
 	sed 's/$(EXEEXT)$$//' | \
-	while read p p1; do if test -f $$p || test -f $$p1; \
-	  then echo "$$p"; echo "$$p"; else :; fi; \
+	while read p p1; do if test -f $$p \
+	 || test -f $$p1 \
+	  ; then echo "$$p"; echo "$$p"; else :; fi; \
 	done | \
-	sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+	sed -e 'p;s,.*/,,;n;h' \
+	    -e 's|.*|.|' \
 	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
 	sed 'N;N;N;s,\n, ,g' | \
 	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
@@ -2415,7 +2527,8 @@ uninstall-tests_atf_runPROGRAMS:
 	@list='$(tests_atf_run_PROGRAMS)'; test -n "$(tests_atf_rundir)" || list=; \
 	files=`for p in $$list; do echo "$$p"; done | \
 	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-	      -e 's/$$/$(EXEEXT)/' `; \
+	      -e 's/$$/$(EXEEXT)/' \
+	`; \
 	test -n "$$list" || exit 0; \
 	echo " ( cd '$(DESTDIR)$(tests_atf_rundir)' && rm -f" $$files ")"; \
 	cd "$(DESTDIR)$(tests_atf_rundir)" && rm -f $$files
@@ -2437,10 +2550,12 @@ install-tests_test_programsPROGRAMS: $(t
 	fi; \
 	for p in $$list; do echo "$$p $$p"; done | \
 	sed 's/$(EXEEXT)$$//' | \
-	while read p p1; do if test -f $$p || test -f $$p1; \
-	  then echo "$$p"; echo "$$p"; else :; fi; \
+	while read p p1; do if test -f $$p \
+	 || test -f $$p1 \
+	  ; then echo "$$p"; echo "$$p"; else :; fi; \
 	done | \
-	sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+	sed -e 'p;s,.*/,,;n;h' \
+	    -e 's|.*|.|' \
 	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
 	sed 'N;N;N;s,\n, ,g' | \
 	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
@@ -2461,7 +2576,8 @@ uninstall-tests_test_programsPROGRAMS:
 	@list='$(tests_test_programs_PROGRAMS)'; test -n "$(tests_test_programsdir)" || list=; \
 	files=`for p in $$list; do echo "$$p"; done | \
 	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-	      -e 's/$$/$(EXEEXT)/' `; \
+	      -e 's/$$/$(EXEEXT)/' \
+	`; \
 	test -n "$$list" || exit 0; \
 	echo " ( cd '$(DESTDIR)$(tests_test_programsdir)' && rm -f" $$files ")"; \
 	cd "$(DESTDIR)$(tests_test_programsdir)" && rm -f $$files
@@ -2476,192 +2592,229 @@ clean-tests_test_programsPROGRAMS:
 	rm -f $$list
 atf-c++/atf_c++_test.$(OBJEXT): atf-c++/$(am__dirstamp) \
 	atf-c++/$(DEPDIR)/$(am__dirstamp)
+
 atf-c++/atf_c++_test$(EXEEXT): $(atf_c___atf_c___test_OBJECTS) $(atf_c___atf_c___test_DEPENDENCIES) $(EXTRA_atf_c___atf_c___test_DEPENDENCIES) atf-c++/$(am__dirstamp)
 	@rm -f atf-c++/atf_c++_test$(EXEEXT)
-	$(CXXLINK) $(atf_c___atf_c___test_OBJECTS) $(atf_c___atf_c___test_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(atf_c___atf_c___test_OBJECTS) $(atf_c___atf_c___test_LDADD) $(LIBS)
 atf-c++/build_test.$(OBJEXT): atf-c++/$(am__dirstamp) \
 	atf-c++/$(DEPDIR)/$(am__dirstamp)
+
 atf-c++/build_test$(EXEEXT): $(atf_c___build_test_OBJECTS) $(atf_c___build_test_DEPENDENCIES) $(EXTRA_atf_c___build_test_DEPENDENCIES) atf-c++/$(am__dirstamp)
 	@rm -f atf-c++/build_test$(EXEEXT)
-	$(CXXLINK) $(atf_c___build_test_OBJECTS) $(atf_c___build_test_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(atf_c___build_test_OBJECTS) $(atf_c___build_test_LDADD) $(LIBS)
 atf-c++/check_test.$(OBJEXT): atf-c++/$(am__dirstamp) \
 	atf-c++/$(DEPDIR)/$(am__dirstamp)
+
 atf-c++/check_test$(EXEEXT): $(atf_c___check_test_OBJECTS) $(atf_c___check_test_DEPENDENCIES) $(EXTRA_atf_c___check_test_DEPENDENCIES) atf-c++/$(am__dirstamp)
 	@rm -f atf-c++/check_test$(EXEEXT)
-	$(CXXLINK) $(atf_c___check_test_OBJECTS) $(atf_c___check_test_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(atf_c___check_test_OBJECTS) $(atf_c___check_test_LDADD) $(LIBS)
 atf-c++/config_test.$(OBJEXT): atf-c++/$(am__dirstamp) \
 	atf-c++/$(DEPDIR)/$(am__dirstamp)
+
 atf-c++/config_test$(EXEEXT): $(atf_c___config_test_OBJECTS) $(atf_c___config_test_DEPENDENCIES) $(EXTRA_atf_c___config_test_DEPENDENCIES) atf-c++/$(am__dirstamp)
 	@rm -f atf-c++/config_test$(EXEEXT)
-	$(CXXLINK) $(atf_c___config_test_OBJECTS) $(atf_c___config_test_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(atf_c___config_test_OBJECTS) $(atf_c___config_test_LDADD) $(LIBS)
 atf-c++/detail/application_test.$(OBJEXT):  \
 	atf-c++/detail/$(am__dirstamp) \
 	atf-c++/detail/$(DEPDIR)/$(am__dirstamp)
+
 atf-c++/detail/application_test$(EXEEXT): $(atf_c___detail_application_test_OBJECTS) $(atf_c___detail_application_test_DEPENDENCIES) $(EXTRA_atf_c___detail_application_test_DEPENDENCIES) atf-c++/detail/$(am__dirstamp)
 	@rm -f atf-c++/detail/application_test$(EXEEXT)
-	$(CXXLINK) $(atf_c___detail_application_test_OBJECTS) $(atf_c___detail_application_test_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(atf_c___detail_application_test_OBJECTS) $(atf_c___detail_application_test_LDADD) $(LIBS)
 atf-c++/detail/auto_array_test.$(OBJEXT):  \
 	atf-c++/detail/$(am__dirstamp) \
 	atf-c++/detail/$(DEPDIR)/$(am__dirstamp)
+
 atf-c++/detail/auto_array_test$(EXEEXT): $(atf_c___detail_auto_array_test_OBJECTS) $(atf_c___detail_auto_array_test_DEPENDENCIES) $(EXTRA_atf_c___detail_auto_array_test_DEPENDENCIES) atf-c++/detail/$(am__dirstamp)
 	@rm -f atf-c++/detail/auto_array_test$(EXEEXT)
-	$(CXXLINK) $(atf_c___detail_auto_array_test_OBJECTS) $(atf_c___detail_auto_array_test_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(atf_c___detail_auto_array_test_OBJECTS) $(atf_c___detail_auto_array_test_LDADD) $(LIBS)
 atf-c++/detail/env_test.$(OBJEXT): atf-c++/detail/$(am__dirstamp) \
 	atf-c++/detail/$(DEPDIR)/$(am__dirstamp)
+
 atf-c++/detail/env_test$(EXEEXT): $(atf_c___detail_env_test_OBJECTS) $(atf_c___detail_env_test_DEPENDENCIES) $(EXTRA_atf_c___detail_env_test_DEPENDENCIES) atf-c++/detail/$(am__dirstamp)
 	@rm -f atf-c++/detail/env_test$(EXEEXT)
-	$(CXXLINK) $(atf_c___detail_env_test_OBJECTS) $(atf_c___detail_env_test_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(atf_c___detail_env_test_OBJECTS) $(atf_c___detail_env_test_LDADD) $(LIBS)
 atf-c++/detail/exceptions_test.$(OBJEXT):  \
 	atf-c++/detail/$(am__dirstamp) \
 	atf-c++/detail/$(DEPDIR)/$(am__dirstamp)
+
 atf-c++/detail/exceptions_test$(EXEEXT): $(atf_c___detail_exceptions_test_OBJECTS) $(atf_c___detail_exceptions_test_DEPENDENCIES) $(EXTRA_atf_c___detail_exceptions_test_DEPENDENCIES) atf-c++/detail/$(am__dirstamp)
 	@rm -f atf-c++/detail/exceptions_test$(EXEEXT)
-	$(CXXLINK) $(atf_c___detail_exceptions_test_OBJECTS) $(atf_c___detail_exceptions_test_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(atf_c___detail_exceptions_test_OBJECTS) $(atf_c___detail_exceptions_test_LDADD) $(LIBS)
 atf-c++/detail/expand_test.$(OBJEXT): atf-c++/detail/$(am__dirstamp) \
 	atf-c++/detail/$(DEPDIR)/$(am__dirstamp)
+
 atf-c++/detail/expand_test$(EXEEXT): $(atf_c___detail_expand_test_OBJECTS) $(atf_c___detail_expand_test_DEPENDENCIES) $(EXTRA_atf_c___detail_expand_test_DEPENDENCIES) atf-c++/detail/$(am__dirstamp)
 	@rm -f atf-c++/detail/expand_test$(EXEEXT)
-	$(CXXLINK) $(atf_c___detail_expand_test_OBJECTS) $(atf_c___detail_expand_test_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(atf_c___detail_expand_test_OBJECTS) $(atf_c___detail_expand_test_LDADD) $(LIBS)
 atf-c++/detail/fs_test.$(OBJEXT): atf-c++/detail/$(am__dirstamp) \
 	atf-c++/detail/$(DEPDIR)/$(am__dirstamp)
+
 atf-c++/detail/fs_test$(EXEEXT): $(atf_c___detail_fs_test_OBJECTS) $(atf_c___detail_fs_test_DEPENDENCIES) $(EXTRA_atf_c___detail_fs_test_DEPENDENCIES) atf-c++/detail/$(am__dirstamp)
 	@rm -f atf-c++/detail/fs_test$(EXEEXT)
-	$(CXXLINK) $(atf_c___detail_fs_test_OBJECTS) $(atf_c___detail_fs_test_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(atf_c___detail_fs_test_OBJECTS) $(atf_c___detail_fs_test_LDADD) $(LIBS)
 atf-c++/detail/parser_test.$(OBJEXT): atf-c++/detail/$(am__dirstamp) \
 	atf-c++/detail/$(DEPDIR)/$(am__dirstamp)
+
 atf-c++/detail/parser_test$(EXEEXT): $(atf_c___detail_parser_test_OBJECTS) $(atf_c___detail_parser_test_DEPENDENCIES) $(EXTRA_atf_c___detail_parser_test_DEPENDENCIES) atf-c++/detail/$(am__dirstamp)
 	@rm -f atf-c++/detail/parser_test$(EXEEXT)
-	$(CXXLINK) $(atf_c___detail_parser_test_OBJECTS) $(atf_c___detail_parser_test_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(atf_c___detail_parser_test_OBJECTS) $(atf_c___detail_parser_test_LDADD) $(LIBS)
 atf-c++/detail/process_test.$(OBJEXT): atf-c++/detail/$(am__dirstamp) \
 	atf-c++/detail/$(DEPDIR)/$(am__dirstamp)
+
 atf-c++/detail/process_test$(EXEEXT): $(atf_c___detail_process_test_OBJECTS) $(atf_c___detail_process_test_DEPENDENCIES) $(EXTRA_atf_c___detail_process_test_DEPENDENCIES) atf-c++/detail/$(am__dirstamp)
 	@rm -f atf-c++/detail/process_test$(EXEEXT)
-	$(CXXLINK) $(atf_c___detail_process_test_OBJECTS) $(atf_c___detail_process_test_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(atf_c___detail_process_test_OBJECTS) $(atf_c___detail_process_test_LDADD) $(LIBS)
 atf-c++/detail/sanity_test.$(OBJEXT): atf-c++/detail/$(am__dirstamp) \
 	atf-c++/detail/$(DEPDIR)/$(am__dirstamp)
+
 atf-c++/detail/sanity_test$(EXEEXT): $(atf_c___detail_sanity_test_OBJECTS) $(atf_c___detail_sanity_test_DEPENDENCIES) $(EXTRA_atf_c___detail_sanity_test_DEPENDENCIES) atf-c++/detail/$(am__dirstamp)
 	@rm -f atf-c++/detail/sanity_test$(EXEEXT)
-	$(CXXLINK) $(atf_c___detail_sanity_test_OBJECTS) $(atf_c___detail_sanity_test_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(atf_c___detail_sanity_test_OBJECTS) $(atf_c___detail_sanity_test_LDADD) $(LIBS)
 atf-c++/detail/text_test.$(OBJEXT): atf-c++/detail/$(am__dirstamp) \
 	atf-c++/detail/$(DEPDIR)/$(am__dirstamp)
+
 atf-c++/detail/text_test$(EXEEXT): $(atf_c___detail_text_test_OBJECTS) $(atf_c___detail_text_test_DEPENDENCIES) $(EXTRA_atf_c___detail_text_test_DEPENDENCIES) atf-c++/detail/$(am__dirstamp)
 	@rm -f atf-c++/detail/text_test$(EXEEXT)
-	$(CXXLINK) $(atf_c___detail_text_test_OBJECTS) $(atf_c___detail_text_test_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(atf_c___detail_text_test_OBJECTS) $(atf_c___detail_text_test_LDADD) $(LIBS)
 atf-c++/detail/ui_test.$(OBJEXT): atf-c++/detail/$(am__dirstamp) \
 	atf-c++/detail/$(DEPDIR)/$(am__dirstamp)
+
 atf-c++/detail/ui_test$(EXEEXT): $(atf_c___detail_ui_test_OBJECTS) $(atf_c___detail_ui_test_DEPENDENCIES) $(EXTRA_atf_c___detail_ui_test_DEPENDENCIES) atf-c++/detail/$(am__dirstamp)
 	@rm -f atf-c++/detail/ui_test$(EXEEXT)
-	$(CXXLINK) $(atf_c___detail_ui_test_OBJECTS) $(atf_c___detail_ui_test_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(atf_c___detail_ui_test_OBJECTS) $(atf_c___detail_ui_test_LDADD) $(LIBS)
 atf-c++/macros_test.$(OBJEXT): atf-c++/$(am__dirstamp) \
 	atf-c++/$(DEPDIR)/$(am__dirstamp)
+
 atf-c++/macros_test$(EXEEXT): $(atf_c___macros_test_OBJECTS) $(atf_c___macros_test_DEPENDENCIES) $(EXTRA_atf_c___macros_test_DEPENDENCIES) atf-c++/$(am__dirstamp)
 	@rm -f atf-c++/macros_test$(EXEEXT)
-	$(CXXLINK) $(atf_c___macros_test_OBJECTS) $(atf_c___macros_test_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(atf_c___macros_test_OBJECTS) $(atf_c___macros_test_LDADD) $(LIBS)
 atf-c++/tests_test.$(OBJEXT): atf-c++/$(am__dirstamp) \
 	atf-c++/$(DEPDIR)/$(am__dirstamp)
+
 atf-c++/tests_test$(EXEEXT): $(atf_c___tests_test_OBJECTS) $(atf_c___tests_test_DEPENDENCIES) $(EXTRA_atf_c___tests_test_DEPENDENCIES) atf-c++/$(am__dirstamp)
 	@rm -f atf-c++/tests_test$(EXEEXT)
-	$(CXXLINK) $(atf_c___tests_test_OBJECTS) $(atf_c___tests_test_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(atf_c___tests_test_OBJECTS) $(atf_c___tests_test_LDADD) $(LIBS)
 atf-c++/utils_test.$(OBJEXT): atf-c++/$(am__dirstamp) \
 	atf-c++/$(DEPDIR)/$(am__dirstamp)
+
 atf-c++/utils_test$(EXEEXT): $(atf_c___utils_test_OBJECTS) $(atf_c___utils_test_DEPENDENCIES) $(EXTRA_atf_c___utils_test_DEPENDENCIES) atf-c++/$(am__dirstamp)
 	@rm -f atf-c++/utils_test$(EXEEXT)
-	$(CXXLINK) $(atf_c___utils_test_OBJECTS) $(atf_c___utils_test_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(atf_c___utils_test_OBJECTS) $(atf_c___utils_test_LDADD) $(LIBS)
 atf-c/atf_c_test.$(OBJEXT): atf-c/$(am__dirstamp) \
 	atf-c/$(DEPDIR)/$(am__dirstamp)
+
 atf-c/atf_c_test$(EXEEXT): $(atf_c_atf_c_test_OBJECTS) $(atf_c_atf_c_test_DEPENDENCIES) $(EXTRA_atf_c_atf_c_test_DEPENDENCIES) atf-c/$(am__dirstamp)
 	@rm -f atf-c/atf_c_test$(EXEEXT)
-	$(LINK) $(atf_c_atf_c_test_OBJECTS) $(atf_c_atf_c_test_LDADD) $(LIBS)
+	$(AM_V_CCLD)$(LINK) $(atf_c_atf_c_test_OBJECTS) $(atf_c_atf_c_test_LDADD) $(LIBS)
 atf-c/build_test.$(OBJEXT): atf-c/$(am__dirstamp) \
 	atf-c/$(DEPDIR)/$(am__dirstamp)
+
 atf-c/build_test$(EXEEXT): $(atf_c_build_test_OBJECTS) $(atf_c_build_test_DEPENDENCIES) $(EXTRA_atf_c_build_test_DEPENDENCIES) atf-c/$(am__dirstamp)
 	@rm -f atf-c/build_test$(EXEEXT)
-	$(LINK) $(atf_c_build_test_OBJECTS) $(atf_c_build_test_LDADD) $(LIBS)
+	$(AM_V_CCLD)$(LINK) $(atf_c_build_test_OBJECTS) $(atf_c_build_test_LDADD) $(LIBS)
 atf-c/check_test.$(OBJEXT): atf-c/$(am__dirstamp) \
 	atf-c/$(DEPDIR)/$(am__dirstamp)
+
 atf-c/check_test$(EXEEXT): $(atf_c_check_test_OBJECTS) $(atf_c_check_test_DEPENDENCIES) $(EXTRA_atf_c_check_test_DEPENDENCIES) atf-c/$(am__dirstamp)
 	@rm -f atf-c/check_test$(EXEEXT)
-	$(LINK) $(atf_c_check_test_OBJECTS) $(atf_c_check_test_LDADD) $(LIBS)
+	$(AM_V_CCLD)$(LINK) $(atf_c_check_test_OBJECTS) $(atf_c_check_test_LDADD) $(LIBS)
 atf-c/config_test.$(OBJEXT): atf-c/$(am__dirstamp) \
 	atf-c/$(DEPDIR)/$(am__dirstamp)
+
 atf-c/config_test$(EXEEXT): $(atf_c_config_test_OBJECTS) $(atf_c_config_test_DEPENDENCIES) $(EXTRA_atf_c_config_test_DEPENDENCIES) atf-c/$(am__dirstamp)
 	@rm -f atf-c/config_test$(EXEEXT)
-	$(LINK) $(atf_c_config_test_OBJECTS) $(atf_c_config_test_LDADD) $(LIBS)
+	$(AM_V_CCLD)$(LINK) $(atf_c_config_test_OBJECTS) $(atf_c_config_test_LDADD) $(LIBS)
 atf-c/detail/dynstr_test.$(OBJEXT): atf-c/detail/$(am__dirstamp) \
 	atf-c/detail/$(DEPDIR)/$(am__dirstamp)
+
 atf-c/detail/dynstr_test$(EXEEXT): $(atf_c_detail_dynstr_test_OBJECTS) $(atf_c_detail_dynstr_test_DEPENDENCIES) $(EXTRA_atf_c_detail_dynstr_test_DEPENDENCIES) atf-c/detail/$(am__dirstamp)
 	@rm -f atf-c/detail/dynstr_test$(EXEEXT)
-	$(LINK) $(atf_c_detail_dynstr_test_OBJECTS) $(atf_c_detail_dynstr_test_LDADD) $(LIBS)
+	$(AM_V_CCLD)$(LINK) $(atf_c_detail_dynstr_test_OBJECTS) $(atf_c_detail_dynstr_test_LDADD) $(LIBS)
 atf-c/detail/env_test.$(OBJEXT): atf-c/detail/$(am__dirstamp) \
 	atf-c/detail/$(DEPDIR)/$(am__dirstamp)
+
 atf-c/detail/env_test$(EXEEXT): $(atf_c_detail_env_test_OBJECTS) $(atf_c_detail_env_test_DEPENDENCIES) $(EXTRA_atf_c_detail_env_test_DEPENDENCIES) atf-c/detail/$(am__dirstamp)
 	@rm -f atf-c/detail/env_test$(EXEEXT)
-	$(LINK) $(atf_c_detail_env_test_OBJECTS) $(atf_c_detail_env_test_LDADD) $(LIBS)
+	$(AM_V_CCLD)$(LINK) $(atf_c_detail_env_test_OBJECTS) $(atf_c_detail_env_test_LDADD) $(LIBS)
 atf-c/detail/fs_test.$(OBJEXT): atf-c/detail/$(am__dirstamp) \
 	atf-c/detail/$(DEPDIR)/$(am__dirstamp)
+
 atf-c/detail/fs_test$(EXEEXT): $(atf_c_detail_fs_test_OBJECTS) $(atf_c_detail_fs_test_DEPENDENCIES) $(EXTRA_atf_c_detail_fs_test_DEPENDENCIES) atf-c/detail/$(am__dirstamp)
 	@rm -f atf-c/detail/fs_test$(EXEEXT)
-	$(LINK) $(atf_c_detail_fs_test_OBJECTS) $(atf_c_detail_fs_test_LDADD) $(LIBS)
+	$(AM_V_CCLD)$(LINK) $(atf_c_detail_fs_test_OBJECTS) $(atf_c_detail_fs_test_LDADD) $(LIBS)
 atf-c/detail/list_test.$(OBJEXT): atf-c/detail/$(am__dirstamp) \
 	atf-c/detail/$(DEPDIR)/$(am__dirstamp)
+
 atf-c/detail/list_test$(EXEEXT): $(atf_c_detail_list_test_OBJECTS) $(atf_c_detail_list_test_DEPENDENCIES) $(EXTRA_atf_c_detail_list_test_DEPENDENCIES) atf-c/detail/$(am__dirstamp)
 	@rm -f atf-c/detail/list_test$(EXEEXT)
-	$(LINK) $(atf_c_detail_list_test_OBJECTS) $(atf_c_detail_list_test_LDADD) $(LIBS)
+	$(AM_V_CCLD)$(LINK) $(atf_c_detail_list_test_OBJECTS) $(atf_c_detail_list_test_LDADD) $(LIBS)
 atf-c/detail/map_test.$(OBJEXT): atf-c/detail/$(am__dirstamp) \
 	atf-c/detail/$(DEPDIR)/$(am__dirstamp)
+
 atf-c/detail/map_test$(EXEEXT): $(atf_c_detail_map_test_OBJECTS) $(atf_c_detail_map_test_DEPENDENCIES) $(EXTRA_atf_c_detail_map_test_DEPENDENCIES) atf-c/detail/$(am__dirstamp)
 	@rm -f atf-c/detail/map_test$(EXEEXT)
-	$(LINK) $(atf_c_detail_map_test_OBJECTS) $(atf_c_detail_map_test_LDADD) $(LIBS)
+	$(AM_V_CCLD)$(LINK) $(atf_c_detail_map_test_OBJECTS) $(atf_c_detail_map_test_LDADD) $(LIBS)
 atf-c/detail/process_helpers.$(OBJEXT): atf-c/detail/$(am__dirstamp) \
 	atf-c/detail/$(DEPDIR)/$(am__dirstamp)
+
 atf-c/detail/process_helpers$(EXEEXT): $(atf_c_detail_process_helpers_OBJECTS) $(atf_c_detail_process_helpers_DEPENDENCIES) $(EXTRA_atf_c_detail_process_helpers_DEPENDENCIES) atf-c/detail/$(am__dirstamp)
 	@rm -f atf-c/detail/process_helpers$(EXEEXT)
-	$(LINK) $(atf_c_detail_process_helpers_OBJECTS) $(atf_c_detail_process_helpers_LDADD) $(LIBS)
+	$(AM_V_CCLD)$(LINK) $(atf_c_detail_process_helpers_OBJECTS) $(atf_c_detail_process_helpers_LDADD) $(LIBS)
 atf-c/detail/process_test.$(OBJEXT): atf-c/detail/$(am__dirstamp) \
 	atf-c/detail/$(DEPDIR)/$(am__dirstamp)
+
 atf-c/detail/process_test$(EXEEXT): $(atf_c_detail_process_test_OBJECTS) $(atf_c_detail_process_test_DEPENDENCIES) $(EXTRA_atf_c_detail_process_test_DEPENDENCIES) atf-c/detail/$(am__dirstamp)
 	@rm -f atf-c/detail/process_test$(EXEEXT)
-	$(LINK) $(atf_c_detail_process_test_OBJECTS) $(atf_c_detail_process_test_LDADD) $(LIBS)
+	$(AM_V_CCLD)$(LINK) $(atf_c_detail_process_test_OBJECTS) $(atf_c_detail_process_test_LDADD) $(LIBS)
 atf-c/detail/sanity_test.$(OBJEXT): atf-c/detail/$(am__dirstamp) \
 	atf-c/detail/$(DEPDIR)/$(am__dirstamp)
+
 atf-c/detail/sanity_test$(EXEEXT): $(atf_c_detail_sanity_test_OBJECTS) $(atf_c_detail_sanity_test_DEPENDENCIES) $(EXTRA_atf_c_detail_sanity_test_DEPENDENCIES) atf-c/detail/$(am__dirstamp)
 	@rm -f atf-c/detail/sanity_test$(EXEEXT)
-	$(LINK) $(atf_c_detail_sanity_test_OBJECTS) $(atf_c_detail_sanity_test_LDADD) $(LIBS)
+	$(AM_V_CCLD)$(LINK) $(atf_c_detail_sanity_test_OBJECTS) $(atf_c_detail_sanity_test_LDADD) $(LIBS)
 atf-c/detail/text_test.$(OBJEXT): atf-c/detail/$(am__dirstamp) \
 	atf-c/detail/$(DEPDIR)/$(am__dirstamp)
+
 atf-c/detail/text_test$(EXEEXT): $(atf_c_detail_text_test_OBJECTS) $(atf_c_detail_text_test_DEPENDENCIES) $(EXTRA_atf_c_detail_text_test_DEPENDENCIES) atf-c/detail/$(am__dirstamp)
 	@rm -f atf-c/detail/text_test$(EXEEXT)
-	$(LINK) $(atf_c_detail_text_test_OBJECTS) $(atf_c_detail_text_test_LDADD) $(LIBS)
+	$(AM_V_CCLD)$(LINK) $(atf_c_detail_text_test_OBJECTS) $(atf_c_detail_text_test_LDADD) $(LIBS)
 atf-c/detail/user_test.$(OBJEXT): atf-c/detail/$(am__dirstamp) \
 	atf-c/detail/$(DEPDIR)/$(am__dirstamp)
+
 atf-c/detail/user_test$(EXEEXT): $(atf_c_detail_user_test_OBJECTS) $(atf_c_detail_user_test_DEPENDENCIES) $(EXTRA_atf_c_detail_user_test_DEPENDENCIES) atf-c/detail/$(am__dirstamp)
 	@rm -f atf-c/detail/user_test$(EXEEXT)
-	$(LINK) $(atf_c_detail_user_test_OBJECTS) $(atf_c_detail_user_test_LDADD) $(LIBS)
+	$(AM_V_CCLD)$(LINK) $(atf_c_detail_user_test_OBJECTS) $(atf_c_detail_user_test_LDADD) $(LIBS)
 atf-c/error_test.$(OBJEXT): atf-c/$(am__dirstamp) \
 	atf-c/$(DEPDIR)/$(am__dirstamp)
+
 atf-c/error_test$(EXEEXT): $(atf_c_error_test_OBJECTS) $(atf_c_error_test_DEPENDENCIES) $(EXTRA_atf_c_error_test_DEPENDENCIES) atf-c/$(am__dirstamp)
 	@rm -f atf-c/error_test$(EXEEXT)
-	$(LINK) $(atf_c_error_test_OBJECTS) $(atf_c_error_test_LDADD) $(LIBS)
+	$(AM_V_CCLD)$(LINK) $(atf_c_error_test_OBJECTS) $(atf_c_error_test_LDADD) $(LIBS)
 atf-c/macros_test.$(OBJEXT): atf-c/$(am__dirstamp) \
 	atf-c/$(DEPDIR)/$(am__dirstamp)
+
 atf-c/macros_test$(EXEEXT): $(atf_c_macros_test_OBJECTS) $(atf_c_macros_test_DEPENDENCIES) $(EXTRA_atf_c_macros_test_DEPENDENCIES) atf-c/$(am__dirstamp)
 	@rm -f atf-c/macros_test$(EXEEXT)
-	$(LINK) $(atf_c_macros_test_OBJECTS) $(atf_c_macros_test_LDADD) $(LIBS)
+	$(AM_V_CCLD)$(LINK) $(atf_c_macros_test_OBJECTS) $(atf_c_macros_test_LDADD) $(LIBS)
 atf-c/tc_test.$(OBJEXT): atf-c/$(am__dirstamp) \
 	atf-c/$(DEPDIR)/$(am__dirstamp)
+
 atf-c/tc_test$(EXEEXT): $(atf_c_tc_test_OBJECTS) $(atf_c_tc_test_DEPENDENCIES) $(EXTRA_atf_c_tc_test_DEPENDENCIES) atf-c/$(am__dirstamp)
 	@rm -f atf-c/tc_test$(EXEEXT)
-	$(LINK) $(atf_c_tc_test_OBJECTS) $(atf_c_tc_test_LDADD) $(LIBS)
+	$(AM_V_CCLD)$(LINK) $(atf_c_tc_test_OBJECTS) $(atf_c_tc_test_LDADD) $(LIBS)
 atf-c/tp_test.$(OBJEXT): atf-c/$(am__dirstamp) \
 	atf-c/$(DEPDIR)/$(am__dirstamp)
+
 atf-c/tp_test$(EXEEXT): $(atf_c_tp_test_OBJECTS) $(atf_c_tp_test_DEPENDENCIES) $(EXTRA_atf_c_tp_test_DEPENDENCIES) atf-c/$(am__dirstamp)
 	@rm -f atf-c/tp_test$(EXEEXT)
-	$(LINK) $(atf_c_tp_test_OBJECTS) $(atf_c_tp_test_LDADD) $(LIBS)
+	$(AM_V_CCLD)$(LINK) $(atf_c_tp_test_OBJECTS) $(atf_c_tp_test_LDADD) $(LIBS)
 atf-c/utils_test.$(OBJEXT): atf-c/$(am__dirstamp) \
 	atf-c/$(DEPDIR)/$(am__dirstamp)
+
 atf-c/utils_test$(EXEEXT): $(atf_c_utils_test_OBJECTS) $(atf_c_utils_test_DEPENDENCIES) $(EXTRA_atf_c_utils_test_DEPENDENCIES) atf-c/$(am__dirstamp)
 	@rm -f atf-c/utils_test$(EXEEXT)
-	$(LINK) $(atf_c_utils_test_OBJECTS) $(atf_c_utils_test_LDADD) $(LIBS)
+	$(AM_V_CCLD)$(LINK) $(atf_c_utils_test_OBJECTS) $(atf_c_utils_test_LDADD) $(LIBS)
 atf-config/$(am__dirstamp):
 	@$(MKDIR_P) atf-config
 	@: > atf-config/$(am__dirstamp)
@@ -2670,9 +2823,10 @@ atf-config/$(DEPDIR)/$(am__dirstamp):
 	@: > atf-config/$(DEPDIR)/$(am__dirstamp)
 atf-config/atf-config.$(OBJEXT): atf-config/$(am__dirstamp) \
 	atf-config/$(DEPDIR)/$(am__dirstamp)
+
 atf-config/atf-config$(EXEEXT): $(atf_config_atf_config_OBJECTS) $(atf_config_atf_config_DEPENDENCIES) $(EXTRA_atf_config_atf_config_DEPENDENCIES) atf-config/$(am__dirstamp)
 	@rm -f atf-config/atf-config$(EXEEXT)
-	$(CXXLINK) $(atf_config_atf_config_OBJECTS) $(atf_config_atf_config_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(atf_config_atf_config_OBJECTS) $(atf_config_atf_config_LDADD) $(LIBS)
 atf-report/$(am__dirstamp):
 	@$(MKDIR_P) atf-report
 	@: > atf-report/$(am__dirstamp)
@@ -2683,33 +2837,38 @@ atf-report/atf-report.$(OBJEXT): atf-rep
 	atf-report/$(DEPDIR)/$(am__dirstamp)
 atf-report/reader.$(OBJEXT): atf-report/$(am__dirstamp) \
 	atf-report/$(DEPDIR)/$(am__dirstamp)
+
 atf-report/atf-report$(EXEEXT): $(atf_report_atf_report_OBJECTS) $(atf_report_atf_report_DEPENDENCIES) $(EXTRA_atf_report_atf_report_DEPENDENCIES) atf-report/$(am__dirstamp)
 	@rm -f atf-report/atf-report$(EXEEXT)
-	$(CXXLINK) $(atf_report_atf_report_OBJECTS) $(atf_report_atf_report_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(atf_report_atf_report_OBJECTS) $(atf_report_atf_report_LDADD) $(LIBS)
 atf-report/fail_helper.$(OBJEXT): atf-report/$(am__dirstamp) \
 	atf-report/$(DEPDIR)/$(am__dirstamp)
+
 atf-report/fail_helper$(EXEEXT): $(atf_report_fail_helper_OBJECTS) $(atf_report_fail_helper_DEPENDENCIES) $(EXTRA_atf_report_fail_helper_DEPENDENCIES) atf-report/$(am__dirstamp)
 	@rm -f atf-report/fail_helper$(EXEEXT)
-	$(CXXLINK) $(atf_report_fail_helper_OBJECTS) $(atf_report_fail_helper_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(atf_report_fail_helper_OBJECTS) $(atf_report_fail_helper_LDADD) $(LIBS)
 atf-report/misc_helpers.$(OBJEXT): atf-report/$(am__dirstamp) \
 	atf-report/$(DEPDIR)/$(am__dirstamp)
+
 atf-report/misc_helpers$(EXEEXT): $(atf_report_misc_helpers_OBJECTS) $(atf_report_misc_helpers_DEPENDENCIES) $(EXTRA_atf_report_misc_helpers_DEPENDENCIES) atf-report/$(am__dirstamp)
 	@rm -f atf-report/misc_helpers$(EXEEXT)
-	$(CXXLINK) $(atf_report_misc_helpers_OBJECTS) $(atf_report_misc_helpers_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(atf_report_misc_helpers_OBJECTS) $(atf_report_misc_helpers_LDADD) $(LIBS)
 atf-report/pass_helper.$(OBJEXT): atf-report/$(am__dirstamp) \
 	atf-report/$(DEPDIR)/$(am__dirstamp)
+
 atf-report/pass_helper$(EXEEXT): $(atf_report_pass_helper_OBJECTS) $(atf_report_pass_helper_DEPENDENCIES) $(EXTRA_atf_report_pass_helper_DEPENDENCIES) atf-report/$(am__dirstamp)
 	@rm -f atf-report/pass_helper$(EXEEXT)
-	$(CXXLINK) $(atf_report_pass_helper_OBJECTS) $(atf_report_pass_helper_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(atf_report_pass_helper_OBJECTS) $(atf_report_pass_helper_LDADD) $(LIBS)
 atf-report/atf_report_reader_test-reader_test.$(OBJEXT):  \
 	atf-report/$(am__dirstamp) \
 	atf-report/$(DEPDIR)/$(am__dirstamp)
 atf-report/atf_report_reader_test-reader.$(OBJEXT):  \
 	atf-report/$(am__dirstamp) \
 	atf-report/$(DEPDIR)/$(am__dirstamp)
+
 atf-report/reader_test$(EXEEXT): $(atf_report_reader_test_OBJECTS) $(atf_report_reader_test_DEPENDENCIES) $(EXTRA_atf_report_reader_test_DEPENDENCIES) atf-report/$(am__dirstamp)
 	@rm -f atf-report/reader_test$(EXEEXT)
-	$(CXXLINK) $(atf_report_reader_test_OBJECTS) $(atf_report_reader_test_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(atf_report_reader_test_OBJECTS) $(atf_report_reader_test_LDADD) $(LIBS)
 atf-run/$(am__dirstamp):
 	@$(MKDIR_P) atf-run
 	@: > atf-run/$(am__dirstamp)
@@ -2736,78 +2895,90 @@ atf-run/atf_run_atf_run-timer.$(OBJEXT):
 	atf-run/$(DEPDIR)/$(am__dirstamp)
 atf-run/atf_run_atf_run-user.$(OBJEXT): atf-run/$(am__dirstamp) \
 	atf-run/$(DEPDIR)/$(am__dirstamp)
+
 atf-run/atf-run$(EXEEXT): $(atf_run_atf_run_OBJECTS) $(atf_run_atf_run_DEPENDENCIES) $(EXTRA_atf_run_atf_run_DEPENDENCIES) atf-run/$(am__dirstamp)
 	@rm -f atf-run/atf-run$(EXEEXT)
-	$(CXXLINK) $(atf_run_atf_run_OBJECTS) $(atf_run_atf_run_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(atf_run_atf_run_OBJECTS) $(atf_run_atf_run_LDADD) $(LIBS)
 atf-run/atf_run_atffile_test-atffile_test.$(OBJEXT):  \
 	atf-run/$(am__dirstamp) atf-run/$(DEPDIR)/$(am__dirstamp)
 atf-run/atf_run_atffile_test-atffile.$(OBJEXT):  \
 	atf-run/$(am__dirstamp) atf-run/$(DEPDIR)/$(am__dirstamp)
+
 atf-run/atffile_test$(EXEEXT): $(atf_run_atffile_test_OBJECTS) $(atf_run_atffile_test_DEPENDENCIES) $(EXTRA_atf_run_atffile_test_DEPENDENCIES) atf-run/$(am__dirstamp)
 	@rm -f atf-run/atffile_test$(EXEEXT)
-	$(CXXLINK) $(atf_run_atffile_test_OBJECTS) $(atf_run_atffile_test_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(atf_run_atffile_test_OBJECTS) $(atf_run_atffile_test_LDADD) $(LIBS)
 atf-run/bad_metadata_helper.$(OBJEXT): atf-run/$(am__dirstamp) \
 	atf-run/$(DEPDIR)/$(am__dirstamp)
+
 atf-run/bad_metadata_helper$(EXEEXT): $(atf_run_bad_metadata_helper_OBJECTS) $(atf_run_bad_metadata_helper_DEPENDENCIES) $(EXTRA_atf_run_bad_metadata_helper_DEPENDENCIES) atf-run/$(am__dirstamp)
 	@rm -f atf-run/bad_metadata_helper$(EXEEXT)
-	$(LINK) $(atf_run_bad_metadata_helper_OBJECTS) $(atf_run_bad_metadata_helper_LDADD) $(LIBS)
+	$(AM_V_CCLD)$(LINK) $(atf_run_bad_metadata_helper_OBJECTS) $(atf_run_bad_metadata_helper_LDADD) $(LIBS)
 atf-run/atf_run_config_test-config_test.$(OBJEXT):  \
 	atf-run/$(am__dirstamp) atf-run/$(DEPDIR)/$(am__dirstamp)
 atf-run/atf_run_config_test-config.$(OBJEXT): atf-run/$(am__dirstamp) \
 	atf-run/$(DEPDIR)/$(am__dirstamp)
+
 atf-run/config_test$(EXEEXT): $(atf_run_config_test_OBJECTS) $(atf_run_config_test_DEPENDENCIES) $(EXTRA_atf_run_config_test_DEPENDENCIES) atf-run/$(am__dirstamp)
 	@rm -f atf-run/config_test$(EXEEXT)
-	$(CXXLINK) $(atf_run_config_test_OBJECTS) $(atf_run_config_test_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(atf_run_config_test_OBJECTS) $(atf_run_config_test_LDADD) $(LIBS)
 atf-run/expect_helpers.$(OBJEXT): atf-run/$(am__dirstamp) \
 	atf-run/$(DEPDIR)/$(am__dirstamp)
+
 atf-run/expect_helpers$(EXEEXT): $(atf_run_expect_helpers_OBJECTS) $(atf_run_expect_helpers_DEPENDENCIES) $(EXTRA_atf_run_expect_helpers_DEPENDENCIES) atf-run/$(am__dirstamp)
 	@rm -f atf-run/expect_helpers$(EXEEXT)
-	$(LINK) $(atf_run_expect_helpers_OBJECTS) $(atf_run_expect_helpers_LDADD) $(LIBS)
+	$(AM_V_CCLD)$(LINK) $(atf_run_expect_helpers_OBJECTS) $(atf_run_expect_helpers_LDADD) $(LIBS)
 atf-run/fs_test.$(OBJEXT): atf-run/$(am__dirstamp) \
 	atf-run/$(DEPDIR)/$(am__dirstamp)
 atf-run/fs.$(OBJEXT): atf-run/$(am__dirstamp) \
 	atf-run/$(DEPDIR)/$(am__dirstamp)
 atf-run/user.$(OBJEXT): atf-run/$(am__dirstamp) \
 	atf-run/$(DEPDIR)/$(am__dirstamp)
+
 atf-run/fs_test$(EXEEXT): $(atf_run_fs_test_OBJECTS) $(atf_run_fs_test_DEPENDENCIES) $(EXTRA_atf_run_fs_test_DEPENDENCIES) atf-run/$(am__dirstamp)
 	@rm -f atf-run/fs_test$(EXEEXT)
-	$(CXXLINK) $(atf_run_fs_test_OBJECTS) $(atf_run_fs_test_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(atf_run_fs_test_OBJECTS) $(atf_run_fs_test_LDADD) $(LIBS)
 atf-run/io_test.$(OBJEXT): atf-run/$(am__dirstamp) \
 	atf-run/$(DEPDIR)/$(am__dirstamp)
 atf-run/io.$(OBJEXT): atf-run/$(am__dirstamp) \
 	atf-run/$(DEPDIR)/$(am__dirstamp)
 atf-run/signals.$(OBJEXT): atf-run/$(am__dirstamp) \
 	atf-run/$(DEPDIR)/$(am__dirstamp)
+
 atf-run/io_test$(EXEEXT): $(atf_run_io_test_OBJECTS) $(atf_run_io_test_DEPENDENCIES) $(EXTRA_atf_run_io_test_DEPENDENCIES) atf-run/$(am__dirstamp)
 	@rm -f atf-run/io_test$(EXEEXT)
-	$(CXXLINK) $(atf_run_io_test_OBJECTS) $(atf_run_io_test_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(atf_run_io_test_OBJECTS) $(atf_run_io_test_LDADD) $(LIBS)
 atf-run/misc_helpers.$(OBJEXT): atf-run/$(am__dirstamp) \
 	atf-run/$(DEPDIR)/$(am__dirstamp)
+
 atf-run/misc_helpers$(EXEEXT): $(atf_run_misc_helpers_OBJECTS) $(atf_run_misc_helpers_DEPENDENCIES) $(EXTRA_atf_run_misc_helpers_DEPENDENCIES) atf-run/$(am__dirstamp)
 	@rm -f atf-run/misc_helpers$(EXEEXT)
-	$(CXXLINK) $(atf_run_misc_helpers_OBJECTS) $(atf_run_misc_helpers_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(atf_run_misc_helpers_OBJECTS) $(atf_run_misc_helpers_LDADD) $(LIBS)
 atf-run/pass_helper.$(OBJEXT): atf-run/$(am__dirstamp) \
 	atf-run/$(DEPDIR)/$(am__dirstamp)
+
 atf-run/pass_helper$(EXEEXT): $(atf_run_pass_helper_OBJECTS) $(atf_run_pass_helper_DEPENDENCIES) $(EXTRA_atf_run_pass_helper_DEPENDENCIES) atf-run/$(am__dirstamp)
 	@rm -f atf-run/pass_helper$(EXEEXT)
-	$(CXXLINK) $(atf_run_pass_helper_OBJECTS) $(atf_run_pass_helper_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(atf_run_pass_helper_OBJECTS) $(atf_run_pass_helper_LDADD) $(LIBS)
 atf-run/requirements_test.$(OBJEXT): atf-run/$(am__dirstamp) \
 	atf-run/$(DEPDIR)/$(am__dirstamp)
 atf-run/requirements.$(OBJEXT): atf-run/$(am__dirstamp) \
 	atf-run/$(DEPDIR)/$(am__dirstamp)
+
 atf-run/requirements_test$(EXEEXT): $(atf_run_requirements_test_OBJECTS) $(atf_run_requirements_test_DEPENDENCIES) $(EXTRA_atf_run_requirements_test_DEPENDENCIES) atf-run/$(am__dirstamp)
 	@rm -f atf-run/requirements_test$(EXEEXT)
-	$(CXXLINK) $(atf_run_requirements_test_OBJECTS) $(atf_run_requirements_test_LDADD) $(LIBS)
+	$(AM_V_CXXLD)$(CXXLINK) $(atf_run_requirements_test_OBJECTS) $(atf_run_requirements_test_LDADD) $(LIBS)

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

From owner-svn-src-all@FreeBSD.ORG  Sat Nov 16 21:58:59 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 0437AEBA;
 Sat, 16 Nov 2013 21:58:59 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id CFF682745;
 Sat, 16 Nov 2013 21:58:58 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAGLww5V087247;
 Sat, 16 Nov 2013 21:58:58 GMT (envelope-from jmmv@svn.freebsd.org)
Received: (from jmmv@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAGLwwRM087246;
 Sat, 16 Nov 2013 21:58:58 GMT (envelope-from jmmv@svn.freebsd.org)
Message-Id: <201311162158.rAGLwwRM087246@svn.freebsd.org>
From: Julio Merino <jmmv@FreeBSD.org>
Date: Sat, 16 Nov 2013 21:58:58 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-vendor@freebsd.org
Subject: svn commit: r258239 - vendor/atf/atf-0.18
X-SVN-Group: vendor
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 16 Nov 2013 21:58:59 -0000

Author: jmmv
Date: Sat Nov 16 21:58:58 2013
New Revision: 258239
URL: http://svnweb.freebsd.org/changeset/base/258239

Log:
  Tag the import of atf-0.18.
  
  Approved by:	rpaulo (mentor)

Added:
  vendor/atf/atf-0.18/
     - copied from r258238, vendor/atf/dist/

From owner-svn-src-all@FreeBSD.ORG  Sat Nov 16 23:37:56 2013
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id CFD52438;
 Sat, 16 Nov 2013 23:37:56 +0000 (UTC)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id BEAE12B28;
 Sat, 16 Nov 2013 23:37:56 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rAGNbuGT020850;
 Sat, 16 Nov 2013 23:37:56 GMT (envelope-from ian@svn.freebsd.org)
Received: (from ian@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id rAGNbux1020849;
 Sat, 16 Nov 2013 23:37:56 GMT (envelope-from ian@svn.freebsd.org)
Message-Id: <201311162337.rAGNbux1020849@svn.freebsd.org>
From: Ian Lepore <ian@FreeBSD.org>
Date: Sat, 16 Nov 2013 23:37:56 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-head@freebsd.org
Subject: svn commit: r258240 - head/sys/arm/arm
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 16 Nov 2013 23:37:56 -0000

Author: ian
Date: Sat Nov 16 23:37:56 2013
New Revision: 258240
URL: http://svnweb.freebsd.org/changeset/base/258240

Log:
  In the data abort handler, don't panic if kdb is available and says it
  handled the condition.
  
  PR:		arm/183668
  Submitted by:	Howard Su <howard0su@gmail.com>

Modified:
  head/sys/arm/arm/trap.c

Modified: head/sys/arm/arm/trap.c
==============================================================================
--- head/sys/arm/arm/trap.c	Sat Nov 16 21:58:58 2013	(r258239)
+++ head/sys/arm/arm/trap.c	Sat Nov 16 23:37:56 2013	(r258240)
@@ -528,7 +528,8 @@ dab_fatal(struct trapframe *tf, u_int fs
 
 #ifdef KDB
 	if (debugger_on_panic || kdb_active)
-		kdb_trap(fsr, 0, tf);
+		if (kdb_trap(fsr, 0, tf))
+			return (0);
 #endif
 	panic("Fatal abort");
 	/*NOTREACHED*/