From owner-svn-src-all@FreeBSD.ORG Sun Nov 10 02:43:10 2013 Return-Path: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 X-X-Sender: bde@besplex.bde.org To: Eitan Adler Subject: Re: svn commit: r257883 - head/sys/dev/ppc In-Reply-To: Message-ID: <20131110133214.G952@besplex.bde.org> References: <201311090827.rA98RuYj082760@svn.freebsd.org> <20131109194526.O1128@besplex.bde.org> <1384026950.1819.0.camel@powernoodle.corp.yahoo.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" , Sean Bruno , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , Bruce Evans 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 born in Milwaukee, Wisconsin, United States, 1970 04/14 Glen J. Barber born in Wilkes-Barre, Pennsylvania, United States, 1981 04/15 David Malone born in Dublin, Ireland, 1973 +04/17 Alexey Degtyarev born in Ahtubinsk, Russian Federation, 1984 04/17 Dryice Liu born in Jinan, Shandong, China, 1975 04/22 Joerg Wunsch born in Dresden, Sachsen, Germany, 1962 04/22 Jun Kuriyama born in Matsue, Shimane, Japan, 1973 From owner-svn-src-all@FreeBSD.ORG Sun Nov 10 21:12:43 2013 Return-Path: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 . # @@ -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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 @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 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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 . # @@ -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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 #include -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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 * Copyright (c) 1995 Tatu Ylonen , 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 * Copyright (c) 1995 Tatu Ylonen , 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 * Copyright (c) 1995 Tatu Ylonen , 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 * Copyright (c) 1995 Tatu Ylonen , 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 * 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 * Copyright 2002 Markus Friedl @@ -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 * Copyright (c) 1995 Tatu Ylonen , 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 * @@ -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 * @@ -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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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?= To: Ganbold Tsagaankhuu Subject: Re: svn commit: r256949 - head/sys/arm/rockchip References: <201310230039.r9N0di6j024722@svn.freebsd.org> <37066B73-58ED-401F-849E-D1BCF23FE88C@vnode.se> Date: Mon, 11 Nov 2013 10:18:36 +0100 In-Reply-To: (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 , svn-src-all@freebsd.org, src-committers@freebsd.org, Joel Dahl 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Nov 2013 09:18:35 -0000 Ganbold Tsagaankhuu writes: > Joel Dahl 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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 * Copyright (c) 1995 Tatu Ylonen , 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 * Copyright (c) 1995 Tatu Ylonen , 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 @@ -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 @@ -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 * 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 * Copyright 2002 Markus Friedl @@ -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 * Copyright (c) 1995 Tatu Ylonen , 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 * @@ -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 * @@ -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: 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?= To: Bryan Drewery Subject: Re: this breaks builds of head on stable/9 (Re: svn commit: r257268 - head/gnu/usr.bin/binutils/ld References: <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 , Luigi Rizzo , 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Nov 2013 09:41:26 -0000 Bryan Drewery 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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 #include -#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: 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" 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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?= To: Gleb Smirnoff 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 , src-committers@freebsd.org, svn-src-all@freebsd.org, John Baldwin 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Nov 2013 09:49:09 -0000 Gleb Smirnoff 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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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" 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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" 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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" 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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" 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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" 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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" 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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%ju", indent, + sbuf_printf(sb, "%s%ju\n", indent, (uintmax_t)sc->sc_ekeys_total); - sbuf_printf(sb, "%s%ju", indent, + sbuf_printf(sb, "%s%ju\n", indent, (uintmax_t)sc->sc_ekeys_allocated); sbuf_printf(sb, "%s", indent); if (sc->sc_flags == 0) From owner-svn-src-all@FreeBSD.ORG Mon Nov 11 12:49:00 2013 Return-Path: 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" 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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" 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 ; 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 ; 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 To: Gleb Smirnoff 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 #include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include #include -#include +#include +#include #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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 Tested by: Pavel Timofeev 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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 key. -(Key names are written using less-than and greater-than signs, e.g. - 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 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''. -The command you should enter as soon as you start editing is -``:set verbose showmode''. +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 +.It Aq Cm cursor-arrows The cursor arrow keys should work, too. -.TP -.B /text -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 -Once you've entered input mode using the one of the -.BR \&a , -.BR \&i , -.BR \&O -or -.B \&o +.Bl -tag -width "" +.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 +.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 +.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" -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 -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! +.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] " +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] " +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] " +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] " +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] " +.Pp +.It Xo +.Op Ar count +.Aq Cm control-F +.Xc Page forward -.I count +.Ar count screens. -.TP -.B "" -Display the file information. -.TP -.B "" -.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] " -.TP -.B "[count] " -.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 "" -.TP -.B "" +.Pp +.It Aq Cm control-L +.It Aq Cm control-R Repaint the screen. -.TP -.B "[count] " -.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] " *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Mon Nov 11 16:39:43 2013 Return-Path: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 key. -(Key names are written using less-than and greater-than signs, e.g. - 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 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''. -The command you should enter as soon as you start editing is -``:set verbose showmode''. +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 +.It Aq Cm cursor-arrows The cursor arrow keys should work, too. -.TP -.B /text -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 -Once you've entered input mode using the one of the -.BR \&a , -.BR \&i , -.BR \&O -or -.B \&o +.Bl -tag -width "" +.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 +.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 +.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" -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 -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! +.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] " +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] " +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] " +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] " +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] " +.Pp +.It Xo +.Op Ar count +.Aq Cm control-F +.Xc Page forward -.I count +.Ar count screens. -.TP -.B "" -Display the file information. -.TP -.B "" -.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] " -.TP -.B "[count] " -.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 "" -.TP -.B "" +.Pp +.It Aq Cm control-L +.It Aq Cm control-R Repaint the screen. -.TP -.B "[count] " -.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] " -.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 "" +.Pp +.It Aq Cm control-T Return to the most recent tag context. -.TP -.B "" +.Pp +.It Xo +.Op Ar count +.Aq Cm control-U +.Xc Scroll backwards -.I count +.Ar count lines. -.TP -.B "" -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 "" +If *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Mon Nov 11 16:57:57 2013 Return-Path: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 #include #include +#include /* * 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 + +#include +#include +#include + +/* + * 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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 ; 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 ; Mon, 11 Nov 2013 19:20:09 +0000 (UTC) Received: by mail-qc0-f174.google.com with SMTP id v2so964068qcr.19 for ; 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 Date: Mon, 11 Nov 2013 14:19:38 -0500 X-Google-Sender-Auth: cxAIvDKv26b7n5OtArCgyUWgvkA Message-ID: Subject: Re: svn commit: r257945 - head/usr.sbin/pkg To: Bryan Drewery Content-Type: text/plain; charset=UTF-8 Cc: "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , Gleb Smirnoff , "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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Nov 2013 19:20:09 -0000 On Mon, Nov 11, 2013 at 10:35 AM, Bryan Drewery 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: 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 To: Eitan Adler 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> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.22 (2013-10-16) Cc: "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" , Bryan Drewery 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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" 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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) /* ::= ::= ::= + APPLE LOCAL begin mainline 2007-05-09 5173149 + ::= + + ::= L + 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 +# test 1 +--format=gnu-v3 +_ZL3foo_2 +foo +# test 2 +--format=gnu-v3 +_ZZL3foo_2vE4var1 +foo()::var1 +# test 3 +--format=gnu-v3 +_ZZL3foo_2vE4var1_0 +foo()::var1 +# 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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 #include #include +#include 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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 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 #include #include +#include #include 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<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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 X-X-Sender: bde@besplex.bde.org To: Dimitry Andric 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 X-X-Sender: bde@besplex.bde.org To: Konstantin Belousov 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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/ . -.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 +.\" 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 +.\" 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/ . +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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 -#include #include #include #include @@ -47,10 +46,16 @@ __FBSDID("$FreeBSD$"); #include #include +#ifdef HAVE_ICONV +#include +#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 + 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 From owner-svn-src-all@FreeBSD.ORG Tue Nov 12 16:08:24 2013 Return-Path: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 #include +#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 +#include -struct ofw_pci_range { - uint32_t pci_hi; - uint64_t pci; - uint64_t host; - uint64_t size; -}; +#include +#include +#include /* - * 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 +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include + +#include + +#include +#include +#include + +#include +#include + +#include +#include + +#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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 \n"); fprintf(stderr, " volume progress - display status of active operations\n"); fprintf(stderr, " clear - clear volume configuration\n"); - fprintf(stderr, " create [-v] [,[,...]] [[,[,...]]\n"); + fprintf(stderr, " create [-v] [-s stripe_size] [,[,...]] [[,[,...]]\n"); fprintf(stderr, " delete \n"); fprintf(stderr, " add [volume] - add a hot spare\n"); fprintf(stderr, " remove - remove a hot spare\n"); From owner-svn-src-all@FreeBSD.ORG Tue Nov 12 17:25:40 2013 Return-Path: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 +#include // 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 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 #include #include +#endif // C++ Includes +#include + // 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 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 +#include +#include // C++ Includes #include 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 -#include #include @@ -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 -#endif -#include -#include +#include "llvm/Support/DataTypes.h" + +#include +#include #include #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 -#include 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 +#include #include #include #include -#include // 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
&output_local, std::vector
&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
&output_local, std::vector
&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 +#endif #include #include 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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 + * 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 +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include +#include +#include +#include + +#include + +#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 + * 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 +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include +#include +#include +#include + +#include + +#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 + * 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 +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include + +#include +#include + +#include +#include + +#include + +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 + * 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 + * 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 +__FBSDID("$FreeBSD$"); + +#include "opt_bus.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include +#include + +#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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 < \ +$COMMAND -r -A '/first*' -A '/second* /*di*' -d $WORKDIR -D $TEST > \ $WORKDIR/test1.out cat > $WORKDIR/correct1.out </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 < $WORKDIR/testF.out +$COMMAND -rF -d $WORKDIR -D $TEST > $WORKDIR/testF.out cat > $WORKDIR/correctF.out < $WORKDIR/test.out +$COMMAND -r -d $WORKDIR -D $TEST > $WORKDIR/test.out cat > $WORKDIR/correct.out < $WORKDIR/test1.out +$COMMAND -r -I '/tree/*' -d $WORKDIR -D $TEST > $WORKDIR/test1.out cat > $WORKDIR/correct1.out < \ +$COMMAND -r -I '/tree/*' -I '/rmdir*' -d $WORKDIR -D $TEST > \ $WORKDIR/test2.out cat > $WORKDIR/correct2.out < \ +$COMMAND -r -I '/tree/* /rmdir/*' -d $WORKDIR -D $TEST > \ $WORKDIR/test3.out cat > $WORKDIR/correct3.out < $WORKDIR/testn.out +$COMMAND -nr -d $WORKDIR -D $TEST > $WORKDIR/testn.out cat > $WORKDIR/correct.out < $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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 /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 /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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 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 + +#include +#include +#include + +#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 +__FBSDID("$FreeBSD$"); + +#include +#include +#include + +#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 + * 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 +__FBSDID("$FreeBSD$"); + +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#ifdef HAVE_PJDLOG +#include +#endif + +#include "common_impl.h" +#include "msgio.h" + +#ifndef HAVE_PJDLOG +#include +#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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 +# 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 <> $OLD/etc/group <> $OLD/etc/inetd.conf <:/' $TEST/etc/master.passwd + cat >> $TEST/etc/master.passwd <: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 <> $SRC/etc/inetd.conf < $WORKDIR/testn.out + +cat > $WORKDIR/correct.out < $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 < 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: 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 To: Sean Bruno 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 +#include +#include + +#include + +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 +#include + +#include + +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 +#include + +#include + +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 +#include +#include +#include +#include + +#include + +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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 + * Copyright (c) 2013 Neel Natu + * 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 +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#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 + * Copyright (c) 2013 Neel Natu + * 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 #include +#include + #include "vmm_ktr.h" #include "vmm_host.h" #include "vmm_mem.h" #include "vmm_util.h" -#include +#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 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 +#include +#include #include #include #include +#include + #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: 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 To: Bruce Evans 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 #include @@ -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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 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="" +# ftpproxy_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: 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" 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 (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 (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 %"); } +/* 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<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 %"), + 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< 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 From owner-svn-src-all@FreeBSD.ORG Wed Nov 13 07:09:01 2013 Return-Path: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 To: John-Mark Gurney 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 X-X-Sender: bde@besplex.bde.org To: John Baldwin 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 , 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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] ... 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] ... % % 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 - fail a physical drive % good - set a failed/SYSPD drive as UNCONFIGURED % rebuild - mark failed drive ready for rebuild % syspd - set drive into use as SYSPD JBOD % drive progress - display status of active operations % drive clear - 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 % abort rebuild Some commands are missing descriptions. % locate - toggle drive LED % cache [command [setting]] % name % volume progress - display status of active operations % clear - clear volume configuration % create [-v] [,[,...]] [[,[,...]] 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 . The syntax for the 1 or 2 drive lists is complicated and perhaps not worth giving in detaul here. % delete % add [volume] - add a hot spare % remove - remove a hot spare % patrol [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 % start learn - start a BBU relearn % bbu - set BBU properties Bruce From owner-svn-src-all@FreeBSD.ORG Wed Nov 13 12:07:32 2013 Return-Path: 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 X-X-Sender: bde@besplex.bde.org To: Konstantin Belousov 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 , src-committers@FreeBSD.org, svn-src-all@FreeBSD.org, Bruce Evans 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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" 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 .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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 __FBSDID("$FreeBSD$"); -#define _ARM32_BUS_DMA_PRIVATE +#define _ARM32_BUS_DMA_PRIVATE #include #include #include #include -#include +#include #include #include #include #include -#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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 \n" > sysarg printf "#include \n" > sysarg printf "#include \n" > sysarg - printf "#include \n\n" > sysarg + printf "#include \n" > sysarg + printf "#include \n\n" > sysarg printf "#include \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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 #include #include +#include #include @@ -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: 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" 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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" 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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" 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 \n"); /* Declare strlen(), strcmp(), strncmp(). */ + if (option[SHAREDLIB]) + printf("#include \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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 X-X-Sender: robert@fledge.watson.org To: Edward Tomasz Napierala Subject: Re: svn commit: r258041 - head/lib/libc/posix1e In-Reply-To: <201311121044.rACAigGi093973@svn.freebsd.org> Message-ID: 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 -#include #include #include -#ifndef APPLE -#include -#endif #include #include #include @@ -50,21 +46,16 @@ __FBSDID("$FreeBSD$"); #include #include -/* - * 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 +#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 + 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 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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 X-X-Sender: robert@fledge.watson.org To: Colin Percival Subject: Re: svn commit: r258124 - head/usr.sbin/portsnap/portsnap In-Reply-To: <201311140922.rAE9MW39043456@svn.freebsd.org> Message-ID: 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 ; 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 ; 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 ; 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 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:24.0) Gecko/20100101 Thunderbird/24.0 MIME-Version: 1.0 To: Robert Watson Subject: Re: svn commit: r258124 - head/usr.sbin/portsnap/portsnap References: <201311140922.rAE9MW39043456@svn.freebsd.org> In-Reply-To: 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 ; 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 (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?= 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?= In-Reply-To: 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> To: Robert Watson 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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" 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> <3C657070-0470-4107-81D8-73C6138F612C@FreeBSD.org> To: =?iso-8859-2?Q?Edward_Tomasz_Napiera=B3a?= 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Nov 2013 11:15:25 -0000 On 14 Nov 2013, at 11:06, Edward Tomasz Napiera=B3a = 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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 = ≻ 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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 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: 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" 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 (r124381) + + * config/rs6000/rs6000.c (rs6000_override_options): Don't set + MASK_PPC_GFXOPT for 8540 or 8548. + 2007-05-01 Dwarakanath Rajagopal (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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 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: 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 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0 MIME-Version: 1.0 To: Sean Bruno , 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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" 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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" 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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" 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 (r23479) +2007-06-05 Joerg Wunsch (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 (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 (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: 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 ; 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: Subject: Re: svn commit: r258142 - head/sys/net From: Sergey Kandaurov To: "George V. Neville-Neil" 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Nov 2013 21:03:59 -0000 On 15 November 2013 00:07, George V. Neville-Neil 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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 ) 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 In-Reply-To: Date: Thu, 14 Nov 2013 16:51:01 -0500 Message-Id: References: <201311142007.rAEK7InH068095@svn.freebsd.org> To: Sergey Kandaurov 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 = wrote: > On 15 November 2013 00:07, George V. Neville-Neil = 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: 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" 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 __FBSDID("$FreeBSD$"); +/* + * Note that this file is compiled into the kernel and into libc. + */ + #ifdef _KERNEL #include #include From owner-svn-src-all@FreeBSD.ORG Thu Nov 14 22:59:21 2013 Return-Path: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 -#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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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" 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 X-X-Sender: bde@besplex.bde.org To: Sean Bruno 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 len'\n" plain C: "register len;\n" ANSI (sic) C or C++: "register len;\n" unreachable?: "" /* syntax error */ Before this commit, the generated code was: K&R C: "register len'\n" plain C: "register len;\n" ANSI (sic) C or C++: "register 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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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" "\020LWP" /* Lightweight Profiling */ "\021FMA4" /* 4-operand FMA instructions */ - "\022" + "\022TCE" /* Translation Cache Extension */ "\023" "\024NodeId" /* NodeId MSR support */ "\025" "\026TBM" /* Trailing Bit Manipulation */ "\027Topology" /* Topology Extensions */ - "\030" - "\031" + "\030PCXC" /* Core perf count */ + "\031PNXC" /* NB perf count */ "\032" - "\033" - "\034" - "\035" + "\033DBE" /* Data Breakpoint extension */ + "\034PTSC" /* Performance TSC */ + "\035PL2I" /* L2I perf count */ "\036" "\037" "\040" 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" "\020LWP" /* Lightweight Profiling */ "\021FMA4" /* 4-operand FMA instructions */ - "\022" + "\022TCE" /* Translation Cache Extension */ "\023" "\024NodeId" /* NodeId MSR support */ "\025" "\026TBM" /* Trailing Bit Manipulation */ "\027Topology" /* Topology Extensions */ - "\030" - "\031" + "\030PCXC" /* Core perf count */ + "\031PNXC" /* NB perf count */ "\032" - "\033" - "\034" - "\035" + "\033DBE" /* Data Breakpoint extension */ + "\034PTSC" /* Performance TSC */ + "\035PL2I" /* L2I perf count */ "\036" "\037" "\040" 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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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" "\020LWP" /* Lightweight Profiling */ "\021FMA4" /* 4-operand FMA instructions */ - "\022" + "\022TCE" /* Translation Cache Extension */ "\023" "\024NodeId" /* NodeId MSR support */ "\025" "\026TBM" /* Trailing Bit Manipulation */ "\027Topology" /* Topology Extensions */ - "\030" - "\031" + "\030PCXC" /* Core perf count */ + "\031PNXC" /* NB perf count */ "\032" - "\033" - "\034" - "\035" + "\033DBE" /* Data Breakpoint extension */ + "\034PTSC" /* Performance TSC */ + "\035PL2I" /* L2I perf count */ "\036" "\037" "\040" 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" "\020LWP" /* Lightweight Profiling */ "\021FMA4" /* 4-operand FMA instructions */ - "\022" + "\022TCE" /* Translation Cache Extension */ "\023" "\024NodeId" /* NodeId MSR support */ "\025" "\026TBM" /* Trailing Bit Manipulation */ "\027Topology" /* Topology Extensions */ - "\030" - "\031" + "\030PCXC" /* Core perf count */ + "\031PNXC" /* NB perf count */ "\032" - "\033" - "\034" - "\035" + "\033DBE" /* Data Breakpoint extension */ + "\034PTSC" /* Performance TSC */ + "\035PL2I" /* L2I perf count */ "\036" "\037" "\040" 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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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" 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 X-X-Sender: bde@besplex.bde.org To: George Neville-Neil Subject: Re: svn commit: r258142 - head/sys/net In-Reply-To: Message-ID: <20131115223304.R2093@besplex.bde.org> References: <201311142007.rAEK7InH068095@svn.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 , 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 wrote: > >> On 15 November 2013 00:07, George V. Neville-Neil 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 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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 To: Bruce Evans 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> <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 , svn-src-all@freebsd.org, Sergey Kandaurov , 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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" 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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" 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 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: 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" 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 To: "Justin T. Gibbs" 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 ; 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 ; 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 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0 MIME-Version: 1.0 To: Sean Bruno , 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 < $WORKDIR/correct.out < $WORKDIR/testAF.out + +cat > $WORKDIR/correctAF.out < 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 __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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 +. 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 instead of . 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 #include #include -#include -#include +#include #include #include -#include +#ifdef EXPORT_ACPI_INTERFACES +#include +#endif +#include /* 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 +/* + * 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 -#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 +#include 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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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- +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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 * @@ -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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 * @@ -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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 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 #include +#include #include #include #include @@ -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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 (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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 * @@ -34,6 +34,7 @@ #include #include #include +#include #include #include @@ -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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 (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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 (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 #include #include +#include #include #include #include @@ -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, ¶ms, 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(¶ms, 254) != params.crc) continue; found = 1; } if (!found) return (ENXIO); + chip_params->luns = params.luns; + chip_params->blocks_per_lun = le32dec(¶ms.blocks_per_lun); + chip_params->pages_per_block = le32dec(¶ms.pages_per_block); + chip_params->bytes_per_page = le32dec(¶ms.bytes_per_page); + chip_params->spare_bytes_per_page = le32dec(¶ms.spare_bytes_per_page); + chip_params->t_bers = le16dec(¶ms.t_bers); + chip_params->t_prog = le16dec(¶ms.t_prog); + chip_params->t_r = le16dec(¶ms.t_r); + chip_params->t_ccs = le16dec(¶ms.t_ccs); + chip_params->features = le16dec(¶ms.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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 __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: 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" 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 + + * 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 (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: 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" 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 @@ -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: 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" 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 + + * 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 (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= Detailed reduced debug info for structs + idirafter C ObjC C++ ObjC++ Joined Separate -idirafter Add 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: 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" 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 (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 (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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 + * 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 +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include +#include + +#include +#include + +#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 + * 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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 + * 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 +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include +#include + +#include +#include + +#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 + * 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: 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 X-X-Sender: bde@besplex.bde.org To: John Baldwin 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 ; 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: Subject: Re: svn commit: r258187 - head/sys/dev/bxe From: hiren panchasara To: Eric Davis Content-Type: text/plain; charset=UTF-8 Cc: svn-src-head , svn-src-all , src-committers 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Nov 2013 08:50:56 -0000 On Fri, Nov 15, 2013 at 12:26 PM, Eric Davis 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 From owner-svn-src-all@FreeBSD.ORG Sat Nov 16 09:01:25 2013 Return-Path: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 + * Copyright (c) 2011-2013 Alexander Motin * Copyright (c) 2006-2007 Matthew Jacob * All rights reserved. * @@ -36,6 +36,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 #include -#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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 key. -(Key names are written using less-than and greater-than signs, e.g. - 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 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''. -The command you should enter as soon as you start editing is -``:set verbose showmode''. +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 +.It Aq Cm cursor-arrows The cursor arrow keys should work, too. -.TP -.B /text -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 -Once you've entered input mode using the one of the -.BR \&a , -.BR \&i , -.BR \&O -or -.B \&o +.Bl -tag -width "" +.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 +.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 +.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" -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 -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! +.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] " +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] " +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] " +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] " +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] " +.Pp +.It Xo +.Op Ar count +.Aq Cm control-F +.Xc Page forward -.I count +.Ar count screens. -.TP -.B "" -Display the file information. -.TP -.B "" -.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] " -.TP -.B "[count] " -.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 "" -.TP -.B "" +.Pp +.It Aq Cm control-L +.It Aq Cm control-R Repaint the screen. -.TP -.B "[count] " -.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] " -.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 "" +.Pp +.It Aq Cm control-T Return to the most recent tag context. -.TP -.B "" +.Pp +.It Xo +.Op Ar count +.Aq Cm control-U +.Xc Scroll backwards -.I count +.Ar count lines. -.TP -.B "" -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 "" +If *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Sat Nov 16 19:23:21 2013 Return-Path: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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: 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 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 " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 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*/