From owner-svn-src-head@FreeBSD.ORG Sun Jan 29 00:12:32 2012 Return-Path: Delivered-To: svn-src-head@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6B1EB1065672; Sun, 29 Jan 2012 00:12:32 +0000 (UTC) (envelope-from das@FreeBSD.ORG) Received: from zim.MIT.EDU (ZIM.MIT.EDU [18.95.3.101]) by mx1.freebsd.org (Postfix) with ESMTP id 0A9858FC0C; Sun, 29 Jan 2012 00:12:31 +0000 (UTC) Received: from zim.MIT.EDU (localhost [127.0.0.1]) by zim.MIT.EDU (8.14.5/8.14.2) with ESMTP id q0T0CUWs032449; Sat, 28 Jan 2012 19:12:30 -0500 (EST) (envelope-from das@FreeBSD.ORG) Received: (from das@localhost) by zim.MIT.EDU (8.14.5/8.14.2/Submit) id q0T0CPne032446; Sat, 28 Jan 2012 19:12:25 -0500 (EST) (envelope-from das@FreeBSD.ORG) Date: Sat, 28 Jan 2012 19:12:25 -0500 From: David Schultz To: Kostik Belousov Message-ID: <20120129001225.GA32220@zim.MIT.EDU> Mail-Followup-To: Kostik Belousov , Bruce Evans , Gleb Smirnoff , svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org References: <201201261159.q0QBxma2086162@svn.freebsd.org> <20120126233110.C960@besplex.bde.org> <20120126153641.GA68112@FreeBSD.org> <20120127194612.H1547@besplex.bde.org> <20120127091244.GZ2726@deviant.kiev.zoral.com.ua> <20120127194221.GA25723@zim.MIT.EDU> <20120128123748.GD2726@deviant.kiev.zoral.com.ua> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20120128123748.GD2726@deviant.kiev.zoral.com.ua> Cc: svn-src-head@FreeBSD.ORG, svn-src-all@FreeBSD.ORG, Gleb Smirnoff , src-committers@FreeBSD.ORG, Bruce Evans Subject: Re: svn commit: r230583 - head/sys/kern X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Jan 2012 00:12:32 -0000 On Sat, Jan 28, 2012, Kostik Belousov wrote: > On Fri, Jan 27, 2012 at 02:42:21PM -0500, David Schultz wrote: > > On Fri, Jan 27, 2012, Kostik Belousov wrote: > > > On Fri, Jan 27, 2012 at 07:50:30PM +1100, Bruce Evans wrote: > > > > On Thu, 26 Jan 2012, Gleb Smirnoff wrote: > > > > > > > > >On Thu, Jan 26, 2012 at 11:53:57PM +1100, Bruce Evans wrote: > > > > >B> > @@ -1552,6 +1552,12 @@ aio_aqueue(struct thread *td, struct aio > > > > >B> > return (error); > > > > >B> > } > > > > >B> > > > > > >B> > + /* XXX: aio_nbytes is later casted to signed types. */ > > > > >B> > + if ((int)aiocbe->uaiocb.aio_nbytes < 0) { > > > > >B> > > > > >B> This should avoid implementation-defined behaviour by checking if > > > > >B> > > > > >B> (uncast)aiocbe->uaiocb.aio_nbytes > INT_MAX. > > > > > > > > >Is the attached patch okay? > > > > > > > > Yes. It now matches the style used for read^Wsys_read() and friends. > > > > This used to have to fit the count in "int uio_resid". uio_resid now > > > > has type ssize_t, but for some reason the old INT_MAX limits remain. > > > > > > Well, I can revive the patch. I still think it is good to get rid of > > > the limit. > > > > The correct limit on the maximum size of a single read/write is > > SSIZE_MAX, but FreeBSD uses INT_MAX. It's not safe to raise the > > limit yet, though, because of bugs in several filesystems. For > > example, FFS copies uio_resid into a local variable of type int. > > I have some old patches that fix some of these issues for FFS and > > cd9660, but surely there are more places I didn't notice. > > > Absolutely agree. > > http://people.freebsd.org/~kib/misc/uio_resid.5.patch Nice. You found a lot more than I've got in my tree, and you even fixed the return values. There are at least a few more places to fix. For instance, cd9660 and the NFS client pass uio_resid or iov_len to min(), which operates on ints. (Incidentally, C11 generics ought to make it possible to write type-generic min() and max() functions.) From owner-svn-src-head@FreeBSD.ORG Sun Jan 29 00:19:20 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 730EC1065670; Sun, 29 Jan 2012 00:19:20 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5CFF78FC08; Sun, 29 Jan 2012 00:19:20 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q0T0JKxp006425; Sun, 29 Jan 2012 00:19:20 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q0T0JKqO006423; Sun, 29 Jan 2012 00:19:20 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <201201290019.q0T0JKqO006423@svn.freebsd.org> From: Kip Macy Date: Sun, 29 Jan 2012 00:19:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230689 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Jan 2012 00:19:20 -0000 Author: kmacy Date: Sun Jan 29 00:19:19 2012 New Revision: 230689 URL: http://svn.freebsd.org/changeset/base/230689 Log: always exclude data bufs regardless of debug settings Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c Sun Jan 29 00:00:15 2012 (r230688) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c Sun Jan 29 00:19:19 2012 (r230689) @@ -152,7 +152,7 @@ zio_init(void) (void) sprintf(name, "zio_data_buf_%lu", (ulong_t)size); zio_data_buf_cache[c] = kmem_cache_create(name, size, align, NULL, NULL, NULL, NULL, NULL, - cflags | KMC_NOTOUCH); + cflags | KMC_NOTOUCH | KMC_NODEBUG); } } From owner-svn-src-head@FreeBSD.ORG Sun Jan 29 02:58:30 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C2F80106564A; Sun, 29 Jan 2012 02:58:30 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from vps1.elischer.org (vps1.elischer.org [204.109.63.16]) by mx1.freebsd.org (Postfix) with ESMTP id 5E1918FC15; Sun, 29 Jan 2012 02:58:30 +0000 (UTC) Received: from julian-mac.elischer.org (c-67-180-24-15.hsd1.ca.comcast.net [67.180.24.15]) (authenticated bits=0) by vps1.elischer.org (8.14.4/8.14.4) with ESMTP id q0T2cjt6091949 (version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO); Sat, 28 Jan 2012 18:38:48 -0800 (PST) (envelope-from julian@freebsd.org) Message-ID: <4F24B17E.4050306@freebsd.org> Date: Sat, 28 Jan 2012 18:39:58 -0800 From: Julian Elischer User-Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10.4; en-US; rv:1.9.2.25) Gecko/20111213 Thunderbird/3.1.17 MIME-Version: 1.0 To: Bruce Evans References: <201201272204.q0RM4hRH062478@svn.freebsd.org> <20120128184815.L1114@besplex.bde.org> In-Reply-To: <20120128184815.L1114@besplex.bde.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, Marius Strobl , src-committers@freebsd.org, svn-src-all@freebsd.org Subject: Re: svn commit: r230628 - head/sys/sparc64/include X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Jan 2012 02:58:31 -0000 On 1/28/12 12:23 AM, Bruce Evans wrote: > On Fri, 27 Jan 2012, Marius Strobl wrote: > >> Log: >> Mark cpu_{halt,reset}() as __dead2 as appropriate. >> >> Modified: >> head/sys/sparc64/include/cpu.h >> >> Modified: head/sys/sparc64/include/cpu.h >> ============================================================================== >> >> --- head/sys/sparc64/include/cpu.h Fri Jan 27 21:52:59 2012 >> (r230627) >> +++ head/sys/sparc64/include/cpu.h Fri Jan 27 22:04:43 2012 >> (r230628) >> @@ -53,8 +53,8 @@ extern char btext[]; >> extern char etext[]; >> >> void cheetah_init(u_int cpu_impl); >> -void cpu_halt(void); >> -void cpu_reset(void); >> +void cpu_halt(void) __dead2; >> +void cpu_reset(void) __dead2; >> void fork_trampoline(void); >> void swi_vm(void *v); >> void zeus_init(u_int cpu_impl); > > This reminds me that these functions and many others shouldn't be > in since they necessarily have a MI interface (so > that MI code can call them). A few interfaces in > need to be there so that the can be inlines or macros, but most > don't. Especially these 2. Since they are extremely non-time- > critical and not likely to be magical, they can be implemented as > a wrapper extern function even if the MD code prefers to use an > in inline or macro. Duplicating these 2 in ${N_ARCH} cpu.h files > mainly allows some of the files to forget to declare them as > __dead2. > > I put these in and didn't forget __dead2 for them. > systm.h already has prototypes for 11 functions named cpu_*. These > are unsorted of course. It also has prototypes for a few functions > that are misnamed (without a cpu_ as a prefix, or perhaps without > cpu_ or cpu at all) so that they are naturally unsorted and hard to > find. > > No MD declaration of these 2 in -current except the above has the > __dead2's. IIRC, I noticed that __dead2 was missing for them from > the style bug that code after calls to them has /* NOTREACHED */ > comments (shutdown_halt() still does, except in my version). > __dead2 should have made most of these comments go away 15-20 years > ago. > > A more important "cpu_" function whose comments annoy me is > cpu_throw(). This has always been declared in an MI file > (, which shows that we can't expect all these functions > to be declared in if they are MI). Calls to > cpu_throw() have the unnecessary comments /* doesn't return */ in > 2 places (lint won't understand these, so if you are going to > comment on the obvious then it should be /* NOTREACHED */), and a > bogus "teapot" panic and a /* NOTREACHED */ comment in another > place. The panic is so bogus that gcc removes it (as allowed by > cpu_throw() being declared __dead2). The first 2 places are > sched_throw() in 2 schedulers. This can't return, but isn't > declared as __dead2. The other place is thread_exit(). This is > one of very few extern functions that is declared as __dead2. > > Bruce > Bruce these comments are valid. please make use of your commit bit and make the appropriate changes! From owner-svn-src-head@FreeBSD.ORG Sun Jan 29 06:25:25 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DB681106566C; Sun, 29 Jan 2012 06:25:24 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from mail.zoral.com.ua (mx0.zoral.com.ua [91.193.166.200]) by mx1.freebsd.org (Postfix) with ESMTP id 6A89F8FC16; Sun, 29 Jan 2012 06:25:23 +0000 (UTC) Received: from skuns.kiev.zoral.com.ua (localhost [127.0.0.1]) by mail.zoral.com.ua (8.14.2/8.14.2) with ESMTP id q0T6NRqw069535 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sun, 29 Jan 2012 08:23:27 +0200 (EET) (envelope-from kostikbel@gmail.com) Received: from deviant.kiev.zoral.com.ua (kostik@localhost [127.0.0.1]) by deviant.kiev.zoral.com.ua (8.14.5/8.14.5) with ESMTP id q0T6NRm1085316; Sun, 29 Jan 2012 08:23:27 +0200 (EET) (envelope-from kostikbel@gmail.com) Received: (from kostik@localhost) by deviant.kiev.zoral.com.ua (8.14.5/8.14.5/Submit) id q0T6NRlw085315; Sun, 29 Jan 2012 08:23:27 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: deviant.kiev.zoral.com.ua: kostik set sender to kostikbel@gmail.com using -f Date: Sun, 29 Jan 2012 08:23:27 +0200 From: Kostik Belousov To: Bruce Evans , Gleb Smirnoff , svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Message-ID: <20120129062327.GK2726@deviant.kiev.zoral.com.ua> References: <201201261159.q0QBxma2086162@svn.freebsd.org> <20120126233110.C960@besplex.bde.org> <20120126153641.GA68112@FreeBSD.org> <20120127194612.H1547@besplex.bde.org> <20120127091244.GZ2726@deviant.kiev.zoral.com.ua> <20120127194221.GA25723@zim.MIT.EDU> <20120128123748.GD2726@deviant.kiev.zoral.com.ua> <20120129001225.GA32220@zim.MIT.EDU> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="iTgyUaBDSpHJk5wi" Content-Disposition: inline In-Reply-To: <20120129001225.GA32220@zim.MIT.EDU> User-Agent: Mutt/1.4.2.3i X-Virus-Scanned: clamav-milter 0.95.2 at skuns.kiev.zoral.com.ua X-Virus-Status: Clean X-Spam-Status: No, score=-3.9 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on skuns.kiev.zoral.com.ua Cc: Subject: Re: svn commit: r230583 - head/sys/kern X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Jan 2012 06:25:25 -0000 --iTgyUaBDSpHJk5wi Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sat, Jan 28, 2012 at 07:12:25PM -0500, David Schultz wrote: > On Sat, Jan 28, 2012, Kostik Belousov wrote: > > On Fri, Jan 27, 2012 at 02:42:21PM -0500, David Schultz wrote: > > > On Fri, Jan 27, 2012, Kostik Belousov wrote: > > > > On Fri, Jan 27, 2012 at 07:50:30PM +1100, Bruce Evans wrote: > > > > > On Thu, 26 Jan 2012, Gleb Smirnoff wrote: > > > > >=20 > > > > > >On Thu, Jan 26, 2012 at 11:53:57PM +1100, Bruce Evans wrote: > > > > > >B> > @@ -1552,6 +1552,12 @@ aio_aqueue(struct thread *td, struct= aio > > > > > >B> > return (error); > > > > > >B> > } > > > > > >B> > > > > > > >B> > + /* XXX: aio_nbytes is later casted to signed types. */ > > > > > >B> > + if ((int)aiocbe->uaiocb.aio_nbytes < 0) { > > > > > >B> > > > > > >B> This should avoid implementation-defined behaviour by checkin= g if > > > > > >B> > > > > > >B> (uncast)aiocbe->uaiocb.aio_nbytes > INT_MAX. > > > > >=20 > > > > > >Is the attached patch okay? > > > > >=20 > > > > > Yes. It now matches the style used for read^Wsys_read() and frie= nds. > > > > > This used to have to fit the count in "int uio_resid". uio_resid= now > > > > > has type ssize_t, but for some reason the old INT_MAX limits rema= in. > > > >=20 > > > > Well, I can revive the patch. I still think it is good to get rid of > > > > the limit. > > >=20 > > > The correct limit on the maximum size of a single read/write is > > > SSIZE_MAX, but FreeBSD uses INT_MAX. It's not safe to raise the > > > limit yet, though, because of bugs in several filesystems. For > > > example, FFS copies uio_resid into a local variable of type int. > > > I have some old patches that fix some of these issues for FFS and > > > cd9660, but surely there are more places I didn't notice. > > >=20 > > Absolutely agree. > >=20 > > http://people.freebsd.org/~kib/misc/uio_resid.5.patch >=20 > Nice. You found a lot more than I've got in my tree, and you even > fixed the return values. There are at least a few more places to > fix. For instance, cd9660 and the NFS client pass uio_resid or > iov_len to min(), which operates on ints. (Incidentally, C11 > generics ought to make it possible to write type-generic min() > and max() functions.) Thank you, http://people.freebsd.org/~kib/misc/uio_resid.6.patch changed them to MIN(). --iTgyUaBDSpHJk5wi Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (FreeBSD) iEYEARECAAYFAk8k5d4ACgkQC3+MBN1Mb4jDyQCfbguDD7yOxPRluuotCHbGqgSO lxkAn3g2D/BJcCizsR4MCUfG/dakso3R =ySBS -----END PGP SIGNATURE----- --iTgyUaBDSpHJk5wi-- From owner-svn-src-head@FreeBSD.ORG Sun Jan 29 06:37:42 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx2.freebsd.org (mx2.freebsd.org [IPv6:2001:4f8:fff6::35]) by hub.freebsd.org (Postfix) with ESMTP id 78C4A1065673; Sun, 29 Jan 2012 06:37:42 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from 172-17-150-251.globalsuite.net (hub.freebsd.org [IPv6:2001:4f8:fff6::36]) by mx2.freebsd.org (Postfix) with ESMTP id 2F32A176A99; Sun, 29 Jan 2012 06:37:41 +0000 (UTC) Message-ID: <4F24E934.8020408@FreeBSD.org> Date: Sat, 28 Jan 2012 22:37:40 -0800 From: Doug Barton Organization: http://SupersetSolutions.com/ User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:9.0) Gecko/20120119 Thunderbird/9.0 MIME-Version: 1.0 To: Julian Elischer References: <201201272204.q0RM4hRH062478@svn.freebsd.org> <20120128184815.L1114@besplex.bde.org> <4F24B17E.4050306@freebsd.org> In-Reply-To: <4F24B17E.4050306@freebsd.org> X-Enigmail-Version: 1.3.5 OpenPGP: id=1A1ABC84 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, Marius Strobl , src-committers@freebsd.org, svn-src-all@freebsd.org, Bruce Evans Subject: Re: svn commit: r230628 - head/sys/sparc64/include X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Jan 2012 06:37:42 -0000 On 01/28/2012 18:39, Julian Elischer wrote: > Bruce these comments are valid. > please make use of your commit bit and make the appropriate changes! Completely aside from the pedantic value of having the person who broke it be the one to fix it; this line of reasoning is only going DIScourage people from pointing out problems. Are you sure that's what you want? Doug -- It's always a long day; 86400 doesn't fit into a short. Breadth of IT experience, and depth of knowledge in the DNS. Yours for the right price. :) http://SupersetSolutions.com/ From owner-svn-src-head@FreeBSD.ORG Sun Jan 29 08:33:34 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E5FD9106564A; Sun, 29 Jan 2012 08:33:34 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D4DA68FC12; Sun, 29 Jan 2012 08:33:34 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q0T8XYZN099046; Sun, 29 Jan 2012 08:33:34 GMT (envelope-from hrs@svn.freebsd.org) Received: (from hrs@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q0T8XY7b099044; Sun, 29 Jan 2012 08:33:34 GMT (envelope-from hrs@svn.freebsd.org) Message-Id: <201201290833.q0T8XY7b099044@svn.freebsd.org> From: Hiroki Sato Date: Sun, 29 Jan 2012 08:33:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230726 - head/etc/rc.d X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Jan 2012 08:33:35 -0000 Author: hrs Date: Sun Jan 29 08:33:34 2012 New Revision: 230726 URL: http://svn.freebsd.org/changeset/base/230726 Log: Perform IPv6 DAD only in ifn_start. Modified: head/etc/rc.d/netif Modified: head/etc/rc.d/netif ============================================================================== --- head/etc/rc.d/netif Sun Jan 29 08:03:45 2012 (r230725) +++ head/etc/rc.d/netif Sun Jan 29 08:33:34 2012 (r230726) @@ -138,10 +138,12 @@ network_common() done # inet6 address configuration needs sleep for DAD. - if [ -n "${_dadwait}" ]; then + case ${_func}:${_dadwait} in + ifn_start:1) sleep `${SYSCTL_N} net.inet6.ip6.dad_count` sleep 1 - fi + ;; + esac _str= if [ -n "${_ok}" ]; then From owner-svn-src-head@FreeBSD.ORG Sun Jan 29 09:12:34 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 639E8106564A; Sun, 29 Jan 2012 09:12:34 +0000 (UTC) (envelope-from nyan@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 523048FC12; Sun, 29 Jan 2012 09:12:34 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q0T9CYCH009370; Sun, 29 Jan 2012 09:12:34 GMT (envelope-from nyan@svn.freebsd.org) Received: (from nyan@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q0T9CYVE009368; Sun, 29 Jan 2012 09:12:34 GMT (envelope-from nyan@svn.freebsd.org) Message-Id: <201201290912.q0T9CYVE009368@svn.freebsd.org> From: Takahashi Yoshihiro Date: Sun, 29 Jan 2012 09:12:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230727 - head/sbin/camcontrol X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Jan 2012 09:12:34 -0000 Author: nyan Date: Sun Jan 29 09:12:34 2012 New Revision: 230727 URL: http://svn.freebsd.org/changeset/base/230727 Log: Fix build when RELEASE_CRUNCH is defined. Modified: head/sbin/camcontrol/Makefile Modified: head/sbin/camcontrol/Makefile ============================================================================== --- head/sbin/camcontrol/Makefile Sun Jan 29 08:33:34 2012 (r230726) +++ head/sbin/camcontrol/Makefile Sun Jan 29 09:12:34 2012 (r230727) @@ -1,9 +1,9 @@ # $FreeBSD$ PROG= camcontrol -SRCS= camcontrol.c fwdownload.c util.c +SRCS= camcontrol.c util.c .if !defined(RELEASE_CRUNCH) -SRCS+= modeedit.c +SRCS+= fwdownload.c modeedit.c .else CFLAGS+= -DMINIMALISTIC .endif From owner-svn-src-head@FreeBSD.ORG Sun Jan 29 12:37:38 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BCDE51065672; Sun, 29 Jan 2012 12:37:38 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail01.syd.optusnet.com.au (mail01.syd.optusnet.com.au [211.29.132.182]) by mx1.freebsd.org (Postfix) with ESMTP id 039A18FC13; Sun, 29 Jan 2012 12:37:37 +0000 (UTC) Received: from c211-30-171-136.carlnfd1.nsw.optusnet.com.au (c211-30-171-136.carlnfd1.nsw.optusnet.com.au [211.30.171.136]) by mail01.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id q0TCbUPf031570 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sun, 29 Jan 2012 23:37:33 +1100 Date: Sun, 29 Jan 2012 23:37:30 +1100 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Kostik Belousov In-Reply-To: <20120129062327.GK2726@deviant.kiev.zoral.com.ua> Message-ID: <20120129223232.F925@besplex.bde.org> References: <201201261159.q0QBxma2086162@svn.freebsd.org> <20120126233110.C960@besplex.bde.org> <20120126153641.GA68112@FreeBSD.org> <20120127194612.H1547@besplex.bde.org> <20120127091244.GZ2726@deviant.kiev.zoral.com.ua> <20120127194221.GA25723@zim.MIT.EDU> <20120128123748.GD2726@deviant.kiev.zoral.com.ua> <20120129001225.GA32220@zim.MIT.EDU> <20120129062327.GK2726@deviant.kiev.zoral.com.ua> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, Gleb Smirnoff , src-committers@freebsd.org, Bruce Evans Subject: Re: svn commit: r230583 - head/sys/kern X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Jan 2012 12:37:38 -0000 On Sun, 29 Jan 2012, Kostik Belousov wrote: > On Sat, Jan 28, 2012 at 07:12:25PM -0500, David Schultz wrote: >> On Sat, Jan 28, 2012, Kostik Belousov wrote: >>> On Fri, Jan 27, 2012 at 02:42:21PM -0500, David Schultz wrote: >>>> On Fri, Jan 27, 2012, Kostik Belousov wrote: >>>>> On Fri, Jan 27, 2012 at 07:50:30PM +1100, Bruce Evans wrote: >>>>>> On Thu, 26 Jan 2012, Gleb Smirnoff wrote: >>>>>> >>>>>>> On Thu, Jan 26, 2012 at 11:53:57PM +1100, Bruce Evans wrote: >>>>>>> B> > @@ -1552,6 +1552,12 @@ aio_aqueue(struct thread *td, struct aio >>>>>>> B> > return (error); >>>>>>> B> > } >>>>>>> B> > >>>>>>> B> > + /* XXX: aio_nbytes is later casted to signed types. */ >>>>>>> B> > + if ((int)aiocbe->uaiocb.aio_nbytes < 0) { >>>>>>> B> >>>>>>> B> This should avoid implementation-defined behaviour by checking if >>>>>>> B> >>>>>>> B> (uncast)aiocbe->uaiocb.aio_nbytes > INT_MAX. >>>>>> >>>>>>> Is the attached patch okay? >>>>>> >>>>>> Yes. It now matches the style used for read^Wsys_read() and friends. >>>>>> This used to have to fit the count in "int uio_resid". uio_resid now >>>>>> has type ssize_t, but for some reason the old INT_MAX limits remain. >>>>> >>>>> Well, I can revive the patch. I still think it is good to get rid of >>>>> the limit. >>>> >>>> The correct limit on the maximum size of a single read/write is >>>> SSIZE_MAX, but FreeBSD uses INT_MAX. It's not safe to raise the >>>> limit yet, though, because of bugs in several filesystems. For >>>> example, FFS copies uio_resid into a local variable of type int. >>>> I have some old patches that fix some of these issues for FFS and >>>> cd9660, but surely there are more places I didn't notice. >>>> >>> Absolutely agree. >>> >>> http://people.freebsd.org/~kib/misc/uio_resid.5.patch >> >> Nice. You found a lot more than I've got in my tree, and you even >> fixed the return values. There are at least a few more places to >> fix. For instance, cd9660 and the NFS client pass uio_resid or >> iov_len to min(), which operates on ints. (Incidentally, C11 >> generics ought to make it possible to write type-generic min() >> and max() functions.) So does gnu typeof(), and much more portably in practice (we're still waiting for a C99 compiler). > Thank you, http://people.freebsd.org/~kib/misc/uio_resid.6.patch > changed them to MIN(). Ugh, the existence of MIN() is API breakage (similarly for MAX()): - in FreeBSD-1 (and probably in Net/2), MIN() was min() in the kernel, where min() was an extern function with the same semantics as the current inline min(). This was quite broken, since MIN() is almost type-generic, while min() forces everything to u_int. min() was implemented in kern/subr_xxx.c. FreeBSD-1 (and maybe Net/2) also had imin/max(), lmin/max() and ulmin/max() there. - 4.4BSD completed removing MIN() in the kernel. It was left undefined. This was fragile, and probably still more broken than old code that used MIN(), since the conversions given by prototypes combined with no warnings for dangerous conversions tend to give even more sign extension and overflow bugs that the implicit conversions in MIN(). - MIN() remained intentionally left out in the kernel in FreeBSD-[2-4]. Some contribed code that didn't know the BSD API rolled its own MIN() and used that. There are no less than 38 home made definitions of MIN() in FreeBSD-4 to replace the one that is intentionally left out :-(. Some of these are ifdefed, but since the system doesn't have MIN(), they are always used. - the API was broken in FreeBSD-5 by removing the ifdef that left out MIN(). - even more code that doesn't know the old BSD API now uses MIN(). Now there are only 16 home made definitions of MIN(). Most of these are ifdefed. I have had (but not used) the following fairly type-generic and safe macros for min() since FreeBSD-~2.0: % Index: libkern.h % =================================================================== % RCS file: /home/ncvs/src/sys/sys/libkern.h,v % retrieving revision 1.45 % diff -u -2 -r1.45 libkern.h % --- libkern.h 7 Apr 2004 04:19:49 -0000 1.45 % +++ libkern.h 7 Apr 2004 11:31:02 -0000 % @@ -49,4 +51,74 @@ % #define hex2ascii(hex) (hex2ascii_data[hex]) % % +#if 0 % +#define __max(x, y) \ % +({ \ % + __typeof(x) __x = (x); \ % + __typeof(y) __y = (y); \ % + __x > __y ? __x : __y; \ % +}) % + % +#define __min(x, y) \ % +({ \ % + __typeof(x) __x = (x); \ % + __typeof(y) __y = (y); \ % + __x < __y ? __x : __y; \ % +}) % +#endif Normal use of gnu typeof() to write safe type-generic macros for things like this. This is almost verbatime from gcc.info. % + % +#define __max(x, y) \ % +( \ % + (sizeof(x) == 8 || sizeof(y) == 8) ? \ % + ((__typeof(x))-1 == -1 && (__typeof(y))-1 == -1) ? \ % + _qmax((x), (y)) \ % + : \ % + _uqmax((x), (y)) \ % + : \ % + ((__typeof(x))-1 == -1 && (__typeof(y))-1 == -1) ? \ % + _imax((x), (y)) \ % + : \ % + _max((x), (y)) \ % +) % + % +#define __min(x, y) \ % +( \ % + (sizeof(x) == 8 || sizeof(y) == 8) ? \ % + ((__typeof(x))-1 == -1 && (__typeof(y))-1 == -1) ? \ % + _qmin((x), (y)) \ % + : \ % + _uqmin((x), (y)) \ % + : \ % + ((__typeof(x))-1 == -1 && (__typeof(y))-1 == -1) ? \ % + _imin((x), (y)) \ % + : \ % + _min((x), (y)) \ % +) Since I didn't want to use gccisms back in FreeBSD-~2.0 before use of gccisms became ubiquitous, I tried to use typeof() just to select the correct inline function like the programmer should. Errors were then detected by the above picking a different one than the one used causing the object file to change (if I was lucky, the object file didn't change due to just the extra complexity in the above). I committed a few fixes for type errors found by this. % + % +#ifdef MACRO_MAX % +static __inline int _imax(int a, int b) { return (a > b ? a : b); } % +static __inline int _imin(int a, int b) { return (a < b ? a : b); } % +static __inline long lmax(long a, long b) { return (a > b ? a : b); } % +static __inline long lmin(long a, long b) { return (a < b ? a : b); } % +static __inline u_int _max(u_int a, u_int b) { return (a > b ? a : b); } % +static __inline u_int _min(u_int a, u_int b) { return (a < b ? a : b); } % +static __inline quad_t _qmax(quad_t a, quad_t b) { return (a > b ? a : b); } % +static __inline quad_t _qmin(quad_t a, quad_t b) { return (a < b ? a : b); } % +static __inline u_long ulmax(u_long a, u_long b) { return (a > b ? a : b); } % +static __inline u_long ulmin(u_long a, u_long b) { return (a < b ? a : b); } % +static __inline u_quad_t _uqmax(u_quad_t a, u_quad_t b) { return (a > b ? a : b); } % +static __inline u_quad_t _uqmin(u_quad_t a, u_quad_t b) { return (a < b ? a : b); } Rename the inlines so that the top level API can use either them or the ones that do the selection. % + % +#define imax(a, b) __max((a), (b)) % +#define imin(a, b) __min((a), (b)) % +#define lmax(a, b) __max((a), (b)) % +#define lmin(a, b) __min((a), (b)) % +#define max(a, b) __max((a), (b)) % +#define min(a, b) __min((a), (b)) % +#define qmax(a, b) __max((a), (b)) % +#define qmin(a, b) __min((a), (b)) % +#define ulmax(a, b) __max((a), (b)) % +#define ulmin(a, b) __min((a), (b)) % +#else But normally, don't use any of the above additions. % +#ifdef __GNUC__ % static __inline int imax(int a, int b) { return (a > b ? a : b); } % static __inline int imin(int a, int b) { return (a < b ? a : b); } % @@ -63,4 +135,6 @@ % static __inline long labs(long a) { return (a < 0 ? -a : a); } % static __inline quad_t qabs(quad_t a) { return (a < 0 ? -a : a); } % +#endif % +#endif % % /* Prototypes for non-quad routines. */ What should happen is that everyone should use a type-generic safe macro named min() and not provide home made versions of it or MIN(), but the namespace has been horribly messed up by using min() for the u_int function. MIN() is not so broken, but since its name says that it is unsafe, careful users of it should be adding extra code in some cases to avoid multiple evaluations of its args, either for correctness or efficiency. I haven't noticed any problems from multiple evaluations for MIN(), but I noticed one for an mtx macro (most mtx APIs are macros, and are unsafe despite their name, and despite them copying a parameter to a local variable in a few places. Since they mostly return void, they can use the do-while hack to get a block with local variables, and don't require the extra unportability given by the gcc statement-expressions used in the above). Bruce From owner-svn-src-head@FreeBSD.ORG Sun Jan 29 12:57:42 2012 Return-Path: Delivered-To: svn-src-head@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9ADCE1065676; Sun, 29 Jan 2012 12:57:42 +0000 (UTC) (envelope-from ache@vniz.net) Received: from vniz.net (vniz.net [194.87.13.69]) by mx1.freebsd.org (Postfix) with ESMTP id EC48D8FC18; Sun, 29 Jan 2012 12:57:41 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by vniz.net (8.14.5/8.14.5) with ESMTP id q0TCvdpp026649; Sun, 29 Jan 2012 16:57:39 +0400 (MSK) (envelope-from ache@vniz.net) Received: (from ache@localhost) by localhost (8.14.5/8.14.5/Submit) id q0TCvdVI026648; Sun, 29 Jan 2012 16:57:39 +0400 (MSK) (envelope-from ache) Date: Sun, 29 Jan 2012 16:57:38 +0400 From: Andrey Chernov To: David Schultz , John Baldwin , Mark Murray , src-committers@FreeBSD.ORG, svn-src-all@FreeBSD.ORG, svn-src-head@FreeBSD.ORG Message-ID: <20120129125738.GA26520@vniz.net> Mail-Followup-To: Andrey Chernov , David Schultz , John Baldwin , Mark Murray , src-committers@FreeBSD.ORG, svn-src-all@FreeBSD.ORG, svn-src-head@FreeBSD.ORG References: <20120126143819.GA88677@vniz.net> <20120126155626.GA92229@vniz.net> <201201261132.38320.jhb@freebsd.org> <20120126165521.GA92622@vniz.net> <20120126175243.GA19199@zim.MIT.EDU> <20120126181340.GA93157@vniz.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: <20120126181340.GA93157@vniz.net> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: Subject: Re: svn commit: r230230 - head/sys/dev/random X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Jan 2012 12:57:42 -0000 On Thu, Jan 26, 2012 at 10:13:41PM +0400, Andrey Chernov wrote: > On Thu, Jan 26, 2012 at 12:52:43PM -0500, David Schultz wrote: > > Why complicate things with atomics at all? A race might result in > > arc4random(9) being seeded multiple times, but that's harmless. >=20 > Multiply seeding in line is harmless, just waste of time and resources. > Other case is one missing seeding when variable is set concurrently with > its read. I see no complication using atomic. Latest version is even=20 > shorter than previous ones. Well, I almost forget about my special case: I have personal prohibition=20 =66rom @secteam (5 years old already) to commit anything to all RNG areas. So, the question is: could anyone of you commit some version from this=20 thread, please?=20 I don't insist of atomics in this sutuation, so you can peek any version=20 you like. --=20 http://ache.vniz.net/ From owner-svn-src-head@FreeBSD.ORG Sun Jan 29 14:52:42 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 97745106566C; Sun, 29 Jan 2012 14:52:42 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 863C78FC0C; Sun, 29 Jan 2012 14:52:42 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q0TEqg7h040267; Sun, 29 Jan 2012 14:52:42 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q0TEqgBT040265; Sun, 29 Jan 2012 14:52:42 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201201291452.q0TEqgBT040265@svn.freebsd.org> From: Eitan Adler Date: Sun, 29 Jan 2012 14:52:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230742 - head/sys/dev/e1000 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Jan 2012 14:52:42 -0000 Author: eadler Date: Sun Jan 29 14:52:42 2012 New Revision: 230742 URL: http://svn.freebsd.org/changeset/base/230742 Log: GS105v3 exhibit the same behavior PR: docs/135999 Submitted by: Boris Kochergin No objection from: jfv Approved by: cperciva MFC after: 3 days Modified: head/sys/dev/e1000/README Modified: head/sys/dev/e1000/README ============================================================================== --- head/sys/dev/e1000/README Sun Jan 29 12:58:07 2012 (r230741) +++ head/sys/dev/e1000/README Sun Jan 29 14:52:42 2012 (r230742) @@ -354,6 +354,7 @@ Known Limitations include: Planex FXG-08TE I-O Data ETG-SH8 + Netgear GS105v3 The driver can be compiled with the following changes: From owner-svn-src-head@FreeBSD.ORG Sun Jan 29 15:41:26 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 23E0B106566B; Sun, 29 Jan 2012 15:41:26 +0000 (UTC) (envelope-from marius@alchemy.franken.de) Received: from alchemy.franken.de (alchemy.franken.de [194.94.249.214]) by mx1.freebsd.org (Postfix) with ESMTP id 958938FC0A; Sun, 29 Jan 2012 15:41:25 +0000 (UTC) Received: from alchemy.franken.de (localhost [127.0.0.1]) by alchemy.franken.de (8.14.4/8.14.4/ALCHEMY.FRANKEN.DE) with ESMTP id q0TFfOpt044454; Sun, 29 Jan 2012 16:41:24 +0100 (CET) (envelope-from marius@alchemy.franken.de) Received: (from marius@localhost) by alchemy.franken.de (8.14.4/8.14.4/Submit) id q0TFfOrW044453; Sun, 29 Jan 2012 16:41:24 +0100 (CET) (envelope-from marius) Date: Sun, 29 Jan 2012 16:41:24 +0100 From: Marius Strobl To: John Baldwin Message-ID: <20120129154124.GB18227@alchemy.franken.de> References: <200906091426.n59EQNRC074046@svn.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200906091426.n59EQNRC074046@svn.freebsd.org> User-Agent: Mutt/1.4.2.3i Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r193833 - in head: share/man/man9 sys/kern sys/sys X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Jan 2012 15:41:26 -0000 On Tue, Jun 09, 2009 at 02:26:23PM +0000, John Baldwin wrote: > Author: jhb > Date: Tue Jun 9 14:26:23 2009 > New Revision: 193833 > URL: http://svn.freebsd.org/changeset/base/193833 > > Log: > Add support for multiple passes of the device tree during the boot-time > probe. The current device order is unchanged. This commit just adds the > infrastructure and ABI changes so that it is easier to merge later changes > into 8.x. > - Driver attachments now have an associated pass level. Attachments are > not allowed to probe or attach to drivers until the system-wide pass level > is >= the attachment's pass level. By default driver attachments use the > "last" pass level (BUS_PASS_DEFAULT). Driver's that wish to probe during > an earlier pass use EARLY_DRIVER_MODULE() instead of DRIVER_MODULE() which > accepts the pass level as an additional parameter. > - A new method BUS_NEW_PASS has been added to the bus interface. This > method is invoked when the system-wide pass level is changed to kick off > a rescan of the device tree so that drivers that have just been made > "eligible" can probe and attach. > - The bus_generic_new_pass() function provides a default implementation of > BUS_NEW_PASS(). It first allows drivers that were just made eligible for > this pass to identify new child devices. Then it propogates the rescan to > child devices that already have an attached driver by invoking their > BUS_NEW_PASS() method. It also reprobes devices without a driver. > - BUS_PROBE_NOMATCH() is only invoked for devices that do not have > an attached driver after being scanned during the final pass. > - The bus_set_pass() function is used during boot to raise the pass level. > Currently it is only called once during root_bus_configure() to raise > the pass level to BUS_PASS_DEFAULT. This has the effect of probing all > devices in a single pass identical to previous behavior. > > Reviewed by: imp > Approved by: re (kib) > What would be necessary to finally enable support for multi-pass probing apart from the drivers also needing to set BUS_PASS_n if they want to take part earlier than BUS_PASS_DEFAULT)? My understanding is that this is should be as simple as changing root_bus_configure() to return BUS_PASS_ROOT instead of BUS_PASS_DEFAULT but the comment above that line actually talks about splitting the return value (?) up somehow ... Marius From owner-svn-src-head@FreeBSD.ORG Sun Jan 29 19:35:40 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D23761065672; Sun, 29 Jan 2012 19:35:40 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id BD2EC8FC17; Sun, 29 Jan 2012 19:35:40 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q0TJZets049676; Sun, 29 Jan 2012 19:35:40 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q0TJZeZ9049674; Sun, 29 Jan 2012 19:35:40 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201201291935.q0TJZeZ9049674@svn.freebsd.org> From: Adrian Chadd Date: Sun, 29 Jan 2012 19:35:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230752 - head/sys/net80211 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Jan 2012 19:35:40 -0000 Author: adrian Date: Sun Jan 29 19:35:40 2012 New Revision: 230752 URL: http://svn.freebsd.org/changeset/base/230752 Log: Missing code for receiving MESH PREP that should be part of r230409. Submitted by: Modified: head/sys/net80211/ieee80211_hwmp.c Modified: head/sys/net80211/ieee80211_hwmp.c ============================================================================== --- head/sys/net80211/ieee80211_hwmp.c Sun Jan 29 18:54:25 2012 (r230751) +++ head/sys/net80211/ieee80211_hwmp.c Sun Jan 29 19:35:40 2012 (r230752) @@ -1044,12 +1044,21 @@ hwmp_recv_prep(struct ieee80211vap *vap, * Sequence number validation. */ hr = IEEE80211_MESH_ROUTE_PRIV(rt, struct ieee80211_hwmp_route); - if (HWMP_SEQ_LEQ(prep->prep_targetseq, hr->hr_seq)) { - IEEE80211_NOTE(vap, IEEE80211_MSG_HWMP, ni, - "discard PREP from %6D, old seq no %u <= %u", - prep->prep_targetaddr, ":", - prep->prep_targetseq, hr->hr_seq); - return; + if ((rt->rt_flags & IEEE80211_MESHRT_FLAGS_VALID)) { + if (HWMP_SEQ_LT(prep->prep_targetseq, hr->hr_seq)) { + IEEE80211_NOTE(vap, IEEE80211_MSG_HWMP, ni, + "discard PREP from %6D, old seq no %u < %u", + prep->prep_targetaddr, ":", + prep->prep_targetseq, hr->hr_seq); + return; + } else if (HWMP_SEQ_LEQ(prep->prep_targetseq, hr->hr_seq) && + prep->prep_metric > rt->rt_metric) { + IEEE80211_NOTE(vap, IEEE80211_MSG_HWMP, ni, + "discard PREP from %6D, new metric %u > %u", + prep->prep_targetaddr, ":", + prep->prep_metric, rt->rt_metric); + return; + } } hr->hr_seq = prep->prep_targetseq; From owner-svn-src-head@FreeBSD.ORG Sun Jan 29 20:39:43 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5771B1065675; Sun, 29 Jan 2012 20:39:43 +0000 (UTC) (envelope-from trociny@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 41CBA8FC0A; Sun, 29 Jan 2012 20:39:43 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q0TKdhOm051695; Sun, 29 Jan 2012 20:39:43 GMT (envelope-from trociny@svn.freebsd.org) Received: (from trociny@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q0TKdhA7051693; Sun, 29 Jan 2012 20:39:43 GMT (envelope-from trociny@svn.freebsd.org) Message-Id: <201201292039.q0TKdhA7051693@svn.freebsd.org> From: Mikolaj Golub Date: Sun, 29 Jan 2012 20:39:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230753 - head/usr.bin/procstat X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Jan 2012 20:39:43 -0000 Author: trociny Date: Sun Jan 29 20:39:42 2012 New Revision: 230753 URL: http://svn.freebsd.org/changeset/base/230753 Log: Always return 0 if the sysctl failed. This fixes the bug: when procstat -xa was run and the sysctl for a process returned ESRCH or EPERM, for this process procstat output the result collected for the previous successful process. Modified: head/usr.bin/procstat/procstat_auxv.c Modified: head/usr.bin/procstat/procstat_auxv.c ============================================================================== --- head/usr.bin/procstat/procstat_auxv.c Sun Jan 29 19:35:40 2012 (r230752) +++ head/usr.bin/procstat/procstat_auxv.c Sun Jan 29 20:39:42 2012 (r230753) @@ -81,7 +81,7 @@ is_elf32(pid_t pid) static size_t retrieve_auxv32(pid_t pid) { - int error, name[4]; + int name[4]; size_t len, i; void *ptr; @@ -90,9 +90,9 @@ retrieve_auxv32(pid_t pid) name[2] = KERN_PROC_AUXV; name[3] = pid; len = sizeof(auxv32); - error = sysctl(name, 4, auxv32, &len, NULL, 0); - if (error < 0 && errno != ESRCH && errno != EPERM) { - warn("sysctl: kern.proc.auxv: %d: %d", pid, errno); + if (sysctl(name, 4, auxv32, &len, NULL, 0) == -1) { + if (errno != ESRCH && errno != EPERM) + warn("sysctl: kern.proc.auxv: %d: %d", pid, errno); return (0); } for (i = 0; i < len; i++) { @@ -117,7 +117,7 @@ retrieve_auxv32(pid_t pid) static size_t retrieve_auxv(pid_t pid) { - int error, name[4]; + int name[4]; size_t len; #if __ELF_WORD_SIZE == 64 @@ -129,9 +129,9 @@ retrieve_auxv(pid_t pid) name[2] = KERN_PROC_AUXV; name[3] = pid; len = sizeof(auxv); - error = sysctl(name, 4, auxv, &len, NULL, 0); - if (error < 0 && errno != ESRCH && errno != EPERM) { - warn("sysctl: kern.proc.auxv: %d: %d", pid, errno); + if (sysctl(name, 4, auxv, &len, NULL, 0) == -1) { + if (errno != ESRCH && errno != EPERM) + warn("sysctl: kern.proc.auxv: %d: %d", pid, errno); return (0); } return (len); From owner-svn-src-head@FreeBSD.ORG Sun Jan 29 22:20:29 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 09399106564A; Sun, 29 Jan 2012 22:20:29 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E86958FC12; Sun, 29 Jan 2012 22:20:28 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q0TMKSnQ055332; Sun, 29 Jan 2012 22:20:28 GMT (envelope-from mm@svn.freebsd.org) Received: (from mm@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q0TMKSXR055330; Sun, 29 Jan 2012 22:20:28 GMT (envelope-from mm@svn.freebsd.org) Message-Id: <201201292220.q0TMKSXR055330@svn.freebsd.org> From: Martin Matuska Date: Sun, 29 Jan 2012 22:20:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230759 - head/contrib/libarchive/libarchive X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Jan 2012 22:20:29 -0000 Author: mm Date: Sun Jan 29 22:20:28 2012 New Revision: 230759 URL: http://svn.freebsd.org/changeset/base/230759 Log: Uupdate code to vendor rev. 4183 (release/2.8) Fixes vendor issue 224: "Mishandling CD9660 images with RockRidge extensions from FreeBSD makefs" References: http://code.google.com/p/libarchive/issues/detail?id=224 MFC after: 1 week Modified: head/contrib/libarchive/libarchive/archive_read_support_format_iso9660.c Directory Properties: head/contrib/libarchive/ (props changed) head/contrib/libarchive/libarchive/ (props changed) Modified: head/contrib/libarchive/libarchive/archive_read_support_format_iso9660.c ============================================================================== --- head/contrib/libarchive/libarchive/archive_read_support_format_iso9660.c Sun Jan 29 22:12:48 2012 (r230758) +++ head/contrib/libarchive/libarchive/archive_read_support_format_iso9660.c Sun Jan 29 22:20:28 2012 (r230759) @@ -1778,6 +1778,19 @@ parse_file_info(struct archive_read *a, free(file); return (NULL); } + /* + * A file size of symbolic link files in ISO images + * made by makefs is not zero and its location is + * the same as those of next regular file. That is + * the same as hard like file and it causes unexpected + * error. + */ + if (file->size > 0 && + (file->mode & AE_IFMT) == AE_IFLNK) { + file->size = 0; + file->number = -1; + file->offset = -1; + } } else /* If there isn't SUSP, disable parsing * rock ridge extensions. */ From owner-svn-src-head@FreeBSD.ORG Sun Jan 29 22:39:06 2012 Return-Path: Delivered-To: svn-src-head@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4B1F21065672; Sun, 29 Jan 2012 22:39:06 +0000 (UTC) (envelope-from das@FreeBSD.ORG) Received: from zim.MIT.EDU (ZIM.MIT.EDU [18.95.3.101]) by mx1.freebsd.org (Postfix) with ESMTP id EBF2A8FC13; Sun, 29 Jan 2012 22:39:05 +0000 (UTC) Received: from zim.MIT.EDU (localhost [127.0.0.1]) by zim.MIT.EDU (8.14.5/8.14.2) with ESMTP id q0TMd5d6038689; Sun, 29 Jan 2012 17:39:05 -0500 (EST) (envelope-from das@FreeBSD.ORG) Received: (from das@localhost) by zim.MIT.EDU (8.14.5/8.14.2/Submit) id q0TMd4NT038688; Sun, 29 Jan 2012 17:39:04 -0500 (EST) (envelope-from das@FreeBSD.ORG) Date: Sun, 29 Jan 2012 17:39:04 -0500 From: David Schultz To: Kostik Belousov Message-ID: <20120129223904.GA37483@zim.MIT.EDU> Mail-Followup-To: Kostik Belousov , Bruce Evans , Gleb Smirnoff , svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org References: <201201261159.q0QBxma2086162@svn.freebsd.org> <20120126233110.C960@besplex.bde.org> <20120126153641.GA68112@FreeBSD.org> <20120127194612.H1547@besplex.bde.org> <20120127091244.GZ2726@deviant.kiev.zoral.com.ua> <20120127194221.GA25723@zim.MIT.EDU> <20120128123748.GD2726@deviant.kiev.zoral.com.ua> <20120129001225.GA32220@zim.MIT.EDU> <20120129062327.GK2726@deviant.kiev.zoral.com.ua> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20120129062327.GK2726@deviant.kiev.zoral.com.ua> Cc: svn-src-head@FreeBSD.ORG, svn-src-all@FreeBSD.ORG, Gleb Smirnoff , src-committers@FreeBSD.ORG, Bruce Evans Subject: Re: svn commit: r230583 - head/sys/kern X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Jan 2012 22:39:06 -0000 On Sun, Jan 29, 2012, Kostik Belousov wrote: > On Sat, Jan 28, 2012 at 07:12:25PM -0500, David Schultz wrote: > > On Sat, Jan 28, 2012, Kostik Belousov wrote: > > > On Fri, Jan 27, 2012 at 02:42:21PM -0500, David Schultz wrote: > > > > On Fri, Jan 27, 2012, Kostik Belousov wrote: > > > > > On Fri, Jan 27, 2012 at 07:50:30PM +1100, Bruce Evans wrote: > > > > > > On Thu, 26 Jan 2012, Gleb Smirnoff wrote: > > > > > > > > > > > > >On Thu, Jan 26, 2012 at 11:53:57PM +1100, Bruce Evans wrote: > > > > > > >B> > @@ -1552,6 +1552,12 @@ aio_aqueue(struct thread *td, struct aio > > > > > > >B> > return (error); > > > > > > >B> > } > > > > > > >B> > > > > > > > >B> > + /* XXX: aio_nbytes is later casted to signed types. */ > > > > > > >B> > + if ((int)aiocbe->uaiocb.aio_nbytes < 0) { > > > > > > >B> > > > > > > >B> This should avoid implementation-defined behaviour by checking if > > > > > > >B> > > > > > > >B> (uncast)aiocbe->uaiocb.aio_nbytes > INT_MAX. > > > > > > > > > > > > >Is the attached patch okay? > > > > > > > > > > > > Yes. It now matches the style used for read^Wsys_read() and friends. > > > > > > This used to have to fit the count in "int uio_resid". uio_resid now > > > > > > has type ssize_t, but for some reason the old INT_MAX limits remain. > > > > > > > > > > Well, I can revive the patch. I still think it is good to get rid of > > > > > the limit. > > > > > > > > The correct limit on the maximum size of a single read/write is > > > > SSIZE_MAX, but FreeBSD uses INT_MAX. It's not safe to raise the > > > > limit yet, though, because of bugs in several filesystems. For > > > > example, FFS copies uio_resid into a local variable of type int. > > > > I have some old patches that fix some of these issues for FFS and > > > > cd9660, but surely there are more places I didn't notice. > > > > > > > Absolutely agree. > > > > > > http://people.freebsd.org/~kib/misc/uio_resid.5.patch > > > > Nice. You found a lot more than I've got in my tree, and you even > > fixed the return values. There are at least a few more places to > > fix. For instance, cd9660 and the NFS client pass uio_resid or > > iov_len to min(), which operates on ints. (Incidentally, C11 > > generics ought to make it possible to write type-generic min() > > and max() functions.) > > Thank you, http://people.freebsd.org/~kib/misc/uio_resid.6.patch > changed them to MIN(). This looks good to me. I tried to think of other places that you might have missed, and the only one that occurred to me is the pipe code. sys_pipe.c has an `int orig_resid' and lots of bogus casts of iov_len and uio_resid to type u_int. Some look harmless, although it appears that writing a multiple of 2^32 bytes might result in pipe_build_write_buffer() allocating a 0-length buffer. My only reservation is that raising the limit could unmask a kernel buffer overflow if we missed something, but I guess we have to cross that bridge some day anyway. From owner-svn-src-head@FreeBSD.ORG Sun Jan 29 22:43:32 2012 Return-Path: Delivered-To: svn-src-head@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EA2D9106566C; Sun, 29 Jan 2012 22:43:32 +0000 (UTC) (envelope-from das@FreeBSD.ORG) Received: from zim.MIT.EDU (ZIM.MIT.EDU [18.95.3.101]) by mx1.freebsd.org (Postfix) with ESMTP id 889A78FC13; Sun, 29 Jan 2012 22:43:32 +0000 (UTC) Received: from zim.MIT.EDU (localhost [127.0.0.1]) by zim.MIT.EDU (8.14.5/8.14.2) with ESMTP id q0TMhVMH038755; Sun, 29 Jan 2012 17:43:31 -0500 (EST) (envelope-from das@FreeBSD.ORG) Received: (from das@localhost) by zim.MIT.EDU (8.14.5/8.14.2/Submit) id q0TMhV8D038754; Sun, 29 Jan 2012 17:43:31 -0500 (EST) (envelope-from das@FreeBSD.ORG) Date: Sun, 29 Jan 2012 17:43:31 -0500 From: David Schultz To: David Chisnall , src-committers@FreeBSD.ORG, svn-src-all@FreeBSD.ORG, svn-src-head@FreeBSD.ORG Message-ID: <20120129224331.GA38740@zim.MIT.EDU> Mail-Followup-To: David Chisnall , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201111201445.pAKEjgNR096676@svn.freebsd.org> <20120118190714.GA13375@zim.MIT.EDU> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20120118190714.GA13375@zim.MIT.EDU> Cc: Subject: Re: svn commit: r227753 - in head: contrib/gdtoa include lib/libc/gdtoa lib/libc/gen lib/libc/locale lib/libc/regex lib/libc/stdio lib/libc/stdlib lib/libc/stdtime lib/libc/string X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Jan 2012 22:43:33 -0000 On Wed, Jan 18, 2012, David Schultz wrote: > On Sun, Nov 20, 2011, David Chisnall wrote: > > Author: theraven > > Date: Sun Nov 20 14:45:42 2011 > > New Revision: 227753 > > URL: http://svn.freebsd.org/changeset/base/227753 > > > > Log: > > Implement xlocale APIs from Darwin, mainly for use by libc++. This adds a > > load of _l suffixed versions of various standard library functions that use > > the global locale, making them take an explicit locale parameter. Also > > adds support for per-thread locales. This work was funded by the FreeBSD > > Foundation. > > > > Please test any code you have that uses the C standard locale functions! > > > > Reviewed by: das (gdtoa changes) > > Approved by: dim (mentor) > > This patch appears to cause a large performance regression. For > example, I measured a 78% slowdown for strtol(" 42", ...). > Furthermore, the resulting static binary for a trivial program > goes from 7k to 303k, due to pulling in malloc, stdio, and all the > pthread stubs. Presumably the capabilities of the non-xlocale > entry points aren't appreciably changed, so there ought to be a > way to avoid the overhead for them. Do you have any thoughts on this? > > Some more minor issues... > > It's also customary to document public APIs so that, for > instance, `man printf_l' pulls up a page with the prototype, > required #includes, and behavior. Aliasing manpages with > MLINKS as appropriate is fine; for instance, Darwin's manpages > on these functions look like a good example to follow. > > Finally, I'm not usually one to be picky about style, but could > you make a pass to clean things up a little bit to match the > surrounding code, wrap multiline comments to 80 columns, etc? > You've also added new copyright notices for one-line changes > (e.g., stdio/vdprintf.c, gdtoa/machdep_ldis?.c) and multiple > copyright notices in the same file (locale/collate.c), which > could be cleaned up concurrently. Any plans to look into this? From owner-svn-src-head@FreeBSD.ORG Mon Jan 30 06:30:40 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C43B7106566B; Mon, 30 Jan 2012 06:30:40 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from mail.zoral.com.ua (mx0.zoral.com.ua [91.193.166.200]) by mx1.freebsd.org (Postfix) with ESMTP id 542058FC0A; Mon, 30 Jan 2012 06:30:39 +0000 (UTC) Received: from skuns.kiev.zoral.com.ua (localhost [127.0.0.1]) by mail.zoral.com.ua (8.14.2/8.14.2) with ESMTP id q0U6UYha032389 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 30 Jan 2012 08:30:34 +0200 (EET) (envelope-from kostikbel@gmail.com) Received: from deviant.kiev.zoral.com.ua (kostik@localhost [127.0.0.1]) by deviant.kiev.zoral.com.ua (8.14.5/8.14.5) with ESMTP id q0U6UYxg092198; Mon, 30 Jan 2012 08:30:34 +0200 (EET) (envelope-from kostikbel@gmail.com) Received: (from kostik@localhost) by deviant.kiev.zoral.com.ua (8.14.5/8.14.5/Submit) id q0U6UYdd092197; Mon, 30 Jan 2012 08:30:34 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: deviant.kiev.zoral.com.ua: kostik set sender to kostikbel@gmail.com using -f Date: Mon, 30 Jan 2012 08:30:34 +0200 From: Kostik Belousov To: Bruce Evans , Gleb Smirnoff , svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Message-ID: <20120130063034.GU2726@deviant.kiev.zoral.com.ua> References: <201201261159.q0QBxma2086162@svn.freebsd.org> <20120126233110.C960@besplex.bde.org> <20120126153641.GA68112@FreeBSD.org> <20120127194612.H1547@besplex.bde.org> <20120127091244.GZ2726@deviant.kiev.zoral.com.ua> <20120127194221.GA25723@zim.MIT.EDU> <20120128123748.GD2726@deviant.kiev.zoral.com.ua> <20120129001225.GA32220@zim.MIT.EDU> <20120129062327.GK2726@deviant.kiev.zoral.com.ua> <20120129223904.GA37483@zim.MIT.EDU> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="kf/S9EuyQTNnOWN+" Content-Disposition: inline In-Reply-To: <20120129223904.GA37483@zim.MIT.EDU> User-Agent: Mutt/1.4.2.3i X-Virus-Scanned: clamav-milter 0.95.2 at skuns.kiev.zoral.com.ua X-Virus-Status: Clean X-Spam-Status: No, score=-3.9 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on skuns.kiev.zoral.com.ua Cc: Subject: Re: svn commit: r230583 - head/sys/kern X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jan 2012 06:30:40 -0000 --kf/S9EuyQTNnOWN+ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sun, Jan 29, 2012 at 05:39:04PM -0500, David Schultz wrote: > On Sun, Jan 29, 2012, Kostik Belousov wrote: > > On Sat, Jan 28, 2012 at 07:12:25PM -0500, David Schultz wrote: > > > On Sat, Jan 28, 2012, Kostik Belousov wrote: > > > > On Fri, Jan 27, 2012 at 02:42:21PM -0500, David Schultz wrote: > > > > > On Fri, Jan 27, 2012, Kostik Belousov wrote: > > > > > > On Fri, Jan 27, 2012 at 07:50:30PM +1100, Bruce Evans wrote: > > > > > > > On Thu, 26 Jan 2012, Gleb Smirnoff wrote: > > > > > > >=20 > > > > > > > >On Thu, Jan 26, 2012 at 11:53:57PM +1100, Bruce Evans wrote: > > > > > > > >B> > @@ -1552,6 +1552,12 @@ aio_aqueue(struct thread *td, st= ruct aio > > > > > > > >B> > return (error); > > > > > > > >B> > } > > > > > > > >B> > > > > > > > > >B> > + /* XXX: aio_nbytes is later casted to signed types. */ > > > > > > > >B> > + if ((int)aiocbe->uaiocb.aio_nbytes < 0) { > > > > > > > >B> > > > > > > > >B> This should avoid implementation-defined behaviour by che= cking if > > > > > > > >B> > > > > > > > >B> (uncast)aiocbe->uaiocb.aio_nbytes > INT_MAX. > > > > > > >=20 > > > > > > > >Is the attached patch okay? > > > > > > >=20 > > > > > > > Yes. It now matches the style used for read^Wsys_read() and = friends. > > > > > > > This used to have to fit the count in "int uio_resid". uio_r= esid now > > > > > > > has type ssize_t, but for some reason the old INT_MAX limits = remain. > > > > > >=20 > > > > > > Well, I can revive the patch. I still think it is good to get r= id of > > > > > > the limit. > > > > >=20 > > > > > The correct limit on the maximum size of a single read/write is > > > > > SSIZE_MAX, but FreeBSD uses INT_MAX. It's not safe to raise the > > > > > limit yet, though, because of bugs in several filesystems. For > > > > > example, FFS copies uio_resid into a local variable of type int. > > > > > I have some old patches that fix some of these issues for FFS and > > > > > cd9660, but surely there are more places I didn't notice. > > > > >=20 > > > > Absolutely agree. > > > >=20 > > > > http://people.freebsd.org/~kib/misc/uio_resid.5.patch > > >=20 > > > Nice. You found a lot more than I've got in my tree, and you even > > > fixed the return values. There are at least a few more places to > > > fix. For instance, cd9660 and the NFS client pass uio_resid or > > > iov_len to min(), which operates on ints. (Incidentally, C11 > > > generics ought to make it possible to write type-generic min() > > > and max() functions.) > >=20 > > Thank you, http://people.freebsd.org/~kib/misc/uio_resid.6.patch > > changed them to MIN(). >=20 > This looks good to me. I tried to think of other places that you > might have missed, and the only one that occurred to me is the Might ? I think this is a blatant understate. > pipe code. sys_pipe.c has an `int orig_resid' and lots of bogus > casts of iov_len and uio_resid to type u_int. Some look harmless, > although it appears that writing a multiple of 2^32 bytes might > result in pipe_build_write_buffer() allocating a 0-length buffer. >=20 > My only reservation is that raising the limit could unmask a > kernel buffer overflow if we missed something, but I guess we have > to cross that bridge some day anyway. Yes, and it is an obvious reason why I am chicken to commit this for so long time. One more place, if this is reasonable to count as 'one' place, are the cdevsw methods. devfs passes uio down to the drivers. http://people.freebsd.org/~kib/misc/uio_resid.7.patch contains the sys_pipe.c changes. --kf/S9EuyQTNnOWN+ Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (FreeBSD) iEYEARECAAYFAk8mOQkACgkQC3+MBN1Mb4gyFACgwmM0edJpdiHSX0AkjYDFe/s4 MPkAn2qkORTyGrHonghDapF4hYmHfcKx =YclY -----END PGP SIGNATURE----- --kf/S9EuyQTNnOWN+-- From owner-svn-src-head@FreeBSD.ORG Mon Jan 30 07:51:52 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 84C0A106564A; Mon, 30 Jan 2012 07:51:52 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7334C8FC15; Mon, 30 Jan 2012 07:51:52 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q0U7pqwQ073693; Mon, 30 Jan 2012 07:51:52 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q0U7pq99073690; Mon, 30 Jan 2012 07:51:52 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201201300751.q0U7pq99073690@svn.freebsd.org> From: Konstantin Belousov Date: Mon, 30 Jan 2012 07:51:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230765 - in head/sys: amd64/include i386/include X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jan 2012 07:51:52 -0000 Author: kib Date: Mon Jan 30 07:51:52 2012 New Revision: 230765 URL: http://svn.freebsd.org/changeset/base/230765 Log: Synchronize the struct sigcontext definitions on x86 with mcontext_t. Pointed out by: bde MFC after: 1 month Modified: head/sys/amd64/include/signal.h head/sys/i386/include/signal.h Modified: head/sys/amd64/include/signal.h ============================================================================== --- head/sys/amd64/include/signal.h Mon Jan 30 07:23:53 2012 (r230764) +++ head/sys/amd64/include/signal.h Mon Jan 30 07:51:52 2012 (r230765) @@ -99,7 +99,10 @@ struct sigcontext { long sc_fsbase; long sc_gsbase; - long sc_spare[6]; + long sc_xfpustate; + long sc_xfpustate_len; + + long sc_spare[4]; }; #endif /* __BSD_VISIBLE */ Modified: head/sys/i386/include/signal.h ============================================================================== --- head/sys/i386/include/signal.h Mon Jan 30 07:23:53 2012 (r230764) +++ head/sys/i386/include/signal.h Mon Jan 30 07:51:52 2012 (r230765) @@ -115,13 +115,16 @@ struct sigcontext { */ int sc_fpformat; int sc_ownedfp; - int sc_spare1[1]; + int sc_flags; int sc_fpstate[128] __aligned(16); int sc_fsbase; int sc_gsbase; - int sc_spare2[6]; + int sc_xfpustate; + int sc_xfpustate_len; + + int sc_spare2[4]; }; #define sc_sp sc_esp From owner-svn-src-head@FreeBSD.ORG Mon Jan 30 07:53:34 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1428E1065672; Mon, 30 Jan 2012 07:53:34 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id EB9EE8FC12; Mon, 30 Jan 2012 07:53:33 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q0U7rXDD073783; Mon, 30 Jan 2012 07:53:33 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q0U7rXoL073780; Mon, 30 Jan 2012 07:53:33 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201201300753.q0U7rXoL073780@svn.freebsd.org> From: Konstantin Belousov Date: Mon, 30 Jan 2012 07:53:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230766 - in head/sys/amd64: amd64 include X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jan 2012 07:53:34 -0000 Author: kib Date: Mon Jan 30 07:53:33 2012 New Revision: 230766 URL: http://svn.freebsd.org/changeset/base/230766 Log: Move xrstor/xsave/xsetbv into fpu.c and reorder them. Requested by: bde MFC after: 1 month Modified: head/sys/amd64/amd64/fpu.c head/sys/amd64/include/cpufunc.h Modified: head/sys/amd64/amd64/fpu.c ============================================================================== --- head/sys/amd64/amd64/fpu.c Mon Jan 30 07:51:52 2012 (r230765) +++ head/sys/amd64/amd64/fpu.c Mon Jan 30 07:53:33 2012 (r230766) @@ -78,6 +78,41 @@ __FBSDID("$FreeBSD$"); : : "n" (CR0_TS) : "ax") #define stop_emulating() __asm __volatile("clts") +static __inline void +xrstor(char *addr, uint64_t mask) +{ + uint32_t low, hi; + + low = mask; + hi = mask >> 32; + /* xrstor (%rdi) */ + __asm __volatile(".byte 0x0f,0xae,0x2f" : : + "a" (low), "d" (hi), "D" (addr)); +} + +static __inline void +xsave(char *addr, uint64_t mask) +{ + uint32_t low, hi; + + low = mask; + hi = mask >> 32; + /* xsave (%rdi) */ + __asm __volatile(".byte 0x0f,0xae,0x27" : : + "a" (low), "d" (hi), "D" (addr) : "memory"); +} + +static __inline void +xsetbv(uint32_t reg, uint64_t val) +{ + uint32_t low, hi; + + low = val; + hi = val >> 32; + __asm __volatile(".byte 0x0f,0x01,0xd1" : : + "c" (reg), "a" (low), "d" (hi)); +} + #else /* !(__GNUCLIKE_ASM && !lint) */ void fldcw(u_short cw); @@ -90,6 +125,9 @@ void fxrstor(caddr_t addr); void ldmxcsr(u_int csr); void start_emulating(void); void stop_emulating(void); +void xrstor(char *addr, uint64_t mask); +void xsave(char *addr, uint64_t mask); +void xsetbv(uint32_t reg, uint64_t val); #endif /* __GNUCLIKE_ASM && !lint */ Modified: head/sys/amd64/include/cpufunc.h ============================================================================== --- head/sys/amd64/include/cpufunc.h Mon Jan 30 07:51:52 2012 (r230765) +++ head/sys/amd64/include/cpufunc.h Mon Jan 30 07:53:33 2012 (r230766) @@ -669,41 +669,6 @@ intr_restore(register_t rflags) write_rflags(rflags); } -static __inline void -xsave(char *addr, uint64_t mask) -{ - uint32_t low, hi; - - low = mask; - hi = mask >> 32; - /* xsave (%rdi) */ - __asm __volatile(".byte 0x0f,0xae,0x27" : : - "a" (low), "d" (hi), "D" (addr) : "memory"); -} - -static __inline void -xsetbv(uint32_t reg, uint64_t val) -{ - uint32_t low, hi; - - low = val; - hi = val >> 32; - __asm __volatile(".byte 0x0f,0x01,0xd1" : : - "c" (reg), "a" (low), "d" (hi)); -} - -static __inline void -xrstor(char *addr, uint64_t mask) -{ - uint32_t low, hi; - - low = mask; - hi = mask >> 32; - /* xrstor (%rdi) */ - __asm __volatile(".byte 0x0f,0xae,0x2f" : : - "a" (low), "d" (hi), "D" (addr)); -} - #else /* !(__GNUCLIKE_ASM && __CC_SUPPORTS___INLINE) */ int breakpoint(void); @@ -768,9 +733,6 @@ u_int rgs(void); void wbinvd(void); void write_rflags(u_int rf); void wrmsr(u_int msr, uint64_t newval); -void xsave(char *addr, uint64_t mask); -void xsetbv(uint32_t reg, uint64_t val); -void xrstor(char *addr, uint64_t mask); #endif /* __GNUCLIKE_ASM && __CC_SUPPORTS___INLINE */ From owner-svn-src-head@FreeBSD.ORG Mon Jan 30 07:56:00 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 766F1106564A; Mon, 30 Jan 2012 07:56:00 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5A10B8FC0A; Mon, 30 Jan 2012 07:56:00 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q0U7u0VR073913; Mon, 30 Jan 2012 07:56:00 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q0U7u0d6073908; Mon, 30 Jan 2012 07:56:00 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201201300756.q0U7u0d6073908@svn.freebsd.org> From: Konstantin Belousov Date: Mon, 30 Jan 2012 07:56:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230767 - in head/sys: i386/i386 kern powerpc/aim powerpc/booke X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jan 2012 07:56:00 -0000 Author: kib Date: Mon Jan 30 07:56:00 2012 New Revision: 230767 URL: http://svn.freebsd.org/changeset/base/230767 Log: Finally, try to enable the nxstacks on amd64 and powerpc64 for both 64bit and 32bit ABIs. Also try to enable nxstacks for PAE/i386 when supported, and some variants of powerpc32. MFC after: 2 months (if ever) Modified: head/sys/i386/i386/initcpu.c head/sys/kern/imgact_elf.c head/sys/powerpc/aim/mmu_oea64.c head/sys/powerpc/booke/machdep.c Modified: head/sys/i386/i386/initcpu.c ============================================================================== --- head/sys/i386/i386/initcpu.c Mon Jan 30 07:53:33 2012 (r230766) +++ head/sys/i386/i386/initcpu.c Mon Jan 30 07:56:00 2012 (r230767) @@ -650,6 +650,8 @@ enable_sse(void) #endif } +extern int elf32_nxstack; + void initializecpu(void) { @@ -739,6 +741,7 @@ initializecpu(void) msr = rdmsr(MSR_EFER) | EFER_NXE; wrmsr(MSR_EFER, msr); pg_nx = PG_NX; + elf32_nxstack = 1; } #endif break; Modified: head/sys/kern/imgact_elf.c ============================================================================== --- head/sys/kern/imgact_elf.c Mon Jan 30 07:53:33 2012 (r230766) +++ head/sys/kern/imgact_elf.c Mon Jan 30 07:56:00 2012 (r230767) @@ -118,7 +118,12 @@ static int elf_legacy_coredump = 0; SYSCTL_INT(_debug, OID_AUTO, __elfN(legacy_coredump), CTLFLAG_RW, &elf_legacy_coredump, 0, ""); -static int __elfN(nxstack) = 0; +int __elfN(nxstack) = +#if defined(__amd64__) || defined(__powerpc64__) /* both 64 and 32 bit */ + 1; +#else + 0; +#endif SYSCTL_INT(__CONCAT(_kern_elf, __ELF_WORD_SIZE), OID_AUTO, nxstack, CTLFLAG_RW, &__elfN(nxstack), 0, __XSTRING(__CONCAT(ELF, __ELF_WORD_SIZE)) ": enable non-executable stack"); Modified: head/sys/powerpc/aim/mmu_oea64.c ============================================================================== --- head/sys/powerpc/aim/mmu_oea64.c Mon Jan 30 07:53:33 2012 (r230766) +++ head/sys/powerpc/aim/mmu_oea64.c Mon Jan 30 07:56:00 2012 (r230767) @@ -1445,6 +1445,8 @@ moea64_uma_page_alloc(uma_zone_t zone, i return (void *)va; } +extern int elf32_nxstack; + void moea64_init(mmu_t mmu) { @@ -1464,6 +1466,8 @@ moea64_init(mmu_t mmu) uma_zone_set_allocf(moea64_mpvo_zone,moea64_uma_page_alloc); } + elf32_nxstack = 1; + moea64_initialized = TRUE; } Modified: head/sys/powerpc/booke/machdep.c ============================================================================== --- head/sys/powerpc/booke/machdep.c Mon Jan 30 07:53:33 2012 (r230766) +++ head/sys/powerpc/booke/machdep.c Mon Jan 30 07:56:00 2012 (r230767) @@ -192,6 +192,8 @@ void print_kernel_section_addr(void); void print_kenv(void); u_int booke_init(uint32_t, uint32_t); +extern int elf32_nxstack; + static void cpu_e500_startup(void *dummy) { @@ -227,6 +229,9 @@ cpu_e500_startup(void *dummy) /* Set up buffers, so they can be used to read disk labels. */ bufinit(); vm_pager_bufferinit(); + + /* Cpu supports execution permissions on the pages. */ + elf32_nxstack = 1; } static char * From owner-svn-src-head@FreeBSD.ORG Mon Jan 30 09:41:51 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 1033) id 31783106567B; Mon, 30 Jan 2012 09:41:51 +0000 (UTC) Date: Mon, 30 Jan 2012 09:41:51 +0000 From: Alexey Dokuchaev To: Doug Barton Message-ID: <20120130094151.GB41336@FreeBSD.org> References: <201201272204.q0RM4hRH062478@svn.freebsd.org> <20120128184815.L1114@besplex.bde.org> <4F24B17E.4050306@freebsd.org> <4F24E934.8020408@FreeBSD.org> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline In-Reply-To: <4F24E934.8020408@FreeBSD.org> User-Agent: Mutt/1.4.2.1i Cc: src-committers@freebsd.org, Marius Strobl , Bruce Evans , svn-src-head@freebsd.org, Julian Elischer , svn-src-all@freebsd.org Subject: Re: svn commit: r230628 - head/sys/sparc64/include X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jan 2012 09:41:51 -0000 On Sat, Jan 28, 2012 at 10:37:40PM -0800, Doug Barton wrote: > On 01/28/2012 18:39, Julian Elischer wrote: > > Bruce these comments are valid. > > please make use of your commit bit and make the appropriate changes! > > Completely aside from the pedantic value of having the person who broke > it be the one to fix it; this line of reasoning is only going DIScourage > people from pointing out problems. Are you sure that's what you want? I believe we all want all the bright points of BdeBSD to be merged into our tree, no? At some point I was collecting Bruce's insights for future analysis and hope to work out patches, but quickly realized I do not have required technical background to be qualified for this work. Which brings me to the same conclusion as Julian: people should make you of their commit bits and make appropriate changes themslves! :-) ./danfe From owner-svn-src-head@FreeBSD.ORG Mon Jan 30 09:59:33 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A1797106564A; Mon, 30 Jan 2012 09:59:33 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 902928FC18; Mon, 30 Jan 2012 09:59:33 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q0U9xXx0077854; Mon, 30 Jan 2012 09:59:33 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q0U9xXO8077852; Mon, 30 Jan 2012 09:59:33 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201201300959.q0U9xXO8077852@svn.freebsd.org> From: Alexander Motin Date: Mon, 30 Jan 2012 09:59:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230768 - head/sys/dev/sound/pci/hda X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jan 2012 09:59:33 -0000 Author: mav Date: Mon Jan 30 09:59:33 2012 New Revision: 230768 URL: http://svn.freebsd.org/changeset/base/230768 Log: Fix typo in comments. Modified: head/sys/dev/sound/pci/hda/hdac.h Modified: head/sys/dev/sound/pci/hda/hdac.h ============================================================================== --- head/sys/dev/sound/pci/hda/hdac.h Mon Jan 30 07:56:00 2012 (r230767) +++ head/sys/dev/sound/pci/hda/hdac.h Mon Jan 30 09:59:33 2012 (r230768) @@ -320,7 +320,7 @@ #define HDA_CODEC_ALC899 HDA_CODEC_CONSTRUCT(REALTEK, 0x0899) #define HDA_CODEC_ALCXXXX HDA_CODEC_CONSTRUCT(REALTEK, 0xffff) -/* Motorolla */ +/* Motorola */ #define MOTO_VENDORID 0x1057 #define HDA_CODEC_MOTOXXXX HDA_CODEC_CONSTRUCT(MOTO, 0xffff) From owner-svn-src-head@FreeBSD.ORG Mon Jan 30 11:40:34 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B883E106566B for ; Mon, 30 Jan 2012 11:40:34 +0000 (UTC) (envelope-from markm@FreeBSD.org) Received: from gromit.grondar.org (grandfather.grondar.org [93.89.92.32]) by mx1.freebsd.org (Postfix) with ESMTP id 779888FC16 for ; Mon, 30 Jan 2012 11:40:34 +0000 (UTC) Received: from uucp by gromit.grondar.org with local-rmail (Exim 4.76 (FreeBSD)) (envelope-from ) id 1RrpVq-00093f-Se for svn-src-head@freebsd.org; Mon, 30 Jan 2012 11:35:06 +0000 Received: from localhost ([127.0.0.1] helo=groundzero.grondar.org) by groundzero.grondar.org with esmtp (Exim 4.77 (FreeBSD)) (envelope-from ) id 1RrpR9-0006D5-To; Mon, 30 Jan 2012 11:30:15 +0000 To: Andrey Chernov In-reply-to: <20120129125738.GA26520@vniz.net> References: <20120126143819.GA88677@vniz.net> <20120126155626.GA92229@vniz.net> <201201261132.38320.jhb@freebsd.org> <20120126165521.GA92622@vniz.net> <20120126175243.GA19199@zim.MIT.EDU> <20120126181340.GA93157@vniz.net> <20120129125738.GA26520@vniz.net> From: Mark Murray From: Mark Murray Date: Mon, 30 Jan 2012 11:30:15 +0000 Message-Id: Cc: src-committers@FreeBSD.ORG, John Baldwin , svn-src-all@FreeBSD.ORG, svn-src-head@FreeBSD.ORG, David Schultz , Mark Murray Subject: Re: svn commit: r230230 - head/sys/dev/random X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jan 2012 11:40:34 -0000 Andrey Chernov writes: > On Thu, Jan 26, 2012 at 10:13:41PM +0400, Andrey Chernov wrote: > > On Thu, Jan 26, 2012 at 12:52:43PM -0500, David Schultz wrote: > > > Why complicate things with atomics at all? A race might result in > > > arc4random(9) being seeded multiple times, but that's harmless. > > > > Multiply seeding in line is harmless, just waste of time and resources. > > Other case is one missing seeding when variable is set concurrently with > > its read. I see no complication using atomic. Latest version is even > > shorter than previous ones. > > Well, I almost forget about my special case: I have personal prohibition > from @secteam (5 years old already) to commit anything to all RNG areas. > > So, the question is: could anyone of you commit some version from this > thread, please? Sure; I'll do it. Please give me your test code/cases. > I don't insist of atomics in this sutuation, so you can peek any version > you like. I'll need to clearly see what works. M -- Mark R V Murray Cert APS(Open) Dip Phys(Open) BSc Open(Open) BSc(Hons)(Open) Pi: 132511160 From owner-svn-src-head@FreeBSD.ORG Mon Jan 30 13:26:50 2012 Return-Path: Delivered-To: svn-src-head@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 396521065676; Mon, 30 Jan 2012 13:26:50 +0000 (UTC) (envelope-from ache@vniz.net) Received: from vniz.net (vniz.net [194.87.13.69]) by mx1.freebsd.org (Postfix) with ESMTP id 98A5F8FC0C; Mon, 30 Jan 2012 13:26:49 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by vniz.net (8.14.5/8.14.5) with ESMTP id q0UDQlpV059943; Mon, 30 Jan 2012 17:26:47 +0400 (MSK) (envelope-from ache@vniz.net) Received: (from ache@localhost) by localhost (8.14.5/8.14.5/Submit) id q0UDQkju059942; Mon, 30 Jan 2012 17:26:47 +0400 (MSK) (envelope-from ache) Date: Mon, 30 Jan 2012 17:26:46 +0400 From: Andrey Chernov To: Mark Murray , Mark Murray Message-ID: <20120130132645.GA59595@vniz.net> Mail-Followup-To: Andrey Chernov , Mark Murray , Mark Murray , David Schultz , John Baldwin , src-committers@FreeBSD.ORG, svn-src-all@FreeBSD.ORG, svn-src-head@FreeBSD.ORG References: <20120126143819.GA88677@vniz.net> <20120126155626.GA92229@vniz.net> <201201261132.38320.jhb@freebsd.org> <20120126165521.GA92622@vniz.net> <20120126175243.GA19199@zim.MIT.EDU> <20120126181340.GA93157@vniz.net> <20120129125738.GA26520@vniz.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-head@FreeBSD.ORG, David Schultz , src-committers@FreeBSD.ORG, svn-src-all@FreeBSD.ORG, John Baldwin Subject: Re: svn commit: r230230 - head/sys/dev/random X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jan 2012 13:26:50 -0000 On Mon, Jan 30, 2012 at 11:30:15AM +0000, Mark Murray wrote: > > Well, I almost forget about my special case: I have personal prohibition > > from @secteam (5 years old already) to commit anything to all RNG areas. > > > > So, the question is: could anyone of you commit some version from this > > thread, please? > > Sure; I'll do it. Please give me your test code/cases. > > > I don't insist of atomics in this sutuation, so you can peek any version > > you like. > > I'll need to clearly see what works. Both works:) Version with atomic cmpsets works 100% correct, but it seems people dislike it just for using atomics. Version without atomics works slightly incorrectly in edge cases, but no harm happens. Worst possible scenario for version without atomics: 1) Several arc4random() fired at once (i.e. concurrently) exact in the moment when random_yarrow_unblock() modifies this variable. 2) Such of them who catch the variable after modification and see that reseed is needed simultaneously put themselves into reseeding chain, because arc4_randomstir() is protected with mutex. There is no harm can be done to this PRNG by reseeding it many times sequentially, just waste of CPU & time. 3) Such of them who miss the modification skips this step, and PRNG will be reseded when any other arc4random() call happens afterwards. The rest of arc4rand() function code is protected by mutex too, so it will stay sequentially-aligned in any case. -- http://ache.vniz.net/ From owner-svn-src-head@FreeBSD.ORG Mon Jan 30 15:09:04 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 351E6106566B; Mon, 30 Jan 2012 15:09:04 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 23FC08FC16; Mon, 30 Jan 2012 15:09:04 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q0UF94JS090769; Mon, 30 Jan 2012 15:09:04 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q0UF94IS090767; Mon, 30 Jan 2012 15:09:04 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201201301509.q0UF94IS090767@svn.freebsd.org> From: John Baldwin Date: Mon, 30 Jan 2012 15:09:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230774 - head/sys/dev/pci X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jan 2012 15:09:04 -0000 Author: jhb Date: Mon Jan 30 15:09:03 2012 New Revision: 230774 URL: http://svn.freebsd.org/changeset/base/230774 Log: Add a constant for the PCI-e surprise link down uncorrectable error. Modified: head/sys/dev/pci/pcireg.h Modified: head/sys/dev/pci/pcireg.h ============================================================================== --- head/sys/dev/pci/pcireg.h Mon Jan 30 12:32:22 2012 (r230773) +++ head/sys/dev/pci/pcireg.h Mon Jan 30 15:09:03 2012 (r230774) @@ -697,6 +697,7 @@ #define PCIR_AER_UC_STATUS 0x04 #define PCIM_AER_UC_TRAINING_ERROR 0x00000001 #define PCIM_AER_UC_DL_PROTOCOL_ERROR 0x00000010 +#define PCIM_AER_UC_SUPRISE_LINK_DOWN 0x00000020 #define PCIM_AER_UC_POISONED_TLP 0x00001000 #define PCIM_AER_UC_FC_PROTOCOL_ERROR 0x00002000 #define PCIM_AER_UC_COMPLETION_TIMEOUT 0x00004000 From owner-svn-src-head@FreeBSD.ORG Mon Jan 30 16:42:03 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 040D6106566C; Mon, 30 Jan 2012 16:42:03 +0000 (UTC) (envelope-from jfv@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E51A98FC12; Mon, 30 Jan 2012 16:42:02 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q0UGg2YI093710; Mon, 30 Jan 2012 16:42:02 GMT (envelope-from jfv@svn.freebsd.org) Received: (from jfv@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q0UGg2so093704; Mon, 30 Jan 2012 16:42:02 GMT (envelope-from jfv@svn.freebsd.org) Message-Id: <201201301642.q0UGg2so093704@svn.freebsd.org> From: Jack F Vogel Date: Mon, 30 Jan 2012 16:42:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230775 - in head/sys: conf dev/ixgbe modules/ixgbe X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jan 2012 16:42:03 -0000 Author: jfv Date: Mon Jan 30 16:42:02 2012 New Revision: 230775 URL: http://svn.freebsd.org/changeset/base/230775 Log: New hardware support: Intel X540 adapter support added. Some shared code reorganization along with the new adapter. Sync changes to OACTIVE in igb into this driver. Misc small fixes. Added: head/sys/dev/ixgbe/ixgbe_82598.h (contents, props changed) head/sys/dev/ixgbe/ixgbe_82599.h (contents, props changed) head/sys/dev/ixgbe/ixgbe_x540.c (contents, props changed) head/sys/dev/ixgbe/ixgbe_x540.h (contents, props changed) Modified: head/sys/conf/files head/sys/dev/ixgbe/ixgbe.c head/sys/dev/ixgbe/ixgbe.h head/sys/dev/ixgbe/ixgbe_82598.c head/sys/dev/ixgbe/ixgbe_82599.c head/sys/dev/ixgbe/ixgbe_api.c head/sys/dev/ixgbe/ixgbe_api.h head/sys/dev/ixgbe/ixgbe_common.c head/sys/dev/ixgbe/ixgbe_common.h head/sys/dev/ixgbe/ixgbe_mbx.c head/sys/dev/ixgbe/ixgbe_mbx.h head/sys/dev/ixgbe/ixgbe_osdep.h head/sys/dev/ixgbe/ixgbe_phy.c head/sys/dev/ixgbe/ixgbe_phy.h head/sys/dev/ixgbe/ixgbe_type.h head/sys/dev/ixgbe/ixgbe_vf.c head/sys/dev/ixgbe/ixgbe_vf.h head/sys/dev/ixgbe/ixv.c head/sys/dev/ixgbe/ixv.h head/sys/modules/ixgbe/Makefile Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Mon Jan 30 15:09:03 2012 (r230774) +++ head/sys/conf/files Mon Jan 30 16:42:02 2012 (r230775) @@ -1395,6 +1395,8 @@ dev/ixgbe/ixgbe_82598.c optional ixgbe compile-with "${NORMAL_C} -I$S/dev/ixgbe" dev/ixgbe/ixgbe_82599.c optional ixgbe inet \ compile-with "${NORMAL_C} -I$S/dev/ixgbe" +dev/ixgbe/ixgbe_x540.c optional ixgbe inet \ + compile-with "${NORMAL_C} -I$S/dev/ixgbe" dev/jme/if_jme.c optional jme pci dev/joy/joy.c optional joy dev/joy/joy_isa.c optional joy isa Modified: head/sys/dev/ixgbe/ixgbe.c ============================================================================== --- head/sys/dev/ixgbe/ixgbe.c Mon Jan 30 15:09:03 2012 (r230774) +++ head/sys/dev/ixgbe/ixgbe.c Mon Jan 30 16:42:02 2012 (r230775) @@ -1,6 +1,6 @@ /****************************************************************************** - Copyright (c) 2001-2011, Intel Corporation + Copyright (c) 2001-2012, Intel Corporation All rights reserved. Redistribution and use in source and binary forms, with or without @@ -47,7 +47,7 @@ int ixgbe_display_debug_stat /********************************************************************* * Driver version *********************************************************************/ -char ixgbe_driver_version[] = "2.3.11"; +char ixgbe_driver_version[] = "2.4.5"; /********************************************************************* * PCI Device ID Table @@ -81,6 +81,8 @@ static ixgbe_vendor_info_t ixgbe_vendor_ {IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_COMBO_BACKPLANE, 0, 0, 0}, {IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_BACKPLANE_FCOE, 0, 0, 0}, {IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_SFP_FCOE, 0, 0, 0}, + {IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599EN_SFP, 0, 0, 0}, + {IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X540T, 0, 0, 0}, /* required last entry */ {0, 0, 0, 0, 0} }; @@ -153,6 +155,7 @@ static void ixgbe_refresh_mbufs(struct r static int ixgbe_xmit(struct tx_ring *, struct mbuf **); static int ixgbe_set_flowcntl(SYSCTL_HANDLER_ARGS); static int ixgbe_set_advertise(SYSCTL_HANDLER_ARGS); +static int ixgbe_set_thermal_test(SYSCTL_HANDLER_ARGS); static int ixgbe_dma_malloc(struct adapter *, bus_size_t, struct ixgbe_dma_alloc *, int); static void ixgbe_dma_free(struct adapter *, struct ixgbe_dma_alloc *); @@ -415,19 +418,29 @@ ixgbe_attach(device_t dev) SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev), SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), - OID_AUTO, "flow_control", CTLTYPE_INT | CTLFLAG_RW, + OID_AUTO, "fc", CTLTYPE_INT | CTLFLAG_RW, adapter, 0, ixgbe_set_flowcntl, "I", "Flow Control"); - SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev), - SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), - OID_AUTO, "advertise_gig", CTLTYPE_INT | CTLFLAG_RW, - adapter, 0, ixgbe_set_advertise, "I", "1G Link"); - SYSCTL_ADD_INT(device_get_sysctl_ctx(dev), SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, "enable_aim", CTLTYPE_INT|CTLFLAG_RW, &ixgbe_enable_aim, 1, "Interrupt Moderation"); + /* + ** Allow a kind of speed control by forcing the autoneg + ** advertised speed list to only a certain value, this + ** supports 1G on 82599 devices, and 100Mb on x540. + */ + SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev), + SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), + OID_AUTO, "advertise_speed", CTLTYPE_INT | CTLFLAG_RW, + adapter, 0, ixgbe_set_advertise, "I", "Link Speed"); + + SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev), + SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), + OID_AUTO, "ts", CTLTYPE_INT | CTLFLAG_RW, adapter, + 0, ixgbe_set_thermal_test, "I", "Thermal Test"); + /* Set up the timer callout */ callout_init_mtx(&adapter->timer, &adapter->core_mtx, 0); @@ -515,9 +528,10 @@ ixgbe_attach(device_t dev) /* Get Hardware Flow Control setting */ hw->fc.requested_mode = ixgbe_fc_full; + adapter->fc = hw->fc.requested_mode; hw->fc.pause_time = IXGBE_FC_PAUSE; hw->fc.low_water = IXGBE_FC_LO; - hw->fc.high_water = IXGBE_FC_HI; + hw->fc.high_water[0] = IXGBE_FC_HI; hw->fc.send_xon = TRUE; error = ixgbe_init_hw(hw); @@ -724,16 +738,20 @@ ixgbe_start_locked(struct tx_ring *txr, return; while (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) { + if (txr->tx_avail <= IXGBE_QUEUE_MIN_FREE) { + txr->queue_status |= IXGBE_QUEUE_DEPLETED; + break; + } IFQ_DRV_DEQUEUE(&ifp->if_snd, m_head); if (m_head == NULL) break; if (ixgbe_xmit(txr, &m_head)) { - if (m_head == NULL) - break; - ifp->if_drv_flags |= IFF_DRV_OACTIVE; - IFQ_DRV_PREPEND(&ifp->if_snd, m_head); + if (m_head != NULL) + IFQ_DRV_PREPEND(&ifp->if_snd, m_head); + if (txr->tx_avail <= IXGBE_QUEUE_MIN_FREE) + txr->queue_status |= IXGBE_QUEUE_DEPLETED; break; } /* Send a copy of the frame to the BPF listener */ @@ -782,11 +800,14 @@ ixgbe_mq_start(struct ifnet *ifp, struct /* Which queue to use */ if ((m->m_flags & M_FLOWID) != 0) i = m->m_pkthdr.flowid % adapter->num_queues; + else + i = curcpu % adapter->num_queues; txr = &adapter->tx_rings[i]; que = &adapter->queues[i]; - if (IXGBE_TX_TRYLOCK(txr)) { + if (((txr->queue_status & IXGBE_QUEUE_DEPLETED) == 0) && + IXGBE_TX_TRYLOCK(txr)) { err = ixgbe_mq_start_locked(ifp, txr, m); IXGBE_TX_UNLOCK(txr); } else { @@ -804,8 +825,9 @@ ixgbe_mq_start_locked(struct ifnet *ifp, struct mbuf *next; int enqueued, err = 0; - if ((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != - IFF_DRV_RUNNING || adapter->link_active == 0) { + if (((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) || + (txr->queue_status == IXGBE_QUEUE_DEPLETED) || + adapter->link_active == 0) { if (m != NULL) err = drbr_enqueue(ifp, txr->br, m); return (err); @@ -837,7 +859,7 @@ ixgbe_mq_start_locked(struct ifnet *ifp, if (txr->tx_avail < IXGBE_TX_OP_THRESHOLD) ixgbe_txeof(txr); if (txr->tx_avail < IXGBE_TX_OP_THRESHOLD) { - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + txr->queue_status |= IXGBE_QUEUE_DEPLETED; break; } next = drbr_dequeue(ifp, txr->br); @@ -845,10 +867,13 @@ ixgbe_mq_start_locked(struct ifnet *ifp, if (enqueued > 0) { /* Set watchdog on */ - txr->queue_status = IXGBE_QUEUE_WORKING; + txr->queue_status |= IXGBE_QUEUE_WORKING; txr->watchdog_time = ticks; } + if (txr->tx_avail < IXGBE_TX_CLEANUP_THRESHOLD) + ixgbe_txeof(txr); + return (err); } @@ -916,8 +941,8 @@ ixgbe_ioctl(struct ifnet * ifp, u_long c arp_ifinit(ifp, ifa); } else error = ether_ioctl(ifp, command, data); - break; #endif + break; case SIOCSIFMTU: IOCTL_DEBUGOUT("ioctl: SIOCSIFMTU (Set Interface MTU)"); if (ifr->ifr_mtu > IXGBE_MAX_FRAME_SIZE - ETHER_HDR_LEN) { @@ -1087,10 +1112,14 @@ ixgbe_init_locked(struct adapter *adapte /* Enable Fan Failure Interrupt */ gpie |= IXGBE_SDP1_GPIEN; - /* Add for Thermal detection */ + /* Add for Module detection */ if (hw->mac.type == ixgbe_mac_82599EB) gpie |= IXGBE_SDP2_GPIEN; + /* Thermal Failure Detection */ + if (hw->mac.type == ixgbe_mac_X540) + gpie |= IXGBE_SDP0_GPIEN; + if (adapter->msix > 1) { /* Enable Enhanced MSIX mode */ gpie |= IXGBE_GPIE_MSIX_MODE; @@ -1196,8 +1225,12 @@ ixgbe_init_locked(struct adapter *adapte #ifdef IXGBE_FDIR /* Init Flow director */ - if (hw->mac.type != ixgbe_mac_82598EB) + if (hw->mac.type != ixgbe_mac_82598EB) { + u32 hdrm = 64 << fdir_pballoc; + + hw->mac.ops.setup_rxpba(hw, 0, hdrm, PBA_STRATEGY_EQUAL); ixgbe_init_fdir_signature_82599(&adapter->hw, fdir_pballoc); + } #endif /* @@ -1325,7 +1358,7 @@ ixgbe_handle_que(void *context, int pend ixgbe_start_locked(txr, ifp); #endif IXGBE_TX_UNLOCK(txr); - if (more) { + if (more || (ifp->if_drv_flags & IFF_DRV_OACTIVE)) { taskqueue_enqueue(que->tq, &que->que_task); return; } @@ -1405,6 +1438,7 @@ ixgbe_msix_que(void *arg) bool more_tx, more_rx; u32 newitr = 0; + ixgbe_disable_queue(adapter, que->msix); ++que->irqs; more_rx = ixgbe_rxeof(que, adapter->rx_process_limit); @@ -1539,6 +1573,15 @@ ixgbe_msix_link(void *arg) IXGBE_WRITE_REG(hw, IXGBE_EICR, IXGBE_EICR_GPI_SDP1); } + /* Check for over temp condition */ + if ((hw->mac.type == ixgbe_mac_X540) && + (reg_eicr & IXGBE_EICR_GPI_SDP0)) { + device_printf(adapter->dev, "\nCRITICAL: OVER TEMP!! " + "PHY IS SHUT DOWN!!\n"); + device_printf(adapter->dev, "System shutdown required\n"); + IXGBE_WRITE_REG(hw, IXGBE_EICR, IXGBE_EICR_GPI_SDP0); + } + IXGBE_WRITE_REG(&adapter->hw, IXGBE_EIMS, IXGBE_EIMS_OTHER); return; } @@ -1571,6 +1614,9 @@ ixgbe_media_status(struct ifnet * ifp, s ifmr->ifm_status |= IFM_ACTIVE; switch (adapter->link_speed) { + case IXGBE_LINK_SPEED_100_FULL: + ifmr->ifm_active |= IFM_100_TX | IFM_FDX; + break; case IXGBE_LINK_SPEED_1GB_FULL: ifmr->ifm_active |= IFM_1000_T | IFM_FDX; break; @@ -1606,7 +1652,9 @@ ixgbe_media_change(struct ifnet * ifp) switch (IFM_SUBTYPE(ifm->ifm_media)) { case IFM_AUTO: adapter->hw.phy.autoneg_advertised = - IXGBE_LINK_SPEED_1GB_FULL | IXGBE_LINK_SPEED_10GB_FULL; + IXGBE_LINK_SPEED_100_FULL | + IXGBE_LINK_SPEED_1GB_FULL | + IXGBE_LINK_SPEED_10GB_FULL; break; default: device_printf(adapter->dev, "Only auto media type\n"); @@ -1878,7 +1926,7 @@ ixgbe_set_multi(struct adapter *adapter) update_ptr = mta; ixgbe_update_mc_addr_list(&adapter->hw, - update_ptr, mcnt, ixgbe_mc_array_itr); + update_ptr, mcnt, ixgbe_mc_array_itr, TRUE); return; } @@ -1912,11 +1960,15 @@ ixgbe_mc_array_itr(struct ixgbe_hw *hw, static void ixgbe_local_timer(void *arg) { - struct adapter *adapter = arg; + struct adapter *adapter = arg; device_t dev = adapter->dev; - struct tx_ring *txr = adapter->tx_rings; + struct ifnet *ifp = adapter->ifp; + struct ix_queue *que = adapter->queues; + struct tx_ring *txr = adapter->tx_rings; + int hung, busy, paused; mtx_assert(&adapter->core_mtx, MA_OWNED); + hung = busy = paused = 0; /* Check for pluggable optics */ if (adapter->sfp_probe) @@ -1931,21 +1983,38 @@ ixgbe_local_timer(void *arg) * then don't do the watchdog check */ if (IXGBE_READ_REG(&adapter->hw, IXGBE_TFCS) & IXGBE_TFCS_TXOFF) - goto out; + paused = 1; /* - ** Check status on the TX queues for a hang - */ - for (int i = 0; i < adapter->num_queues; i++, txr++) - if (txr->queue_status == IXGBE_QUEUE_HUNG) - goto hung; + ** Check the TX queues status + ** - central locked handling of OACTIVE + ** - watchdog only if all queues show hung + */ + for (int i = 0; i < adapter->num_queues; i++, que++, txr++) { + if ((txr->queue_status & IXGBE_QUEUE_HUNG) && + (paused == 0)) + ++hung; + if (txr->queue_status & IXGBE_QUEUE_DEPLETED) + ++busy; + if ((txr->queue_status & IXGBE_QUEUE_IDLE) == 0) + taskqueue_enqueue(que->tq, &que->que_task); + } + /* Only truely watchdog if all queues show hung */ + if (hung == adapter->num_queues) + goto watchdog; + /* Only turn off the stack flow when ALL are depleted */ + if (busy == adapter->num_queues) + ifp->if_drv_flags |= IFF_DRV_OACTIVE; + else if ((ifp->if_drv_flags & IFF_DRV_OACTIVE) && + (busy < adapter->num_queues)) + ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; out: ixgbe_rearm_queues(adapter, adapter->que_mask); callout_reset(&adapter->timer, hz, ixgbe_local_timer, adapter); return; -hung: +watchdog: device_printf(adapter->dev, "Watchdog timeout -- resetting\n"); device_printf(dev,"Queue(%d) tdh = %d, hw tdt = %d\n", txr->me, IXGBE_READ_REG(&adapter->hw, IXGBE_TDH(txr->me)), @@ -2015,9 +2084,11 @@ ixgbe_stop(void *arg) INIT_DEBUGOUT("ixgbe_stop: begin\n"); ixgbe_disable_intr(adapter); + callout_stop(&adapter->timer); - /* Tell the stack that the interface is no longer active */ - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + /* Let the stack know...*/ + ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + ifp->if_drv_flags |= IFF_DRV_OACTIVE; ixgbe_reset_hw(hw); hw->adapter_stopped = FALSE; @@ -2025,7 +2096,6 @@ ixgbe_stop(void *arg) /* Turn off the laser */ if (hw->phy.multispeed_fiber) ixgbe_disable_tx_laser(hw); - callout_stop(&adapter->timer); /* reprogram the RAR[0] in case user changed it. */ ixgbe_set_rar(&adapter->hw, 0, adapter->hw.mac.addr, 0, IXGBE_RAH_AV); @@ -2079,35 +2149,41 @@ ixgbe_setup_optics(struct adapter *adapt int layer; layer = ixgbe_get_supported_physical_layer(hw); - switch (layer) { - case IXGBE_PHYSICAL_LAYER_10GBASE_T: - adapter->optics = IFM_10G_T; - break; - case IXGBE_PHYSICAL_LAYER_1000BASE_T: - adapter->optics = IFM_1000_T; - break; - case IXGBE_PHYSICAL_LAYER_10GBASE_LR: - case IXGBE_PHYSICAL_LAYER_10GBASE_LRM: - adapter->optics = IFM_10G_LR; - break; - case IXGBE_PHYSICAL_LAYER_10GBASE_SR: - adapter->optics = IFM_10G_SR; - break; - case IXGBE_PHYSICAL_LAYER_10GBASE_KX4: - case IXGBE_PHYSICAL_LAYER_10GBASE_CX4: - adapter->optics = IFM_10G_CX4; - break; - case IXGBE_PHYSICAL_LAYER_SFP_PLUS_CU: - adapter->optics = IFM_10G_TWINAX; - break; - case IXGBE_PHYSICAL_LAYER_1000BASE_KX: - case IXGBE_PHYSICAL_LAYER_10GBASE_KR: - case IXGBE_PHYSICAL_LAYER_10GBASE_XAUI: - case IXGBE_PHYSICAL_LAYER_UNKNOWN: - default: - adapter->optics = IFM_ETHER | IFM_AUTO; - break; + + if (layer & IXGBE_PHYSICAL_LAYER_10GBASE_T) { + adapter->optics = IFM_10G_T; + return; + } + + if (layer & IXGBE_PHYSICAL_LAYER_1000BASE_T) { + adapter->optics = IFM_1000_T; + return; } + + if (layer & (IXGBE_PHYSICAL_LAYER_10GBASE_LR | + IXGBE_PHYSICAL_LAYER_10GBASE_LRM)) { + adapter->optics = IFM_10G_LR; + return; + } + + if (layer & IXGBE_PHYSICAL_LAYER_10GBASE_SR) { + adapter->optics = IFM_10G_SR; + return; + } + + if (layer & IXGBE_PHYSICAL_LAYER_SFP_PLUS_CU) { + adapter->optics = IFM_10G_TWINAX; + return; + } + + if (layer & (IXGBE_PHYSICAL_LAYER_10GBASE_KX4 | + IXGBE_PHYSICAL_LAYER_10GBASE_CX4)) { + adapter->optics = IFM_10G_CX4; + return; + } + + /* If we get here just set the default */ + adapter->optics = IFM_ETHER | IFM_AUTO; return; } @@ -2975,6 +3051,7 @@ ixgbe_initialize_transmit_units(struct a txctrl = IXGBE_READ_REG(hw, IXGBE_DCA_TXCTRL(i)); break; case ixgbe_mac_82599EB: + case ixgbe_mac_X540: default: txctrl = IXGBE_READ_REG(hw, IXGBE_DCA_TXCTRL_82599(i)); break; @@ -2985,6 +3062,7 @@ ixgbe_initialize_transmit_units(struct a IXGBE_WRITE_REG(hw, IXGBE_DCA_TXCTRL(i), txctrl); break; case ixgbe_mac_82599EB: + case ixgbe_mac_X540: default: IXGBE_WRITE_REG(hw, IXGBE_DCA_TXCTRL_82599(i), txctrl); break; @@ -3512,18 +3590,13 @@ ixgbe_txeof(struct tx_ring *txr) if ((!processed) && ((ticks - txr->watchdog_time) > IXGBE_WATCHDOG)) txr->queue_status = IXGBE_QUEUE_HUNG; - /* - * If we have enough room, clear IFF_DRV_OACTIVE to tell the stack that - * it is OK to send packets. If there are no pending descriptors, - * clear the timeout. Otherwise, if some descriptors have been freed, - * restart the timeout. - */ - if (txr->tx_avail > IXGBE_TX_CLEANUP_THRESHOLD) { - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; - if (txr->tx_avail == adapter->num_tx_desc) { - txr->queue_status = IXGBE_QUEUE_IDLE; - return FALSE; - } + /* With a minimum free clear the depleted state bit. */ + if (txr->tx_avail > IXGBE_TX_CLEANUP_THRESHOLD) + txr->queue_status &= ~IXGBE_QUEUE_DEPLETED; + + if (txr->tx_avail == adapter->num_tx_desc) { + txr->queue_status = IXGBE_QUEUE_IDLE; + return (FALSE); } return TRUE; @@ -3923,6 +3996,7 @@ skip_head: rxr->rx_split_packets = 0; rxr->rx_bytes = 0; rxr->discard = FALSE; + rxr->vtag_strip = FALSE; bus_dmamap_sync(rxr->rxdma.dma_tag, rxr->rxdma.dma_map, BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE); @@ -3930,7 +4004,7 @@ skip_head: /* ** Now set up the LRO interface: ** 82598 uses software LRO, the - ** 82599 uses a hardware assist. + ** 82599 and X540 use a hardware assist. */ if ((adapter->hw.mac.type != ixgbe_mac_82598EB) && (ifp->if_capenable & IFCAP_RXCSUM) && @@ -4028,7 +4102,8 @@ ixgbe_initialize_receive_units(struct ad hlreg &= ~IXGBE_HLREG0_JUMBOEN; IXGBE_WRITE_REG(hw, IXGBE_HLREG0, hlreg); - bufsz = (adapter->rx_mbuf_sz + BSIZEPKT_ROUNDUP) >> IXGBE_SRRCTL_BSIZEPKT_SHIFT; + bufsz = (adapter->rx_mbuf_sz + + BSIZEPKT_ROUNDUP) >> IXGBE_SRRCTL_BSIZEPKT_SHIFT; for (int i = 0; i < adapter->num_queues; i++, rxr++) { u64 rdba = rxr->rxdma.dma_paddr; @@ -4314,7 +4389,8 @@ ixgbe_rxeof(struct ix_queue *que, int co for (i = rxr->next_to_check; count != 0;) { struct mbuf *sendmp, *mh, *mp; u32 rsc, ptype; - u16 hlen, plen, hdr, vtag; + u16 hlen, plen, hdr; + u16 vtag = 0; bool eop; /* Sync the ring. */ @@ -4342,9 +4418,12 @@ ixgbe_rxeof(struct ix_queue *que, int co ptype = le32toh(cur->wb.lower.lo_dword.data) & IXGBE_RXDADV_PKTTYPE_MASK; hdr = le16toh(cur->wb.lower.lo_dword.hs_rss.hdr_info); - vtag = le16toh(cur->wb.upper.vlan); eop = ((staterr & IXGBE_RXD_STAT_EOP) != 0); + /* Process vlan info */ + if ((rxr->vtag_strip) && (staterr & IXGBE_RXD_STAT_VP)) + vtag = le16toh(cur->wb.upper.vlan); + /* Make sure bad packets are discarded */ if (((staterr & IXGBE_RXDADV_ERR_FRAME_ERR_MASK) != 0) || (rxr->discard)) { @@ -4445,8 +4524,8 @@ ixgbe_rxeof(struct ix_queue *que, int co } else { /* Singlet, prepare to send */ sendmp = mh; - if ((adapter->num_vlans) && - (staterr & IXGBE_RXD_STAT_VP)) { + /* If hardware handled vtag */ + if (vtag) { sendmp->m_pkthdr.ether_vtag = vtag; sendmp->m_flags |= M_VLANTAG; } @@ -4655,6 +4734,7 @@ ixgbe_setup_vlan_hw_support(struct adapt { struct ifnet *ifp = adapter->ifp; struct ixgbe_hw *hw = &adapter->hw; + struct rx_ring *rxr; u32 ctrl; @@ -4686,13 +4766,17 @@ ixgbe_setup_vlan_hw_support(struct adapt ctrl |= IXGBE_VLNCTRL_VME; IXGBE_WRITE_REG(hw, IXGBE_VLNCTRL, ctrl); - /* On 82599 the VLAN enable is per/queue in RXDCTL */ - if (hw->mac.type != ixgbe_mac_82598EB) - for (int i = 0; i < adapter->num_queues; i++) { + /* Setup the queues for vlans */ + for (int i = 0; i < adapter->num_queues; i++) { + rxr = &adapter->rx_rings[i]; + /* On 82599 the VLAN enable is per/queue in RXDCTL */ + if (hw->mac.type != ixgbe_mac_82598EB) { ctrl = IXGBE_READ_REG(hw, IXGBE_RXDCTL(i)); - ctrl |= IXGBE_RXDCTL_VME; + ctrl |= IXGBE_RXDCTL_VME; IXGBE_WRITE_REG(hw, IXGBE_RXDCTL(i), ctrl); } + rxr->vtag_strip = TRUE; + } } static void @@ -4708,6 +4792,7 @@ ixgbe_enable_intr(struct adapter *adapte mask |= IXGBE_EIMS_GPI_SDP1; else { mask |= IXGBE_EIMS_ECC; + mask |= IXGBE_EIMS_GPI_SDP0; mask |= IXGBE_EIMS_GPI_SDP1; mask |= IXGBE_EIMS_GPI_SDP2; #ifdef IXGBE_FDIR @@ -4805,6 +4890,7 @@ ixgbe_set_ivar(struct adapter *adapter, break; case ixgbe_mac_82599EB: + case ixgbe_mac_X540: if (type == -1) { /* MISC IVAR */ index = (entry & 1) * 8; ivar = IXGBE_READ_REG(hw, IXGBE_IVAR_MISC); @@ -5492,24 +5578,23 @@ ixgbe_add_hw_stats(struct adapter *adapt static int ixgbe_set_flowcntl(SYSCTL_HANDLER_ARGS) { - int error; - int last = ixgbe_flow_control; - struct adapter *adapter; + int error, last; + struct adapter *adapter = (struct adapter *) arg1; - error = sysctl_handle_int(oidp, &ixgbe_flow_control, 0, req); - if (error) + last = adapter->fc; + error = sysctl_handle_int(oidp, &adapter->fc, 0, req); + if ((error) || (req->newptr == NULL)) return (error); /* Don't bother if it's not changed */ - if (ixgbe_flow_control == last) + if (adapter->fc == last) return (0); - adapter = (struct adapter *) arg1; - switch (ixgbe_flow_control) { + switch (adapter->fc) { case ixgbe_fc_rx_pause: case ixgbe_fc_tx_pause: case ixgbe_fc_full: - adapter->hw.fc.requested_mode = ixgbe_flow_control; + adapter->hw.fc.requested_mode = adapter->fc; break; case ixgbe_fc_none: default: @@ -5534,16 +5619,19 @@ ixgbe_add_rx_process_limit(struct adapte ** Control link advertise speed: ** 0 - normal ** 1 - advertise only 1G +** 2 - advertise 100Mb */ static int ixgbe_set_advertise(SYSCTL_HANDLER_ARGS) { int error = 0; struct adapter *adapter; + device_t dev; struct ixgbe_hw *hw; ixgbe_link_speed speed, last; adapter = (struct adapter *) arg1; + dev = adapter->dev; hw = &adapter->hw; last = hw->phy.autoneg_advertised; @@ -5556,8 +5644,15 @@ ixgbe_set_advertise(SYSCTL_HANDLER_ARGS) (hw->phy.multispeed_fiber))) return (error); + if ((adapter->advertise == 2) && (hw->mac.type != ixgbe_mac_X540)) { + device_printf(dev, "Set Advertise: 100Mb on X540 only\n"); + return (error); + } + if (adapter->advertise == 1) speed = IXGBE_LINK_SPEED_1GB_FULL; + else if (adapter->advertise == 2) + speed = IXGBE_LINK_SPEED_100_FULL; else speed = IXGBE_LINK_SPEED_1GB_FULL | IXGBE_LINK_SPEED_10GB_FULL; @@ -5570,3 +5665,31 @@ ixgbe_set_advertise(SYSCTL_HANDLER_ARGS) return (error); } + +/* +** Thermal Shutdown Trigger +** - cause a Thermal Overtemp IRQ +*/ +static int +ixgbe_set_thermal_test(SYSCTL_HANDLER_ARGS) +{ + int error, fire = 0; + struct adapter *adapter = (struct adapter *) arg1; + struct ixgbe_hw *hw = &adapter->hw; + + + if (hw->mac.type != ixgbe_mac_X540) + return (0); + + error = sysctl_handle_int(oidp, &fire, 0, req); + if ((error) || (req->newptr == NULL)) + return (error); + + if (fire) { + u32 reg = IXGBE_READ_REG(hw, IXGBE_EICS); + reg |= IXGBE_EICR_TS; + IXGBE_WRITE_REG(hw, IXGBE_EICS, reg); + } + + return (0); +} Modified: head/sys/dev/ixgbe/ixgbe.h ============================================================================== --- head/sys/dev/ixgbe/ixgbe.h Mon Jan 30 15:09:03 2012 (r230774) +++ head/sys/dev/ixgbe/ixgbe.h Mon Jan 30 16:42:02 2012 (r230775) @@ -1,6 +1,6 @@ /****************************************************************************** - Copyright (c) 2001-2011, Intel Corporation + Copyright (c) 2001-2012, Intel Corporation All rights reserved. Redistribution and use in source and binary forms, with or without @@ -184,9 +184,11 @@ #define IXGBE_RX_HDR 128 #define IXGBE_VFTA_SIZE 128 #define IXGBE_BR_SIZE 4096 -#define IXGBE_QUEUE_IDLE 0 -#define IXGBE_QUEUE_WORKING 1 -#define IXGBE_QUEUE_HUNG 2 +#define IXGBE_QUEUE_MIN_FREE 32 +#define IXGBE_QUEUE_IDLE 1 +#define IXGBE_QUEUE_WORKING 2 +#define IXGBE_QUEUE_HUNG 4 +#define IXGBE_QUEUE_DEPLETED 8 /* Offload bits in mbuf flag */ #if __FreeBSD_version >= 800000 @@ -323,6 +325,7 @@ struct rx_ring { bool hdr_split; bool hw_rsc; bool discard; + bool vtag_strip; u32 next_to_refresh; u32 next_to_check; char mtx_name[16]; @@ -387,6 +390,7 @@ struct adapter { /* Info about the interface */ u32 optics; + u32 fc; /* local flow ctrl setting */ int advertise; /* link speeds */ bool link_active; u16 max_frame_size; Modified: head/sys/dev/ixgbe/ixgbe_82598.c ============================================================================== --- head/sys/dev/ixgbe/ixgbe_82598.c Mon Jan 30 15:09:03 2012 (r230774) +++ head/sys/dev/ixgbe/ixgbe_82598.c Mon Jan 30 16:42:02 2012 (r230775) @@ -1,6 +1,6 @@ /****************************************************************************** - Copyright (c) 2001-2010, Intel Corporation + Copyright (c) 2001-2012, Intel Corporation All rights reserved. Redistribution and use in source and binary forms, with or without @@ -33,46 +33,33 @@ /*$FreeBSD$*/ #include "ixgbe_type.h" +#include "ixgbe_82598.h" #include "ixgbe_api.h" #include "ixgbe_common.h" #include "ixgbe_phy.h" -u32 ixgbe_get_pcie_msix_count_82598(struct ixgbe_hw *hw); -s32 ixgbe_init_ops_82598(struct ixgbe_hw *hw); static s32 ixgbe_get_link_capabilities_82598(struct ixgbe_hw *hw, - ixgbe_link_speed *speed, - bool *autoneg); + ixgbe_link_speed *speed, + bool *autoneg); static enum ixgbe_media_type ixgbe_get_media_type_82598(struct ixgbe_hw *hw); -s32 ixgbe_fc_enable_82598(struct ixgbe_hw *hw, s32 packetbuf_num); static s32 ixgbe_start_mac_link_82598(struct ixgbe_hw *hw, - bool autoneg_wait_to_complete); + bool autoneg_wait_to_complete); static s32 ixgbe_check_mac_link_82598(struct ixgbe_hw *hw, - ixgbe_link_speed *speed, bool *link_up, - bool link_up_wait_to_complete); + ixgbe_link_speed *speed, bool *link_up, + bool link_up_wait_to_complete); static s32 ixgbe_setup_mac_link_82598(struct ixgbe_hw *hw, - ixgbe_link_speed speed, - bool autoneg, - bool autoneg_wait_to_complete); + ixgbe_link_speed speed, + bool autoneg, + bool autoneg_wait_to_complete); static s32 ixgbe_setup_copper_link_82598(struct ixgbe_hw *hw, - ixgbe_link_speed speed, - bool autoneg, - bool autoneg_wait_to_complete); + ixgbe_link_speed speed, + bool autoneg, + bool autoneg_wait_to_complete); static s32 ixgbe_reset_hw_82598(struct ixgbe_hw *hw); -s32 ixgbe_start_hw_82598(struct ixgbe_hw *hw); -void ixgbe_enable_relaxed_ordering_82598(struct ixgbe_hw *hw); -s32 ixgbe_set_vmdq_82598(struct ixgbe_hw *hw, u32 rar, u32 vmdq); static s32 ixgbe_clear_vmdq_82598(struct ixgbe_hw *hw, u32 rar, u32 vmdq); -s32 ixgbe_set_vfta_82598(struct ixgbe_hw *hw, u32 vlan, - u32 vind, bool vlan_on); static s32 ixgbe_clear_vfta_82598(struct ixgbe_hw *hw); -s32 ixgbe_read_analog_reg8_82598(struct ixgbe_hw *hw, u32 reg, u8 *val); -s32 ixgbe_write_analog_reg8_82598(struct ixgbe_hw *hw, u32 reg, u8 val); -s32 ixgbe_read_i2c_eeprom_82598(struct ixgbe_hw *hw, u8 byte_offset, - u8 *eeprom_data); -u32 ixgbe_get_supported_physical_layer_82598(struct ixgbe_hw *hw); -s32 ixgbe_init_phy_ops_82598(struct ixgbe_hw *hw); -void ixgbe_set_lan_id_multi_port_pcie_82598(struct ixgbe_hw *hw); -void ixgbe_set_pcie_completion_timeout(struct ixgbe_hw *hw); +static void ixgbe_set_rxpba_82598(struct ixgbe_hw *hw, int num_pb, + u32 headroom, int strategy); /** * ixgbe_set_pcie_completion_timeout - set pci-e completion timeout @@ -131,7 +118,7 @@ u32 ixgbe_get_pcie_msix_count_82598(stru if (hw->mac.msix_vectors_from_pcie) { msix_count = IXGBE_READ_PCIE_WORD(hw, - IXGBE_PCIE_MSIX_82598_CAPS); + IXGBE_PCIE_MSIX_82598_CAPS); msix_count &= IXGBE_PCIE_MSIX_TBL_SZ_MASK; /* MSI-X count is zero-based in HW, so increment to give @@ -168,7 +155,7 @@ s32 ixgbe_init_ops_82598(struct ixgbe_hw mac->ops.reset_hw = &ixgbe_reset_hw_82598; mac->ops.get_media_type = &ixgbe_get_media_type_82598; mac->ops.get_supported_physical_layer = - &ixgbe_get_supported_physical_layer_82598; + &ixgbe_get_supported_physical_layer_82598; mac->ops.read_analog_reg8 = &ixgbe_read_analog_reg8_82598; mac->ops.write_analog_reg8 = &ixgbe_write_analog_reg8_82598; mac->ops.set_lan_id = &ixgbe_set_lan_id_multi_port_pcie_82598; @@ -177,18 +164,19 @@ s32 ixgbe_init_ops_82598(struct ixgbe_hw mac->ops.set_vmdq = &ixgbe_set_vmdq_82598; mac->ops.clear_vmdq = &ixgbe_clear_vmdq_82598; mac->ops.set_vfta = &ixgbe_set_vfta_82598; + mac->ops.set_vlvf = NULL; mac->ops.clear_vfta = &ixgbe_clear_vfta_82598; /* Flow Control */ mac->ops.fc_enable = &ixgbe_fc_enable_82598; - mac->mcft_size = 128; - mac->vft_size = 128; - mac->num_rar_entries = 16; - mac->rx_pb_size = 512; - mac->max_tx_queues = 32; - mac->max_rx_queues = 64; - mac->max_msix_vectors = ixgbe_get_pcie_msix_count_82598(hw); + mac->mcft_size = 128; + mac->vft_size = 128; + mac->num_rar_entries = 16; + mac->rx_pb_size = 512; + mac->max_tx_queues = 32; + mac->max_rx_queues = 64; + mac->max_msix_vectors = ixgbe_get_pcie_msix_count_82598(hw); /* SFP+ Module */ phy->ops.read_i2c_eeprom = &ixgbe_read_i2c_eeprom_82598; @@ -197,8 +185,11 @@ s32 ixgbe_init_ops_82598(struct ixgbe_hw mac->ops.check_link = &ixgbe_check_mac_link_82598; mac->ops.setup_link = &ixgbe_setup_mac_link_82598; mac->ops.flap_tx_laser = NULL; - mac->ops.get_link_capabilities = - &ixgbe_get_link_capabilities_82598; + mac->ops.get_link_capabilities = &ixgbe_get_link_capabilities_82598; + mac->ops.setup_rxpba = &ixgbe_set_rxpba_82598; + + /* Manageability interface */ + mac->ops.set_fw_drv_ver = NULL; return ret_val; } @@ -228,7 +219,7 @@ s32 ixgbe_init_phy_ops_82598(struct ixgb if (mac->ops.get_media_type(hw) == ixgbe_media_type_copper) { mac->ops.setup_link = &ixgbe_setup_copper_link_82598; mac->ops.get_link_capabilities = - &ixgbe_get_copper_link_capabilities_generic; + &ixgbe_get_copper_link_capabilities_generic; } switch (hw->phy.type) { @@ -236,11 +227,7 @@ s32 ixgbe_init_phy_ops_82598(struct ixgb phy->ops.setup_link = &ixgbe_setup_phy_link_tnx; phy->ops.check_link = &ixgbe_check_phy_link_tnx; phy->ops.get_firmware_version = - &ixgbe_get_phy_firmware_version_tnx; - break; - case ixgbe_phy_aq: - phy->ops.get_firmware_version = - &ixgbe_get_phy_firmware_version_generic; + &ixgbe_get_phy_firmware_version_tnx; break; case ixgbe_phy_nl: phy->ops.reset = &ixgbe_reset_phy_nl; @@ -256,8 +243,8 @@ s32 ixgbe_init_phy_ops_82598(struct ixgb /* Check to see if SFP+ module is supported */ ret_val = ixgbe_get_sfp_init_sequence_offsets(hw, - &list_offset, - &data_offset); + &list_offset, + &data_offset); if (ret_val != IXGBE_SUCCESS) { ret_val = IXGBE_ERR_SFP_NOT_SUPPORTED; goto out; @@ -301,7 +288,7 @@ s32 ixgbe_start_hw_82598(struct ixgbe_hw (i < IXGBE_DCA_MAX_QUEUES_82598)); i++) { regval = IXGBE_READ_REG(hw, IXGBE_DCA_RXCTRL(i)); regval &= ~(IXGBE_DCA_RXCTRL_DESC_WRO_EN | - IXGBE_DCA_RXCTRL_DESC_HSRO_EN); + IXGBE_DCA_RXCTRL_DESC_HSRO_EN); IXGBE_WRITE_REG(hw, IXGBE_DCA_RXCTRL(i), regval); } @@ -321,8 +308,8 @@ s32 ixgbe_start_hw_82598(struct ixgbe_hw * Determines the link capabilities by reading the AUTOC register. **/ static s32 ixgbe_get_link_capabilities_82598(struct ixgbe_hw *hw, - ixgbe_link_speed *speed, - bool *autoneg) + ixgbe_link_speed *speed, + bool *autoneg) { s32 status = IXGBE_SUCCESS; u32 autoc = 0; @@ -389,7 +376,6 @@ static enum ixgbe_media_type ixgbe_get_m switch (hw->phy.type) { case ixgbe_phy_cu_unknown: case ixgbe_phy_tn: - case ixgbe_phy_aq: media_type = ixgbe_media_type_copper; goto out; default: @@ -440,7 +426,6 @@ s32 ixgbe_fc_enable_82598(struct ixgbe_h u32 fctrl_reg; u32 rmcs_reg; u32 reg; - u32 rx_pba_size; u32 link_speed = 0; bool link_up; @@ -532,16 +517,13 @@ s32 ixgbe_fc_enable_82598(struct ixgbe_h /* Set up and enable Rx high/low water mark thresholds, enable XON. */ if (hw->fc.current_mode & ixgbe_fc_tx_pause) { - rx_pba_size = IXGBE_READ_REG(hw, IXGBE_RXPBSIZE(packetbuf_num)); - rx_pba_size >>= IXGBE_RXPBSIZE_SHIFT; - - reg = (rx_pba_size - hw->fc.low_water) << 6; + reg = hw->fc.low_water << 6; if (hw->fc.send_xon) reg |= IXGBE_FCRTL_XONE; IXGBE_WRITE_REG(hw, IXGBE_FCRTL(packetbuf_num), reg); - reg = (rx_pba_size - hw->fc.high_water) << 6; + reg = hw->fc.high_water[packetbuf_num] << 6; reg |= IXGBE_FCRTH_FCEN; IXGBE_WRITE_REG(hw, IXGBE_FCRTH(packetbuf_num), reg); @@ -569,7 +551,7 @@ out: * Restarts the link. Performs autonegotiation if needed. **/ static s32 ixgbe_start_mac_link_82598(struct ixgbe_hw *hw, - bool autoneg_wait_to_complete) + bool autoneg_wait_to_complete) { u32 autoc_reg; u32 links_reg; @@ -627,7 +609,7 @@ static s32 ixgbe_validate_link_ready(str for (timeout = 0; timeout < IXGBE_VALIDATE_LINK_READY_TIMEOUT; timeout++) { hw->phy.ops.read_reg(hw, IXGBE_MDIO_AUTO_NEG_STATUS, - IXGBE_MDIO_AUTO_NEG_DEV_TYPE, &an_reg); + IXGBE_MDIO_AUTO_NEG_DEV_TYPE, &an_reg); if ((an_reg & IXGBE_MII_AUTONEG_COMPLETE) && (an_reg & IXGBE_MII_AUTONEG_LINK_UP)) @@ -654,8 +636,8 @@ static s32 ixgbe_validate_link_ready(str * Reads the links register to determine if link is up and the current speed **/ static s32 ixgbe_check_mac_link_82598(struct ixgbe_hw *hw, - ixgbe_link_speed *speed, bool *link_up, - bool link_up_wait_to_complete) + ixgbe_link_speed *speed, bool *link_up, + bool link_up_wait_to_complete) { u32 links_reg; u32 i; @@ -673,7 +655,7 @@ static s32 ixgbe_check_mac_link_82598(st hw->phy.ops.read_reg(hw, 0xC79F, IXGBE_TWINAX_DEV, &link_reg); hw->phy.ops.read_reg(hw, 0xC79F, IXGBE_TWINAX_DEV, &link_reg); hw->phy.ops.read_reg(hw, 0xC00C, IXGBE_TWINAX_DEV, - &adapt_comp_reg); + &adapt_comp_reg); if (link_up_wait_to_complete) { for (i = 0; i < IXGBE_LINK_UP_TIME; i++) { if ((link_reg & 1) && @@ -685,11 +667,11 @@ static s32 ixgbe_check_mac_link_82598(st } msec_delay(100); hw->phy.ops.read_reg(hw, 0xC79F, - IXGBE_TWINAX_DEV, - &link_reg); + IXGBE_TWINAX_DEV, + &link_reg); hw->phy.ops.read_reg(hw, 0xC00C, - IXGBE_TWINAX_DEV, - &adapt_comp_reg); + IXGBE_TWINAX_DEV, + &adapt_comp_reg); } } else { if ((link_reg & 1) && ((adapt_comp_reg & 1) == 0)) @@ -730,11 +712,6 @@ static s32 ixgbe_check_mac_link_82598(st (ixgbe_validate_link_ready(hw) != IXGBE_SUCCESS)) *link_up = FALSE; - /* if link is down, zero out the current_mode */ *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@FreeBSD.ORG Mon Jan 30 18:28:57 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 63DD31065670; Mon, 30 Jan 2012 18:28:57 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 52AF48FC0C; Mon, 30 Jan 2012 18:28:57 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q0UISvvp097258; Mon, 30 Jan 2012 18:28:57 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q0UISvhb097256; Mon, 30 Jan 2012 18:28:57 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201201301828.q0UISvhb097256@svn.freebsd.org> From: Jung-uk Kim Date: Mon, 30 Jan 2012 18:28:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230777 - head/sys/amd64/acpica X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jan 2012 18:28:57 -0000 Author: jkim Date: Mon Jan 30 18:28:56 2012 New Revision: 230777 URL: http://svn.freebsd.org/changeset/base/230777 Log: Naturally align a newly added wakeup_fpusave. Modified: head/sys/amd64/acpica/acpi_wakecode.S Modified: head/sys/amd64/acpica/acpi_wakecode.S ============================================================================== --- head/sys/amd64/acpica/acpi_wakecode.S Mon Jan 30 17:17:31 2012 (r230776) +++ head/sys/amd64/acpica/acpi_wakecode.S Mon Jan 30 18:28:56 2012 (r230777) @@ -267,11 +267,11 @@ wakeup_ctx: .quad 0 wakeup_pcb: .quad 0 +wakeup_fpusave: + .quad 0 wakeup_gdt: .word 0 .quad 0 -wakeup_fpusave: - .quad 0 ALIGN_DATA wakeup_efer: From owner-svn-src-head@FreeBSD.ORG Mon Jan 30 18:44:25 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CFCA21065670; Mon, 30 Jan 2012 18:44:25 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id 8D21A8FC12; Mon, 30 Jan 2012 18:44:25 +0000 (UTC) Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [96.47.65.170]) by cyrus.watson.org (Postfix) with ESMTPSA id 2598E46B0D; Mon, 30 Jan 2012 13:44:25 -0500 (EST) Received: from jhbbsd.localnet (unknown [209.249.190.124]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id 8F24AB99F; Mon, 30 Jan 2012 13:44:24 -0500 (EST) From: John Baldwin To: Marius Strobl Date: Mon, 30 Jan 2012 09:32:06 -0500 User-Agent: KMail/1.13.5 (FreeBSD/8.2-CBSD-20110714-p10; KDE/4.5.5; amd64; ; ) References: <200906091426.n59EQNRC074046@svn.freebsd.org> <20120129154124.GB18227@alchemy.franken.de> In-Reply-To: <20120129154124.GB18227@alchemy.franken.de> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201201300932.06243.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Mon, 30 Jan 2012 13:44:24 -0500 (EST) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r193833 - in head: share/man/man9 sys/kern sys/sys X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jan 2012 18:44:26 -0000 On Sunday, January 29, 2012 10:41:24 am Marius Strobl wrote: > On Tue, Jun 09, 2009 at 02:26:23PM +0000, John Baldwin wrote: > > Author: jhb > > Date: Tue Jun 9 14:26:23 2009 > > New Revision: 193833 > > URL: http://svn.freebsd.org/changeset/base/193833 > > > > Log: > > Add support for multiple passes of the device tree during the boot-time > > probe. The current device order is unchanged. This commit just adds the > > infrastructure and ABI changes so that it is easier to merge later changes > > into 8.x. > > - Driver attachments now have an associated pass level. Attachments are > > not allowed to probe or attach to drivers until the system-wide pass level > > is >= the attachment's pass level. By default driver attachments use the > > "last" pass level (BUS_PASS_DEFAULT). Driver's that wish to probe during > > an earlier pass use EARLY_DRIVER_MODULE() instead of DRIVER_MODULE() which > > accepts the pass level as an additional parameter. > > - A new method BUS_NEW_PASS has been added to the bus interface. This > > method is invoked when the system-wide pass level is changed to kick off > > a rescan of the device tree so that drivers that have just been made > > "eligible" can probe and attach. > > - The bus_generic_new_pass() function provides a default implementation of > > BUS_NEW_PASS(). It first allows drivers that were just made eligible for > > this pass to identify new child devices. Then it propogates the rescan to > > child devices that already have an attached driver by invoking their > > BUS_NEW_PASS() method. It also reprobes devices without a driver. > > - BUS_PROBE_NOMATCH() is only invoked for devices that do not have > > an attached driver after being scanned during the final pass. > > - The bus_set_pass() function is used during boot to raise the pass level. > > Currently it is only called once during root_bus_configure() to raise > > the pass level to BUS_PASS_DEFAULT. This has the effect of probing all > > devices in a single pass identical to previous behavior. > > > > Reviewed by: imp > > Approved by: re (kib) > > > > What would be necessary to finally enable support for multi-pass > probing apart from the drivers also needing to set BUS_PASS_n if > they want to take part earlier than BUS_PASS_DEFAULT)? My > understanding is that this is should be as simple as changing > root_bus_configure() to return BUS_PASS_ROOT instead of > BUS_PASS_DEFAULT but the comment above that line actually talks > about splitting the return value (?) up somehow ... It will already work now without needing any changes. I have some older patches to make x86 probe ACPI and PCI busses and bridges early and they required no changes to the root bus. The reason for the comment is that I eventually imagine the multiple passes being split up so that we can do other actions after various passes are complete. For example, we might rewrite root_bus_configure() so that it looks something like: void root_bus_configure(void) { /* Enumerate the device tree and reserve static resources. */ bus_set_pass(BUS_PASS_RESOURCE); /* * Now scan devices to allocate dynamic resources, possibly * rewriting BARs, etc. */ /* some code that doesn't exist yet */ /* Now probe interrupt controllers. */ bus_set_pass(BUS_PASS_INTERRUPT); /* Now kick off interrupt routing via some new bus method. */ /* not written yet */ /* Finish probing everything else. */ bus_set_pass(BUS_PASS_DEFAULT); } This works because bus_set_pass() will do multiple scans of the tree, one per configured pass level, to raise the system's pass level up to the requested level. -- John Baldwin From owner-svn-src-head@FreeBSD.ORG Mon Jan 30 19:05:18 2012 Return-Path: Delivered-To: svn-src-head@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D1D3E106566C; Mon, 30 Jan 2012 19:05:18 +0000 (UTC) (envelope-from theraven@FreeBSD.org) Received: from theravensnest.org (theravensnest.org [109.169.23.128]) by mx1.freebsd.org (Postfix) with ESMTP id 4D44A8FC16; Mon, 30 Jan 2012 19:05:17 +0000 (UTC) Received: from [192.168.0.2] (cpc1-cwma8-2-0-cust257.7-3.cable.virginmedia.com [82.20.153.2]) (authenticated bits=0) by theravensnest.org (8.14.4/8.14.4) with ESMTP id q0UJ5Go1003483 (version=TLSv1/SSLv3 cipher=DHE-DSS-AES128-SHA bits=128 verify=NO); Mon, 30 Jan 2012 19:05:17 GMT (envelope-from theraven@FreeBSD.org) Mime-Version: 1.0 (Apple Message framework v1251.1) Content-Type: text/plain; charset=us-ascii From: David Chisnall In-Reply-To: <20120118190714.GA13375@zim.MIT.EDU> Date: Mon, 30 Jan 2012 19:05:11 +0000 Content-Transfer-Encoding: quoted-printable Message-Id: <318F6CAA-D37E-49E9-A147-E21DE803EFB7@FreeBSD.org> References: <201111201445.pAKEjgNR096676@svn.freebsd.org> <20120118190714.GA13375@zim.MIT.EDU> To: David Schultz X-Mailer: Apple Mail (2.1251.1) Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r227753 - in head: contrib/gdtoa include lib/libc/gdtoa lib/libc/gen lib/libc/locale lib/libc/regex lib/libc/stdio lib/libc/stdlib lib/libc/stdtime lib/libc/string X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jan 2012 19:05:18 -0000 On 18 Jan 2012, at 19:07, David Schultz wrote: > This patch appears to cause a large performance regression. For > example, I measured a 78% slowdown for strtol(" 42", ...). That's definitely worth taking a closer look at. I think we can cache = some things in TLS and avoid some pthread_getspecific calls. The = current code is the 'make it work' version. The 'make it fast' version = is planned... > Furthermore, the resulting static binary for a trivial program > goes from 7k to 303k, due to pulling in malloc, stdio, and all the > pthread stubs. =20 That's not ideal, but I'm not sure if it's avoidable. Is statically = linking libc something people regularly do? > Presumably the capabilities of the non-xlocale > entry points aren't appreciably changed, Well... actually they are. All of them now use the per-thread locale if = one is set, and only fall back to the global one if it isn't. The = behaviour is only unchanged if nothing in the program calls uselocale(). > so there ought to be a > way to avoid the overhead for them. Do you have any thoughts on this? Yup. A quick-and-dirty hack would be to add a flag that was set on the = first call to uselocale() and to always use the global locale if this is = not set. That should remove a lot of the overhead in cases where no one = uses the per-thread locales. =20 We can also probably store the locale in TLS, which (on platforms with = fast TLS) should speed up the lookup a bit. =20 > Some more minor issues... >=20 > It's also customary to document public APIs so that, for > instance, `man printf_l' pulls up a page with the prototype, > required #includes, and behavior. Aliasing manpages with > MLINKS as appropriate is fine; for instance, Darwin's manpages > on these functions look like a good example to follow. Yup, all of the foo_l manpages are missing. They're on my TODO, unless = any docs people want to get there first... > Finally, I'm not usually one to be picky about style, but could > you make a pass to clean things up a little bit to match the > surrounding code, wrap multiline comments to 80 columns, etc? > You've also added new copyright notices for one-line changes > (e.g., stdio/vdprintf.c, gdtoa/machdep_ldis?.c) and multiple > copyright notices in the same file (locale/collate.c), which > could be cleaned up concurrently. I'll take a look. David= From owner-svn-src-head@FreeBSD.ORG Mon Jan 30 19:07:04 2012 Return-Path: Delivered-To: svn-src-head@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D931C106564A; Mon, 30 Jan 2012 19:07:04 +0000 (UTC) (envelope-from das@FreeBSD.ORG) Received: from zim.MIT.EDU (ZIM.MIT.EDU [18.95.3.101]) by mx1.freebsd.org (Postfix) with ESMTP id A6AF28FC0A; Mon, 30 Jan 2012 19:07:04 +0000 (UTC) Received: from zim.MIT.EDU (localhost [127.0.0.1]) by zim.MIT.EDU (8.14.5/8.14.2) with ESMTP id q0UJ73j1044841; Mon, 30 Jan 2012 14:07:03 -0500 (EST) (envelope-from das@FreeBSD.ORG) Received: (from das@localhost) by zim.MIT.EDU (8.14.5/8.14.2/Submit) id q0UJ73xx044840; Mon, 30 Jan 2012 14:07:03 -0500 (EST) (envelope-from das@FreeBSD.ORG) Date: Mon, 30 Jan 2012 14:07:03 -0500 From: David Schultz To: Kostik Belousov Message-ID: <20120130190703.GA44663@zim.MIT.EDU> Mail-Followup-To: Kostik Belousov , Bruce Evans , Gleb Smirnoff , svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org References: <20120126233110.C960@besplex.bde.org> <20120126153641.GA68112@FreeBSD.org> <20120127194612.H1547@besplex.bde.org> <20120127091244.GZ2726@deviant.kiev.zoral.com.ua> <20120127194221.GA25723@zim.MIT.EDU> <20120128123748.GD2726@deviant.kiev.zoral.com.ua> <20120129001225.GA32220@zim.MIT.EDU> <20120129062327.GK2726@deviant.kiev.zoral.com.ua> <20120129223904.GA37483@zim.MIT.EDU> <20120130063034.GU2726@deviant.kiev.zoral.com.ua> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20120130063034.GU2726@deviant.kiev.zoral.com.ua> Cc: svn-src-head@FreeBSD.ORG, svn-src-all@FreeBSD.ORG, Gleb Smirnoff , src-committers@FreeBSD.ORG, Bruce Evans Subject: Re: svn commit: r230583 - head/sys/kern X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jan 2012 19:07:04 -0000 On Mon, Jan 30, 2012, Kostik Belousov wrote: > On Sun, Jan 29, 2012 at 05:39:04PM -0500, David Schultz wrote: > > On Sun, Jan 29, 2012, Kostik Belousov wrote: > > > On Sat, Jan 28, 2012 at 07:12:25PM -0500, David Schultz wrote: > > > > On Sat, Jan 28, 2012, Kostik Belousov wrote: > > > > > On Fri, Jan 27, 2012 at 02:42:21PM -0500, David Schultz wrote: > > > > > > The correct limit on the maximum size of a single read/write is > > > > > > SSIZE_MAX, but FreeBSD uses INT_MAX. It's not safe to raise the > > > > > > limit yet, though, because of bugs in several filesystems. For > > > > > > example, FFS copies uio_resid into a local variable of type int. > > > > > > I have some old patches that fix some of these issues for FFS and > > > > > > cd9660, but surely there are more places I didn't notice. > > > > > > > > > > > Absolutely agree. > > > > > > > > > > http://people.freebsd.org/~kib/misc/uio_resid.5.patch > > > > > > > > Nice. You found a lot more than I've got in my tree, and you even > > > > fixed the return values. There are at least a few more places to > > > > fix. For instance, cd9660 and the NFS client pass uio_resid or > > > > iov_len to min(), which operates on ints. (Incidentally, C11 > > > > generics ought to make it possible to write type-generic min() > > > > and max() functions.) > > > > > > Thank you, http://people.freebsd.org/~kib/misc/uio_resid.6.patch > > > changed them to MIN(). > > > > This looks good to me. I tried to think of other places that you > > might have missed, and the only one that occurred to me is the > Might ? I think this is a blatant understate. > > > pipe code. sys_pipe.c has an `int orig_resid' and lots of bogus > > casts of iov_len and uio_resid to type u_int. Some look harmless, > > although it appears that writing a multiple of 2^32 bytes might > > result in pipe_build_write_buffer() allocating a 0-length buffer. > > > > My only reservation is that raising the limit could unmask a > > kernel buffer overflow if we missed something, but I guess we have > > to cross that bridge some day anyway. > Yes, and it is an obvious reason why I am chicken to commit this for > so long time. One more place, if this is reasonable to count as 'one' > place, are the cdevsw methods. devfs passes uio down to the drivers. That's why I'm glad I'm not committing it. :) A more conservative change (also known as "kicking the can down the road") would be to add a VFS flag, e.g., VFCF_LONGIO, and only set it on file systems that have been thoroughly reviewed. The VFS layer could cap the size at INT_MAX for file systems without the flag. > diff --git a/sys/kern/sys_pipe.c b/sys/kern/sys_pipe.c > index 9edcb74..332ec37 100644 > --- a/sys/kern/sys_pipe.c > +++ b/sys/kern/sys_pipe.c [...] > @@ -757,14 +757,14 @@ pipe_build_write_buffer(wpipe, uio) > struct pipe *wpipe; > struct uio *uio; > { > - u_int size; > + size_t size; > int i; > > PIPE_LOCK_ASSERT(wpipe, MA_NOTOWNED); > KASSERT(wpipe->pipe_state & PIPE_DIRECTW, > ("Clone attempt on non-direct write pipe!")); > > - size = (u_int) uio->uio_iov->iov_len; > + size = uio->uio_iov->iov_len; > if (size > wpipe->pipe_buffer.size) > size = wpipe->pipe_buffer.size; The transfer can't be bigger than the max pipe buffer size (64k), so `size = (int)MIN(uio->uio_iov->iov_len, wpipe->pipe_buffer.size)' should suffice. The same comment applies elsewhere in the file. From owner-svn-src-head@FreeBSD.ORG Mon Jan 30 19:19:23 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 15D01106564A; Mon, 30 Jan 2012 19:19:23 +0000 (UTC) (envelope-from ambrisko@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0450A8FC1F; Mon, 30 Jan 2012 19:19:23 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q0UJJMxF098784; Mon, 30 Jan 2012 19:19:22 GMT (envelope-from ambrisko@svn.freebsd.org) Received: (from ambrisko@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q0UJJMKk098781; Mon, 30 Jan 2012 19:19:22 GMT (envelope-from ambrisko@svn.freebsd.org) Message-Id: <201201301919.q0UJJMKk098781@svn.freebsd.org> From: Doug Ambrisko Date: Mon, 30 Jan 2012 19:19:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230778 - head/sys/kern X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jan 2012 19:19:23 -0000 Author: ambrisko Date: Mon Jan 30 19:19:22 2012 New Revision: 230778 URL: http://svn.freebsd.org/changeset/base/230778 Log: When detaching an AIO or LIO requests grab the lock and tell knlist_remove that we have the lock now. This cleans up a locking panic ASSERT when knlist_empty is called without a lock when INVARIANTS etc. are turned. Reviewed by: kib jhb MFC after: 1 week Modified: head/sys/kern/vfs_aio.c Modified: head/sys/kern/vfs_aio.c ============================================================================== --- head/sys/kern/vfs_aio.c Mon Jan 30 18:28:56 2012 (r230777) +++ head/sys/kern/vfs_aio.c Mon Jan 30 19:19:22 2012 (r230778) @@ -2535,10 +2535,13 @@ filt_aioattach(struct knote *kn) static void filt_aiodetach(struct knote *kn) { - struct aiocblist *aiocbe = kn->kn_ptr.p_aio; + struct knlist *knl; - if (!knlist_empty(&aiocbe->klist)) - knlist_remove(&aiocbe->klist, kn, 0); + knl = &kn->kn_ptr.p_aio->klist; + knl->kl_lock(knl->kl_lockarg); + if (!knlist_empty(knl)) + knlist_remove(knl, kn, 1); + knl->kl_unlock(knl->kl_lockarg); } /* kqueue filter function */ @@ -2580,10 +2583,13 @@ filt_lioattach(struct knote *kn) static void filt_liodetach(struct knote *kn) { - struct aioliojob * lj = kn->kn_ptr.p_lio; + struct knlist *knl; - if (!knlist_empty(&lj->klist)) - knlist_remove(&lj->klist, kn, 0); + knl = &kn->kn_ptr.p_lio->klist; + knl->kl_lock(knl->kl_lockarg); + if (!knlist_empty(knl)) + knlist_remove(knl, kn, 1); + knl->kl_unlock(knl->kl_lockarg); } /* kqueue filter function */ From owner-svn-src-head@FreeBSD.ORG Mon Jan 30 19:31:18 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2CAEB106566B; Mon, 30 Jan 2012 19:31:18 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1BA9B8FC0A; Mon, 30 Jan 2012 19:31:18 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q0UJVHf0099194; Mon, 30 Jan 2012 19:31:17 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q0UJVHw1099192; Mon, 30 Jan 2012 19:31:17 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201201301931.q0UJVHw1099192@svn.freebsd.org> From: Konstantin Belousov Date: Mon, 30 Jan 2012 19:31:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230779 - head/sys/powerpc/aim X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jan 2012 19:31:18 -0000 Author: kib Date: Mon Jan 30 19:31:17 2012 New Revision: 230779 URL: http://svn.freebsd.org/changeset/base/230779 Log: Fix build for the case of powerpc64 kernel without COMPAT_FREEBSD32. MFC after: 2 months Modified: head/sys/powerpc/aim/mmu_oea64.c Modified: head/sys/powerpc/aim/mmu_oea64.c ============================================================================== --- head/sys/powerpc/aim/mmu_oea64.c Mon Jan 30 19:19:22 2012 (r230778) +++ head/sys/powerpc/aim/mmu_oea64.c Mon Jan 30 19:31:17 2012 (r230779) @@ -114,6 +114,7 @@ __FBSDID("$FreeBSD$"); * correct. */ +#include "opt_compat.h" #include "opt_kstack_pages.h" #include @@ -1466,7 +1467,9 @@ moea64_init(mmu_t mmu) uma_zone_set_allocf(moea64_mpvo_zone,moea64_uma_page_alloc); } +#ifdef COMPAT_FREEBSD32 elf32_nxstack = 1; +#endif moea64_initialized = TRUE; } From owner-svn-src-head@FreeBSD.ORG Mon Jan 30 19:35:16 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8C1621065677; Mon, 30 Jan 2012 19:35:16 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7B2D58FC19; Mon, 30 Jan 2012 19:35:16 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q0UJZGcD099428; Mon, 30 Jan 2012 19:35:16 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q0UJZGW7099426; Mon, 30 Jan 2012 19:35:16 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201201301935.q0UJZGW7099426@svn.freebsd.org> From: John Baldwin Date: Mon, 30 Jan 2012 19:35:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230782 - head/sys/kern X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jan 2012 19:35:16 -0000 Author: jhb Date: Mon Jan 30 19:35:15 2012 New Revision: 230782 URL: http://svn.freebsd.org/changeset/base/230782 Log: Refine the implementation of POSIX_FADV_NOREUSE for the read(2) case such that instead of using direct I/O it allows read-ahead similar to POSIX_FADV_NORMAL, but invokes VOP_ADVISE(POSIX_FADV_DONTNEED) after the read(2) has completed to purge just-read data. The write(2) path continues to use direct I/O for POSIX_FADV_NOREUSE for now. Note that NOREUSE works optimally if an application reads and writes full fs blocks. Modified: head/sys/kern/vfs_vnops.c Modified: head/sys/kern/vfs_vnops.c ============================================================================== --- head/sys/kern/vfs_vnops.c Mon Jan 30 19:34:41 2012 (r230781) +++ head/sys/kern/vfs_vnops.c Mon Jan 30 19:35:15 2012 (r230782) @@ -519,6 +519,7 @@ vn_read(fp, uio, active_cred, flags, td) int error, ioflag; struct mtx *mtxp; int advice, vfslocked; + off_t offset; KASSERT(uio->uio_td == td, ("uio_td %p is not td %p", uio->uio_td, td)); @@ -558,19 +559,14 @@ vn_read(fp, uio, active_cred, flags, td) switch (advice) { case POSIX_FADV_NORMAL: case POSIX_FADV_SEQUENTIAL: + case POSIX_FADV_NOREUSE: ioflag |= sequential_heuristic(uio, fp); break; case POSIX_FADV_RANDOM: /* Disable read-ahead for random I/O. */ break; - case POSIX_FADV_NOREUSE: - /* - * Request the underlying FS to discard the buffers - * and pages after the I/O is complete. - */ - ioflag |= IO_DIRECT; - break; } + offset = uio->uio_offset; #ifdef MAC error = mac_vnode_check_read(active_cred, fp->f_cred, vp); @@ -587,6 +583,10 @@ vn_read(fp, uio, active_cred, flags, td) } fp->f_nextoff = uio->uio_offset; VOP_UNLOCK(vp, 0); + if (error == 0 && advice == POSIX_FADV_NOREUSE && + offset != uio->uio_offset) + error = VOP_ADVISE(vp, offset, uio->uio_offset - 1, + POSIX_FADV_DONTNEED); VFS_UNLOCK_GIANT(vfslocked); return (error); } From owner-svn-src-head@FreeBSD.ORG Mon Jan 30 19:45:41 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 257FE1065687; Mon, 30 Jan 2012 19:45:41 +0000 (UTC) (envelope-from raj@semihalf.com) Received: from smtp.semihalf.com (smtp.semihalf.com [213.17.239.109]) by mx1.freebsd.org (Postfix) with ESMTP id C97538FC08; Mon, 30 Jan 2012 19:45:40 +0000 (UTC) Received: from localhost (unknown [213.17.239.109]) by smtp.semihalf.com (Postfix) with ESMTP id D98FCC3849; Mon, 30 Jan 2012 20:27:38 +0100 (CET) X-Virus-Scanned: by amavisd-new at semihalf.com Received: from smtp.semihalf.com ([213.17.239.109]) by localhost (smtp.semihalf.com [213.17.239.109]) (amavisd-new, port 10024) with ESMTP id YgY2JXBCWTzi; Mon, 30 Jan 2012 20:27:38 +0100 (CET) Received: from [10.0.0.112] (nat3-133.ghnet.pl [91.150.222.133]) by smtp.semihalf.com (Postfix) with ESMTPSA id 28CE0C3847; Mon, 30 Jan 2012 20:27:38 +0100 (CET) Mime-Version: 1.0 (Apple Message framework v1084) Content-Type: text/plain; charset=us-ascii From: Rafal Jaworowski In-Reply-To: <201201271829.q0RIT4Xq051545@svn.freebsd.org> Date: Mon, 30 Jan 2012 20:27:36 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: References: <201201271829.q0RIT4Xq051545@svn.freebsd.org> To: Dimitry Andric X-Mailer: Apple Mail (2.1084) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r230622 - head X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jan 2012 19:45:41 -0000 On 2012-01-27, at 19:29, Dimitry Andric wrote: > Author: dim > Date: Fri Jan 27 18:29:03 2012 > New Revision: 230622 > URL: http://svn.freebsd.org/changeset/base/230622 >=20 > Log: > When the buildkernel stage 2.3 (build tools) runs, the PATH is still = set > to the default from the top-level Makefile. Therefore, invocations = of > lex and yacc (used during building of aicasm) will use the = executables > in /usr/bin, not those optionally built during the previous = buildworld > or kernel-toolchain. This makes kernel builds from older FreeBSD > releases more difficult than necessary. >=20 > Fix this by setting PATH to ${BPATH}:${PATH} in stage 2.3, so the > bootstrap tools directories are searched before the regular ones. Is this supposed to work for cross building as well? I'm still = encountering problems on a 7.3 host build: 1. Cross world builds fine make -j 8 buildworld TARGET_ARCH=3Darm 2. Kernel fails w/ the aicasm make buildkernel TARGET_ARCH=3Darm KERNCONF=3DSHEEVAPLUG [...] cc -O2 -pipe -nostdinc -I/usr/include -I. = -I/home/raj/work/svn/base/head/sys/dev/aic7xxx/aicasm -std=3Dgnu99 = -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter = -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type = -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter = -Wcast-align -Wno-pointer-sign -c aicasm_scan.c cc1: warnings being treated as errors /home/raj/work/svn/base/head/sys/dev/aic7xxx/aicasm/aicasm_scan.l:837: = warning: function declaration isn't a prototype *** Error code 1 Stop in = /home/raj/work/obj/arm.arm/home/raj/work/svn/base/head/sys/SHEEVAPLUG. *** Error code 1 Stop in /home/raj/work/svn/base/head. *** Error code 1 Stop in /home/raj/work/svn/base/head. Do you know any workarounds to this? Rafal From owner-svn-src-head@FreeBSD.ORG Mon Jan 30 19:50:14 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 183921065673; Mon, 30 Jan 2012 19:50:14 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 077B98FC13; Mon, 30 Jan 2012 19:50:14 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q0UJoDYT099933; Mon, 30 Jan 2012 19:50:13 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q0UJoDPb099931; Mon, 30 Jan 2012 19:50:13 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201201301950.q0UJoDPb099931@svn.freebsd.org> From: Konstantin Belousov Date: Mon, 30 Jan 2012 19:50:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230783 - head/sys/sys X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jan 2012 19:50:14 -0000 Author: kib Date: Mon Jan 30 19:50:13 2012 New Revision: 230783 URL: http://svn.freebsd.org/changeset/base/230783 Log: Add definition for PT_GNU_RELRO. MFC after: 3 days Modified: head/sys/sys/elf_common.h Modified: head/sys/sys/elf_common.h ============================================================================== --- head/sys/sys/elf_common.h Mon Jan 30 19:35:15 2012 (r230782) +++ head/sys/sys/elf_common.h Mon Jan 30 19:50:13 2012 (r230783) @@ -328,6 +328,7 @@ typedef struct { #define PT_SUNW_UNWIND 0x6464e550 /* amd64 UNWIND program header */ #define PT_GNU_EH_FRAME 0x6474e550 #define PT_GNU_STACK 0x6474e551 +#define PT_GNU_RELRO 0x6474e552 #define PT_LOSUNW 0x6ffffffa #define PT_SUNWBSS 0x6ffffffa /* Sun Specific segment */ #define PT_SUNWSTACK 0x6ffffffb /* describes the stack segment */ From owner-svn-src-head@FreeBSD.ORG Mon Jan 30 19:52:18 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 00CBF106566B; Mon, 30 Jan 2012 19:52:18 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E3A098FC0C; Mon, 30 Jan 2012 19:52:17 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q0UJqHA7000135; Mon, 30 Jan 2012 19:52:17 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q0UJqHTs000131; Mon, 30 Jan 2012 19:52:17 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201201301952.q0UJqHTs000131@svn.freebsd.org> From: Konstantin Belousov Date: Mon, 30 Jan 2012 19:52:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230784 - head/libexec/rtld-elf X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jan 2012 19:52:18 -0000 Author: kib Date: Mon Jan 30 19:52:17 2012 New Revision: 230784 URL: http://svn.freebsd.org/changeset/base/230784 Log: Add support for GNU RELRO. Submitted by: John Marino MFC after: 2 weeks Modified: head/libexec/rtld-elf/map_object.c head/libexec/rtld-elf/rtld.c head/libexec/rtld-elf/rtld.h Modified: head/libexec/rtld-elf/map_object.c ============================================================================== --- head/libexec/rtld-elf/map_object.c Mon Jan 30 19:50:13 2012 (r230783) +++ head/libexec/rtld-elf/map_object.c Mon Jan 30 19:52:17 2012 (r230784) @@ -84,6 +84,8 @@ map_object(int fd, const char *path, con Elf_Addr bss_vlimit; caddr_t bss_addr; Elf_Word stack_flags; + Elf_Addr relro_page; + size_t relro_size; hdr = get_elf_header(fd, path); if (hdr == NULL) @@ -100,6 +102,8 @@ map_object(int fd, const char *path, con nsegs = -1; phdyn = phinterp = phtls = NULL; phdr_vaddr = 0; + relro_page = 0; + relro_size = 0; segs = alloca(sizeof(segs[0]) * hdr->e_phnum); stack_flags = RTLD_DEFAULT_STACK_PF_EXEC | PF_R | PF_W; while (phdr < phlimit) { @@ -134,6 +138,11 @@ map_object(int fd, const char *path, con case PT_GNU_STACK: stack_flags = phdr->p_flags; break; + + case PT_GNU_RELRO: + relro_page = phdr->p_vaddr; + relro_size = phdr->p_memsz; + break; } ++phdr; @@ -269,6 +278,9 @@ map_object(int fd, const char *path, con obj->tlsinit = mapbase + phtls->p_vaddr; } obj->stack_flags = stack_flags; + obj->relro_page = obj->relocbase + trunc_page(relro_page); + obj->relro_size = round_page(relro_size); + return obj; } Modified: head/libexec/rtld-elf/rtld.c ============================================================================== --- head/libexec/rtld-elf/rtld.c Mon Jan 30 19:50:13 2012 (r230783) +++ head/libexec/rtld-elf/rtld.c Mon Jan 30 19:52:17 2012 (r230784) @@ -1114,6 +1114,11 @@ digest_phdr(const Elf_Phdr *phdr, int ph case PT_GNU_STACK: obj->stack_flags = ph->p_flags; break; + + case PT_GNU_RELRO: + obj->relro_page = obj->relocbase + trunc_page(ph->p_vaddr); + obj->relro_size = round_page(ph->p_memsz); + break; } } if (nsegs < 1) { @@ -2007,6 +2012,14 @@ relocate_objects(Obj_Entry *first, bool if (reloc_jmpslots(obj, lockstate) == -1) return -1; + if (obj->relro_size > 0) { + if (mprotect(obj->relro_page, obj->relro_size, PROT_READ) == -1) { + _rtld_error("%s: Cannot enforce relro protection: %s", + obj->path, strerror(errno)); + return -1; + } + } + /* * Set up the magic number and version in the Obj_Entry. These * were checked in the crt1.o from the original ElfKit, so we Modified: head/libexec/rtld-elf/rtld.h ============================================================================== --- head/libexec/rtld-elf/rtld.h Mon Jan 30 19:50:13 2012 (r230783) +++ head/libexec/rtld-elf/rtld.h Mon Jan 30 19:52:17 2012 (r230784) @@ -168,6 +168,9 @@ typedef struct Struct_Obj_Entry { size_t tlsoffset; /* Offset of static TLS block for this module */ size_t tlsalign; /* Alignment of static TLS block */ + caddr_t relro_page; + size_t relro_size; + /* Items from the dynamic section. */ Elf_Addr *pltgot; /* PLT or GOT, depending on architecture */ const Elf_Rel *rel; /* Relocation entries */ From owner-svn-src-head@FreeBSD.ORG Mon Jan 30 20:00:29 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D0C5C106564A; Mon, 30 Jan 2012 20:00:29 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id BFB9E8FC08; Mon, 30 Jan 2012 20:00:29 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q0UK0Tli000441; Mon, 30 Jan 2012 20:00:29 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q0UK0TBZ000439; Mon, 30 Jan 2012 20:00:29 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201201302000.q0UK0TBZ000439@svn.freebsd.org> From: Konstantin Belousov Date: Mon, 30 Jan 2012 20:00:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230785 - head/sys/kern X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jan 2012 20:00:29 -0000 Author: kib Date: Mon Jan 30 20:00:29 2012 New Revision: 230785 URL: http://svn.freebsd.org/changeset/base/230785 Log: A debugger which requested PT_FOLLOW_FORK should get the notification about new child not only when doing PT_TO_SCX, but also for PT_CONTINUE. If TDB_FORK flag is set, always issue a stop, the same as is done for TDB_EXEC. Reported by: Dmitry Mikulin MFC after: 1 week Modified: head/sys/kern/subr_syscall.c Modified: head/sys/kern/subr_syscall.c ============================================================================== --- head/sys/kern/subr_syscall.c Mon Jan 30 19:52:17 2012 (r230784) +++ head/sys/kern/subr_syscall.c Mon Jan 30 20:00:29 2012 (r230785) @@ -212,7 +212,8 @@ syscallret(struct thread *td, int error, * executes. If debugger requested tracing of syscall * returns, do it now too. */ - if (traced && ((td->td_dbgflags & TDB_EXEC) != 0 || + if (traced && + ((td->td_dbgflags & (TDB_FORK | TDB_EXEC)) != 0 || (p->p_stops & S_PT_SCX) != 0)) ptracestop(td, SIGTRAP); td->td_dbgflags &= ~(TDB_SCX | TDB_EXEC | TDB_FORK); From owner-svn-src-head@FreeBSD.ORG Mon Jan 30 20:08:46 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A37031065675; Mon, 30 Jan 2012 20:08:46 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from tensor.andric.com (cl-327.ede-01.nl.sixxs.net [IPv6:2001:7b8:2ff:146::2]) by mx1.freebsd.org (Postfix) with ESMTP id 6259D8FC0A; Mon, 30 Jan 2012 20:08:46 +0000 (UTC) Received: from [IPv6:2001:7b8:3a7:0:2059:d200:251:990d] (unknown [IPv6:2001:7b8:3a7:0:2059:d200:251:990d]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id 85BD05C59; Mon, 30 Jan 2012 21:08:44 +0100 (CET) Message-ID: <4F26F8C9.3080807@FreeBSD.org> Date: Mon, 30 Jan 2012 21:08:41 +0100 From: Dimitry Andric Organization: The FreeBSD Project User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0) Gecko/20120124 Thunderbird/10.0 MIME-Version: 1.0 To: Rafal Jaworowski References: <201201271829.q0RIT4Xq051545@svn.freebsd.org> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r230622 - head X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jan 2012 20:08:46 -0000 On 2012-01-30 20:27, Rafal Jaworowski wrote: ... >> Fix this by setting PATH to ${BPATH}:${PATH} in stage 2.3, so the >> bootstrap tools directories are searched before the regular ones. > > Is this supposed to work for cross building as well? I'm still encountering problems on a 7.3 host build: > > 1. Cross world builds fine > make -j 8 buildworld TARGET_ARCH=arm > > 2. Kernel fails w/ the aicasm > make buildkernel TARGET_ARCH=arm KERNCONF=SHEEVAPLUG > [...] > cc -O2 -pipe -nostdinc -I/usr/include -I. -I/home/raj/work/svn/base/head/sys/dev/aic7xxx/aicasm -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wno-pointer-sign -c aicasm_scan.c > cc1: warnings being treated as errors > /home/raj/work/svn/base/head/sys/dev/aic7xxx/aicasm/aicasm_scan.l:837: warning: function declaration isn't a prototype Can you please try doing "make buildenv TARGET_ARCH=arm", then run "which lex" and "which yacc"? From owner-svn-src-head@FreeBSD.ORG Mon Jan 30 20:12:31 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8D758106567D; Mon, 30 Jan 2012 20:12:31 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id 655888FC1A; Mon, 30 Jan 2012 20:12:31 +0000 (UTC) Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [96.47.65.170]) by cyrus.watson.org (Postfix) with ESMTPSA id 1F4EF46B0C; Mon, 30 Jan 2012 15:12:31 -0500 (EST) Received: from jhbbsd.localnet (unknown [209.249.190.124]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id 95E99B915; Mon, 30 Jan 2012 15:12:30 -0500 (EST) From: John Baldwin To: src-committers@freebsd.org Date: Mon, 30 Jan 2012 15:12:30 -0500 User-Agent: KMail/1.13.5 (FreeBSD/8.2-CBSD-20110714-p10; KDE/4.5.5; amd64; ; ) References: <201201301935.q0UJZGW7099426@svn.freebsd.org> In-Reply-To: <201201301935.q0UJZGW7099426@svn.freebsd.org> MIME-Version: 1.0 Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <201201301512.30116.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Mon, 30 Jan 2012 15:12:30 -0500 (EST) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org Subject: Re: svn commit: r230782 - head/sys/kern X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jan 2012 20:12:31 -0000 On Monday, January 30, 2012 2:35:16 pm John Baldwin wrote: > Author: jhb > Date: Mon Jan 30 19:35:15 2012 > New Revision: 230782 > URL: http://svn.freebsd.org/changeset/base/230782 > > Log: > Refine the implementation of POSIX_FADV_NOREUSE for the read(2) case such > that instead of using direct I/O it allows read-ahead similar to > POSIX_FADV_NORMAL, but invokes VOP_ADVISE(POSIX_FADV_DONTNEED) after the > read(2) has completed to purge just-read data. The write(2) path continues > to use direct I/O for POSIX_FADV_NOREUSE for now. Note that NOREUSE works > optimally if an application reads and writes full fs blocks. Oops, forgot: Tested by: jilles The NOREUSE bits may still need further refinement. For example, if we allow something along the lines of 'POSIX_FADV_NOREUSE | POSIX_FADV_SEQUENTIAL', then we could change the VOP_ADVISE() here to use 0 as the starting offset which should do a better job of not leaving data in RAM due to reading partial blocks. Also, sequentially reading a file on unaligned block offsets with NOREUSE can result in extraneous reads currently, and we could possibly alleviate those by changing DONTNEED to only flush wholly contained-blocks rather than wholly-contained pages from the backing VM object. However, without the previous change I suggested that will exacerbate the problem of NOREUSE not actually purging any data from RAM. The problem with the | approach though is that it is not portable, so it is not likely that portable programs like vlc will use it. HP/UX had an extended variant of fadvise() that allowed multiple policies to be set on a range, apparently to handle exactly this case (sequential and noreuse). The problem seems to be that noreuse is really orthogonal to the other access-pattern hints (normal vs random vs sequential). Finally, I've wondered if POSIX_FADV_SEQUENTIAL shouldn't just mandate the maximum read-ahead and write-clustering rather than using the heuristics. It's not completely clear if we did that what the "right" thing to do if an application does posix_fadvise(POSIX_FADV_SEQUENTIAL) followed by fcntl(F_READAHEAD) with a different size, esp. given that posix_fadvise() can theoretically only apply to a range of the file descriptor whereas F_READAHEAD applies globally to the file descriptor. -- John Baldwin From owner-svn-src-head@FreeBSD.ORG Mon Jan 30 20:17:59 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 30D071065674; Mon, 30 Jan 2012 20:17:59 +0000 (UTC) (envelope-from raj@semihalf.com) Received: from smtp.semihalf.com (smtp.semihalf.com [213.17.239.109]) by mx1.freebsd.org (Postfix) with ESMTP id D1D648FC14; Mon, 30 Jan 2012 20:17:58 +0000 (UTC) Received: from localhost (unknown [213.17.239.109]) by smtp.semihalf.com (Postfix) with ESMTP id ABE81C3849; Mon, 30 Jan 2012 21:17:57 +0100 (CET) X-Virus-Scanned: by amavisd-new at semihalf.com Received: from smtp.semihalf.com ([213.17.239.109]) by localhost (smtp.semihalf.com [213.17.239.109]) (amavisd-new, port 10024) with ESMTP id VUVt8U9VXcGX; Mon, 30 Jan 2012 21:17:57 +0100 (CET) Received: from [10.0.0.112] (nat3-133.ghnet.pl [91.150.222.133]) by smtp.semihalf.com (Postfix) with ESMTPSA id E0207C3847; Mon, 30 Jan 2012 21:17:56 +0100 (CET) Mime-Version: 1.0 (Apple Message framework v1084) Content-Type: text/plain; charset=us-ascii From: Rafal Jaworowski In-Reply-To: <4F26F8C9.3080807@FreeBSD.org> Date: Mon, 30 Jan 2012 21:17:56 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: References: <201201271829.q0RIT4Xq051545@svn.freebsd.org> <4F26F8C9.3080807@FreeBSD.org> To: Dimitry Andric X-Mailer: Apple Mail (2.1084) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r230622 - head X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jan 2012 20:17:59 -0000 On 2012-01-30, at 21:08, Dimitry Andric wrote: > On 2012-01-30 20:27, Rafal Jaworowski wrote: > ... >>> Fix this by setting PATH to ${BPATH}:${PATH} in stage 2.3, so the >>> bootstrap tools directories are searched before the regular ones. >>=20 >> Is this supposed to work for cross building as well? I'm still = encountering problems on a 7.3 host build: >>=20 >> 1. Cross world builds fine >> make -j 8 buildworld TARGET_ARCH=3Darm >>=20 >> 2. Kernel fails w/ the aicasm >> make buildkernel TARGET_ARCH=3Darm KERNCONF=3DSHEEVAPLUG >> [...] >> cc -O2 -pipe -nostdinc -I/usr/include -I. = -I/home/raj/work/svn/base/head/sys/dev/aic7xxx/aicasm -std=3Dgnu99 = -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter = -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type = -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter = -Wcast-align -Wno-pointer-sign -c aicasm_scan.c >> cc1: warnings being treated as errors >> = /home/raj/work/svn/base/head/sys/dev/aic7xxx/aicasm/aicasm_scan.l:837: = warning: function declaration isn't a prototype >=20 > Can you please try doing "make buildenv TARGET_ARCH=3Darm", then run > "which lex" and "which yacc"? make buildenv TARGET_ARCH=3Darm Entering world for arm:arm $ which lex = /home/raj/work/obj//arm.arm/home/raj/work/svn/base/head/tmp/legacy/usr/bin= /lex $ which yacc = /home/raj/work/obj//arm.arm/home/raj/work/svn/base/head/tmp/legacy/usr/bin= /yacc $=20 They seem freshly built (from the earlier buildworld run). Rafal From owner-svn-src-head@FreeBSD.ORG Mon Jan 30 20:19:29 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0F914106566C; Mon, 30 Jan 2012 20:19:29 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id F327F8FC0A; Mon, 30 Jan 2012 20:19:28 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q0UKJSXx001421; Mon, 30 Jan 2012 20:19:28 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q0UKJSG1001419; Mon, 30 Jan 2012 20:19:28 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201201302019.q0UKJSG1001419@svn.freebsd.org> From: Warner Losh Date: Mon, 30 Jan 2012 20:19:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230786 - head X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jan 2012 20:19:29 -0000 Author: imp Date: Mon Jan 30 20:19:28 2012 New Revision: 230786 URL: http://svn.freebsd.org/changeset/base/230786 Log: Allow specification of build shell for the buildenv target. Submitted by: ian lepore Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Mon Jan 30 20:00:29 2012 (r230785) +++ head/Makefile.inc1 Mon Jan 30 20:19:28 2012 (r230786) @@ -19,6 +19,7 @@ # list # TARGET="machine" to crossbuild world for a different machine type # TARGET_ARCH= may be required when a TARGET supports multiple endians +# BUILDENV_SHELL= shell to launch for the buildenv target (def:/bin/sh) # # The intended user-driven targets are: @@ -108,6 +109,8 @@ CLEANDIR= cleandir LOCAL_TOOL_DIRS?= +BUILDENV_SHELL?=/bin/sh + CVS?= cvs CVSFLAGS?= -A -P -d -I! SVN?= svn @@ -558,7 +561,7 @@ buildenvvars: buildenv: @echo Entering world for ${TARGET_ARCH}:${TARGET} - @cd ${.CURDIR} && env ${WMAKEENV} sh || true + @cd ${.CURDIR} && env ${WMAKEENV} ${BUILDENV_SHELL} || true TOOLCHAIN_TGTS= ${WMAKE_TGTS:N_depend:Neverything:Nbuild32} toolchain: ${TOOLCHAIN_TGTS} From owner-svn-src-head@FreeBSD.ORG Mon Jan 30 21:01:34 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5B2AF106564A for ; Mon, 30 Jan 2012 21:01:34 +0000 (UTC) (envelope-from freebsd@damnhippie.dyndns.org) Received: from qmta12.emeryville.ca.mail.comcast.net (qmta12.emeryville.ca.mail.comcast.net [76.96.27.227]) by mx1.freebsd.org (Postfix) with ESMTP id 3F0A08FC14 for ; Mon, 30 Jan 2012 21:01:34 +0000 (UTC) Received: from omta04.emeryville.ca.mail.comcast.net ([76.96.30.35]) by qmta12.emeryville.ca.mail.comcast.net with comcast id Twh71i0010lTkoCACwoQLJ; Mon, 30 Jan 2012 20:48:24 +0000 Received: from damnhippie.dyndns.org ([24.8.232.202]) by omta04.emeryville.ca.mail.comcast.net with comcast id TwoN1i01A4NgCEG8QwoPfc; Mon, 30 Jan 2012 20:48:24 +0000 Received: from [172.22.42.240] (revolution.hippie.lan [172.22.42.240]) by damnhippie.dyndns.org (8.14.3/8.14.3) with ESMTP id q0UKmLX0019418; Mon, 30 Jan 2012 13:48:21 -0700 (MST) (envelope-from freebsd@damnhippie.dyndns.org) From: Ian Lepore To: Dimitry Andric In-Reply-To: <4F26F8C9.3080807@FreeBSD.org> References: <201201271829.q0RIT4Xq051545@svn.freebsd.org> <4F26F8C9.3080807@FreeBSD.org> Content-Type: text/plain Date: Mon, 30 Jan 2012 13:48:21 -0700 Message-Id: <1327956501.1662.13.camel@revolution.hippie.lan> Mime-Version: 1.0 X-Mailer: Evolution 2.26.0 FreeBSD GNOME Team Port Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, Rafal Jaworowski , svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r230622 - head X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jan 2012 21:01:34 -0000 On Mon, 2012-01-30 at 21:08 +0100, Dimitry Andric wrote: > On 2012-01-30 20:27, Rafal Jaworowski wrote: > ... > >> Fix this by setting PATH to ${BPATH}:${PATH} in stage 2.3, so the > >> bootstrap tools directories are searched before the regular ones. > > > > Is this supposed to work for cross building as well? I'm still encountering problems on a 7.3 host build: > > > > 1. Cross world builds fine > > make -j 8 buildworld TARGET_ARCH=arm > > > > 2. Kernel fails w/ the aicasm > > make buildkernel TARGET_ARCH=arm KERNCONF=SHEEVAPLUG > > [...] > > cc -O2 -pipe -nostdinc -I/usr/include -I. -I/home/raj/work/svn/base/head/sys/dev/aic7xxx/aicasm -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wno-pointer-sign -c aicasm_scan.c > > cc1: warnings being treated as errors > > /home/raj/work/svn/base/head/sys/dev/aic7xxx/aicasm/aicasm_scan.l:837: warning: function declaration isn't a prototype > > Can you please try doing "make buildenv TARGET_ARCH=arm", then run > "which lex" and "which yacc"? Shouldn't lex and yacc be listed in the Makefile.inc1 bootstrap-tools target for this to be fully effective? It looks like neither is in RELENG_7 and lex is only conditionally listed in RELENG_8. -- Ian From owner-svn-src-head@FreeBSD.ORG Mon Jan 30 21:02:25 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C9960106564A; Mon, 30 Jan 2012 21:02:25 +0000 (UTC) (envelope-from brueffer@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id ADCE18FC17; Mon, 30 Jan 2012 21:02:25 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q0UL2PjP002821; Mon, 30 Jan 2012 21:02:25 GMT (envelope-from brueffer@svn.freebsd.org) Received: (from brueffer@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q0UL2PlA002817; Mon, 30 Jan 2012 21:02:25 GMT (envelope-from brueffer@svn.freebsd.org) Message-Id: <201201302102.q0UL2PlA002817@svn.freebsd.org> From: Christian Brueffer Date: Mon, 30 Jan 2012 21:02:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230787 - head/share/man/man9 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jan 2012 21:02:26 -0000 Author: brueffer Date: Mon Jan 30 21:02:25 2012 New Revision: 230787 URL: http://svn.freebsd.org/changeset/base/230787 Log: Manpages for the buf_ring and drbr interfaces. Submitted by: kmacy (aeons ago) MFC after: 1 week Added: head/share/man/man9/buf_ring.9 (contents, props changed) head/share/man/man9/drbr.9 (contents, props changed) Modified: head/share/man/man9/Makefile Modified: head/share/man/man9/Makefile ============================================================================== --- head/share/man/man9/Makefile Mon Jan 30 20:19:28 2012 (r230786) +++ head/share/man/man9/Makefile Mon Jan 30 21:02:25 2012 (r230787) @@ -12,6 +12,7 @@ MAN= accept_filter.9 \ boot.9 \ bpf.9 \ buf.9 \ + buf_ring.9 \ BUF_ISLOCKED.9 \ BUF_LOCK.9 \ BUF_LOCKFREE.9 \ @@ -99,6 +100,7 @@ MAN= accept_filter.9 \ devtoname.9 \ disk.9 \ domain.9 \ + drbr.9 \ driver.9 \ DRIVER_MODULE.9 \ EVENTHANDLER.9 \ @@ -410,6 +412,16 @@ MLINKS+=bpf.9 bpfattach.9 \ bpf.9 bpf_tap.9 \ bpf.9 bpf_validate.9 MLINKS+=buf.9 bp.9 +MLINKS+=buf_ring.9 buf_ring_alloc.9 \ + buf_ring.9 buf_ring_free.9 \ + buf_ring.9 buf_ring_enqueue.9 \ + buf_ring.9 buf_ring_enqueue_bytes.9 \ + buf_ring.9 buf_ring_dequeue_mc.9 \ + buf_ring.9 buf_ring_dequeue_sc.9 \ + buf_ring.9 buf_ring_count.9 \ + buf_ring.9 buf_ring_empty.9 \ + buf_ring.9 buf_ring_full.9 \ + buf_ring.9 buf_ring_peek.9 MLINKS+=bus_activate_resource.9 bus_deactivate_resource.9 MLINKS+=bus_alloc_resource.9 bus_alloc_resource_any.9 MLINKS+=BUS_BIND_INTR.9 bus_bind_intr.9 @@ -608,6 +620,14 @@ MLINKS+=domain.9 DOMAIN_SET.9 \ domain.9 pfctlinput2.9 \ domain.9 pffindproto.9 \ domain.9 pffindtype.9 +MLINKS+=drbr.9 drbr_free.9 \ + drbr.9 drbr_enqueue.9 \ + drbr.9 drbr_dequeue.9 \ + drbr.9 drbr_dequeue_cond.9 \ + drbr.9 drbr_flush.9 \ + drbr.9 drbr_empty.9 \ + drbr.9 drbr_inuse.9 \ + drbr.9 drbr_stats_update.9 MLINKS+=EVENTHANDLER.9 EVENTHANDLER_DECLARE.9 \ EVENTHANDLER.9 EVENTHANDLER_DEREGISTER.9 \ EVENTHANDLER.9 eventhandler_deregister.9 \ Added: head/share/man/man9/buf_ring.9 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/share/man/man9/buf_ring.9 Mon Jan 30 21:02:25 2012 (r230787) @@ -0,0 +1,144 @@ +.\" Copyright (c) 2009 Bitgravity Inc +.\" Written by: Kip Macy +.\" 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 January 30, 2012 +.Dt BUF_RING 9 +.Os +.Sh NAME +.Nm buf_ring , +.Nm buf_ring_alloc , +.Nm buf_ring_free , +.Nm buf_ring_enqueue , +.Nm buf_ring_enqueue_bytes , +.Nm buf_ring_dequeue_mc , +.Nm buf_ring_dequeue_sc , +.Nm buf_ring_count , +.Nm buf_ring_empty , +.Nm buf_ring_full , +.Nm buf_ring_peek , +.Nd multi-producer, {single, multi}-consumer lock-less ring buffer +.Sh SYNOPSIS +.In sys/param.h +.In sys/buf_ring.h +.Ft struct buf_ring * +.Fn buf_ring_alloc "int count" "struct malloc_type *type" "int flags" "struct mtx *sc_lock" +.Ft void +.Fn buf_ring_free "struct buf_ring *br" "struct malloc_type *type" +.Ft int +.Fn buf_ring_enqueue "struct buf_ring *br" "void *buf" +.Ft int +.Fn buf_ring_enqueue_bytes "struct buf_ring *br" "void *buf" "int bytes" +.Ft void * +.Fn buf_ring_dequeue_mc "struct buf_ring *br" +.Ft void * +.Fn buf_ring_dequeue_sc "struct buf_ring *br" +.Ft int +.Fn buf_ring_count "struct buf_ring *br" +.Ft int +.Fn buf_ring_empty "struct buf_ring *br" +.Ft int +.Fn buf_ring_full "struct buf_ring *br" +.Ft void * +.Fn buf_ring_peek "struct buf_ring *br" +.Sh DESCRIPTION +The +.Nm +functions provide a lock-less multi-producer and lock-less multi-consumer as +well as single-consumer ring buffer. +.Pp +The +.Fn buf_ring_alloc +function is used to allocate a buf_ring ring buffer with +.Fa count +slots using malloc_type +.Fa type +and memory flags +.Fa flags . +The single consumer interface is protected by +.Fa sc_lock . +.Pp +The +.Fn buf_ring_free +function is used to free a buf_ring. +The user is responsible for freeing any enqueued items. +.Pp +The +.Fn buf_ring_enqueue +function is used to enqueue a buffer to a buf_ring. +.Pp +The +.Fn buf_ring_enqueue_bytes +function is used to enqueue a buffer to a buf_ring and increment the +number of bytes enqueued by +.Fa bytes . +.Pp +The +.Fn buf_ring_dequeue_mc +function is a multi-consumer safe way of dequeueing elements from a buf_ring. +.Pp +The +.Fn buf_ring_dequeue_sc +function is a single-consumer interface to dequeue elements - requiring +the user to serialize accesses with a lock. +.Pp +The +.Fn buf_ring_count +function returns the number of elements in a buf_ring. +.Pp +The +.Fn buf_ring_empty +function returns +.Dv TRUE +if the buf_ring is empty, +.Dv FALSE +otherwise. +.Pp +The +.Fn buf_ring_full +function returns +.Dv TRUE +if no more items can be enqueued, +.Dv FALSE +otherwise. +.Pp +The +.Fn buf_ring_peek +function returns a pointer to the last element in the buf_ring if the +buf_ring is not empty, +.Dv NULL +otherwise. +.Sh RETURN VALUES +The +.Fn buf_ring_enqueue +and +.Fn buf_ring_enqueue_bytes +functions return +.Er ENOBUFS +if there are no available slots in the buf_ring. +.Sh HISTORY +These functions were introduced in +.Fx 8.0 . Added: head/share/man/man9/drbr.9 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/share/man/man9/drbr.9 Mon Jan 30 21:02:25 2012 (r230787) @@ -0,0 +1,147 @@ +.\" Copyright (c) 2009 Bitgravity Inc +.\" Written by: Kip Macy +.\" 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 January 30, 2012 +.Dt DRBR 9 +.Os +.Sh NAME +.Nm drbr , +.Nm drbr_free , +.Nm drbr_enqueue , +.Nm drbr_dequeue , +.Nm drbr_dequeue_cond , +.Nm drbr_flush , +.Nm drbr_empty , +.Nm drbr_inuse , +.Nm drbr_stats_update , +.Nd network driver interface to buf_ring +.Sh SYNOPSIS +.In sys/param.h +.In net/if.h +.In net/if_var.h +.Ft void +.Fn drbr_free "struct buf_ring *br" "struct malloc_type *type" +.Ft int +.Fn drbr_enqueue "struct ifnet *ifp" "struct buf_ring *br" "struct mbuf *m" +.Ft struct mbuf * +.Fn drbr_dequeue "struct ifnet *ifp" "struct buf_ring *br" +.Ft struct mbuf * +.Fn drbr_dequeue_cond "struct ifnet *ifp" "struct buf_ring *br" "int (*func) (struct mbuf *, void *)" "void *arg" +.Ft void +.Fn drbr_flush "struct ifnet *ifp" "struct buf_ring *br" +.Ft int +.Fn drbr_empty "struct ifnet *ifp" "struct buf_ring *br" +.Ft int +.Fn drbr_inuse "struct ifnet *ifp" "struct buf_ring *br" +.Ft void +.Fn drbr_stats_update "struct ifnet *ifp" "int len" "int mflags" +.Sh DESCRIPTION +The +.Nm +functions provide an API to network drivers for using +.Xr buf_ring 9 +for enqueueing and dequeueing packets. +This is meant as a replacement for the IFQ interface for packet queuing. +It allows a packet to be enqueued with a single atomic and packet +dequeue to be done without any per-packet atomics as it is protected +by the driver's tx queue lock. +If +.Dv INVARIANTS +is enabled, +.Fn drbr_dequeue +will assert that the tx queue lock is held when it is called. +.Pp +The +.Fn drbr_free +function frees all the enqueued mbufs and then frees the buf_ring. +.Pp +The +.Fn drbr_enqueue +function is used to enqueue an mbuf to a buf_ring, falling back to the +ifnet's IFQ if +.Xr ALTQ 4 +is enabled. +.Pp +The +.Fn drbr_dequeue +function is used to dequeue an mbuf from a buf_ring or, if +.Xr ALTQ 4 +is enabled, from the ifnet's IFQ. +.Pp +The +.Fn drbr_dequeue_cond +function is used to conditionally dequeue an mbuf from a buf_ring based +on whether +.Fa func +returns +.Dv TRUE +or +.Dv FALSE . +.Pp +The +.Fn drbr_flush +function frees all mbufs enqueued in the buf_ring and the ifnet's IFQ. +.Pp +The +.Fn drbr_empty +function returns +.Dv TRUE +if there are no mbufs enqueued, +.Dv FALSE +otherwise. +.Pp +The +.Fn drbr_inuse +function returns the number of mbufs enqueued. +Note to users that this is intrinsically racy as there is no guarantee that +there will not be more mbufs when +.Fn drbr_dequeue +is actually called. +Provided the tx queue lock is held there will not be less. +.Pp +The +.Fn drbr_stats_update +function updates the number of bytes and the number of multicast packets sent. +.Sh RETURN VALUES +The +.Fn drbr_enqueue +function returns +.Er ENOBUFS +if there are no slots available in the buf_ring and +.Dv 0 +on success. +.Pp +The +.Fn drbr_dequeue +and +.Fn drbr_dequeue_cond +functions return an mbuf on success and +.Dv NULL +if the buf_ring is empty. +.Sh HISTORY +These functions were introduced in +.Fx 8.0 . From owner-svn-src-head@FreeBSD.ORG Mon Jan 30 21:26:32 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 602AE106566B; Mon, 30 Jan 2012 21:26:32 +0000 (UTC) (envelope-from das@freebsd.org) Received: from zim.MIT.EDU (ZIM.MIT.EDU [18.95.3.101]) by mx1.freebsd.org (Postfix) with ESMTP id 067FA8FC13; Mon, 30 Jan 2012 21:26:31 +0000 (UTC) Received: from zim.MIT.EDU (localhost [127.0.0.1]) by zim.MIT.EDU (8.14.5/8.14.2) with ESMTP id q0ULQVH1045463; Mon, 30 Jan 2012 16:26:31 -0500 (EST) (envelope-from das@freebsd.org) Received: (from das@localhost) by zim.MIT.EDU (8.14.5/8.14.2/Submit) id q0ULQVqc045462; Mon, 30 Jan 2012 16:26:31 -0500 (EST) (envelope-from das@freebsd.org) Date: Mon, 30 Jan 2012 16:26:31 -0500 From: David Schultz To: David Chisnall Message-ID: <20120130212631.GA45106@zim.MIT.EDU> Mail-Followup-To: David Chisnall , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201111201445.pAKEjgNR096676@svn.freebsd.org> <20120118190714.GA13375@zim.MIT.EDU> <318F6CAA-D37E-49E9-A147-E21DE803EFB7@FreeBSD.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <318F6CAA-D37E-49E9-A147-E21DE803EFB7@FreeBSD.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r227753 - in head: contrib/gdtoa include lib/libc/gdtoa lib/libc/gen lib/libc/locale lib/libc/regex lib/libc/stdio lib/libc/stdlib lib/libc/stdtime lib/libc/string X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jan 2012 21:26:32 -0000 On Mon, Jan 30, 2012, David Chisnall wrote: > On 18 Jan 2012, at 19:07, David Schultz wrote: > > > This patch appears to cause a large performance regression. For > > example, I measured a 78% slowdown for strtol(" 42", ...). > > That's definitely worth taking a closer look at. I think we can cache some things in TLS and avoid some pthread_getspecific calls. The current code is the 'make it work' version. The 'make it fast' version is planned... Sounds good; I look forward to it. > > Furthermore, the resulting static binary for a trivial program > > goes from 7k to 303k, due to pulling in malloc, stdio, and all the > > pthread stubs. > > That's not ideal, but I'm not sure if it's avoidable. Is statically linking libc something people regularly do? Aside from bde, probably not many. This is definitely a second-order concern. FreeBSD has a set of statically linked binaries in /rescue for situations where /lib gets screwed up. Space is an issue there because the root partition is historically sized quite small. Embedded folks might also care, but I'll let them speak for themselves. I did get a request several years ago from an embedded developer to unbreak the NO_FLOATING_POINT option in libc, and you could imagine perhaps a NO_LOCALE option as well. > Yup. A quick-and-dirty hack would be to add a flag that was set on the first call to uselocale() and to always use the global locale if this is not set. That should remove a lot of the overhead in cases where no one uses the per-thread locales. > > We can also probably store the locale in TLS, which (on platforms with fast TLS) should speed up the lookup a bit. I thought that's what thread_(get|set)_locale already did. Actually, it's counterintuitive that it would be significantly slower to access per-thread state than global state. Any idea why? Maybe it says something about our pthread_getspecific() implementation. I will run the code through a profiler some day, but I don't have the cycles right now. From owner-svn-src-head@FreeBSD.ORG Mon Jan 30 21:44:33 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EB60E1065672 for ; Mon, 30 Jan 2012 21:44:33 +0000 (UTC) (envelope-from freebsd@damnhippie.dyndns.org) Received: from qmta06.emeryville.ca.mail.comcast.net (qmta06.emeryville.ca.mail.comcast.net [76.96.30.56]) by mx1.freebsd.org (Postfix) with ESMTP id CB6948FC12 for ; Mon, 30 Jan 2012 21:44:33 +0000 (UTC) Received: from omta14.emeryville.ca.mail.comcast.net ([76.96.30.60]) by qmta06.emeryville.ca.mail.comcast.net with comcast id Txjc1i0011HpZEsA6xkZeT; Mon, 30 Jan 2012 21:44:33 +0000 Received: from damnhippie.dyndns.org ([24.8.232.202]) by omta14.emeryville.ca.mail.comcast.net with comcast id TxkY1i0034NgCEG8axkYW3; Mon, 30 Jan 2012 21:44:33 +0000 Received: from [172.22.42.240] (revolution.hippie.lan [172.22.42.240]) by damnhippie.dyndns.org (8.14.3/8.14.3) with ESMTP id q0ULiUfM019472; Mon, 30 Jan 2012 14:44:30 -0700 (MST) (envelope-from freebsd@damnhippie.dyndns.org) From: Ian Lepore To: David Schultz In-Reply-To: <20120130212631.GA45106@zim.MIT.EDU> References: <201111201445.pAKEjgNR096676@svn.freebsd.org> <20120118190714.GA13375@zim.MIT.EDU> <318F6CAA-D37E-49E9-A147-E21DE803EFB7@FreeBSD.org> <20120130212631.GA45106@zim.MIT.EDU> Content-Type: text/plain Date: Mon, 30 Jan 2012 14:44:30 -0700 Message-Id: <1327959870.1662.59.camel@revolution.hippie.lan> Mime-Version: 1.0 X-Mailer: Evolution 2.26.0 FreeBSD GNOME Team Port Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, David Chisnall Subject: Re: svn commit: r227753 - in head: contrib/gdtoa include lib/libc/gdtoa lib/libc/gen lib/libc/locale lib/libc/regex lib/libc/stdio lib/libc/stdlib lib/libc/stdtime lib/libc/string X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jan 2012 21:44:34 -0000 On Mon, 2012-01-30 at 16:26 -0500, David Schultz wrote: > On Mon, Jan 30, 2012, David Chisnall wrote: > > On 18 Jan 2012, at 19:07, David Schultz wrote: > > > > > This patch appears to cause a large performance regression. For > > > example, I measured a 78% slowdown for strtol(" 42", ...). > > > > That's definitely worth taking a closer look at. I think we can cache some things in TLS and avoid some pthread_getspecific calls. The current code is the 'make it work' version. The 'make it fast' version is planned... > > Sounds good; I look forward to it. > > > > Furthermore, the resulting static binary for a trivial program > > > goes from 7k to 303k, due to pulling in malloc, stdio, and all the > > > pthread stubs. > > > > That's not ideal, but I'm not sure if it's avoidable. Is statically linking libc something people regularly do? > > Aside from bde, probably not many. This is definitely a > second-order concern. > > FreeBSD has a set of statically linked binaries in /rescue for > situations where /lib gets screwed up. Space is an issue there > because the root partition is historically sized quite small. > > Embedded folks might also care, but I'll let them speak for > themselves. I did get a request several years ago from an > embedded developer to unbreak the NO_FLOATING_POINT option in > libc, and you could imagine perhaps a NO_LOCALE option as well. > If locale support starts adding a lot of cycles or memory, then we embedded folks might like a NO_LOCALE option. 100k here, 200k there, and before you know it you're cursing some hardware designer who was sure that you'd never use all of the 64MB of ram he generously gave you. -- Ian From owner-svn-src-head@FreeBSD.ORG Mon Jan 30 21:56:34 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4497D106564A; Mon, 30 Jan 2012 21:56:34 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from tensor.andric.com (cl-327.ede-01.nl.sixxs.net [IPv6:2001:7b8:2ff:146::2]) by mx1.freebsd.org (Postfix) with ESMTP id 007B88FC1B; Mon, 30 Jan 2012 21:56:33 +0000 (UTC) Received: from [IPv6:2001:7b8:3a7:0:2059:d200:251:990d] (unknown [IPv6:2001:7b8:3a7:0:2059:d200:251:990d]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id 2AF725C59; Mon, 30 Jan 2012 22:56:33 +0100 (CET) Message-ID: <4F27120E.5000207@FreeBSD.org> Date: Mon, 30 Jan 2012 22:56:30 +0100 From: Dimitry Andric Organization: The FreeBSD Project User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0) Gecko/20120124 Thunderbird/10.0 MIME-Version: 1.0 To: Ian Lepore References: <201201271829.q0RIT4Xq051545@svn.freebsd.org> <4F26F8C9.3080807@FreeBSD.org> <1327956501.1662.13.camel@revolution.hippie.lan> In-Reply-To: <1327956501.1662.13.camel@revolution.hippie.lan> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, Rafal Jaworowski , svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r230622 - head X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jan 2012 21:56:34 -0000 On 2012-01-30 21:48, Ian Lepore wrote: > On Mon, 2012-01-30 at 21:08 +0100, Dimitry Andric wrote: >> On 2012-01-30 20:27, Rafal Jaworowski wrote: >> ... >>>> Fix this by setting PATH to ${BPATH}:${PATH} in stage 2.3, so the >>>> bootstrap tools directories are searched before the regular ones. >>> >>> Is this supposed to work for cross building as well? I'm still encountering problems on a 7.3 host build: >>> >>> 1. Cross world builds fine >>> make -j 8 buildworld TARGET_ARCH=arm >>> >>> 2. Kernel fails w/ the aicasm >>> make buildkernel TARGET_ARCH=arm KERNCONF=SHEEVAPLUG >>> [...] >>> cc -O2 -pipe -nostdinc -I/usr/include -I. -I/home/raj/work/svn/base/head/sys/dev/aic7xxx/aicasm -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wno-pointer-sign -c aicasm_scan.c >>> cc1: warnings being treated as errors >>> /home/raj/work/svn/base/head/sys/dev/aic7xxx/aicasm/aicasm_scan.l:837: warning: function declaration isn't a prototype >> >> Can you please try doing "make buildenv TARGET_ARCH=arm", then run >> "which lex" and "which yacc"? > > Shouldn't lex and yacc be listed in the Makefile.inc1 bootstrap-tools > target for this to be fully effective? It looks like neither is in > RELENG_7 and lex is only conditionally listed in RELENG_8. It is, for head at least (but I think I will MFC this change, if it turns out to work correctly). Look in Makefile.inc1, around line 1030: .if ${BOOTSTRAPPING} < 900006 _lex= usr.bin/lex _yacc= usr.bin/yacc .endif I have assumed Rafal is building a head checkout on 7.3 release. Since BOOTSTRAPPING will most likely be 703000, the lex and yacc targets are built during the bootstrap-tools stage. That said, I still don't understand why the generated aicasm_scan.c file is still defining the input() function. Rafal, just to be sure, can you please paste the file that was generated during your buildkernel? From owner-svn-src-head@FreeBSD.ORG Mon Jan 30 22:28:03 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DE8A6106564A; Mon, 30 Jan 2012 22:28:03 +0000 (UTC) (envelope-from sgk@troutmask.apl.washington.edu) Received: from troutmask.apl.washington.edu (troutmask.apl.washington.edu [128.95.76.21]) by mx1.freebsd.org (Postfix) with ESMTP id BAB2B8FC13; Mon, 30 Jan 2012 22:28:03 +0000 (UTC) Received: from troutmask.apl.washington.edu (localhost.apl.washington.edu [127.0.0.1]) by troutmask.apl.washington.edu (8.14.5/8.14.5) with ESMTP id q0UMS3OW032331; Mon, 30 Jan 2012 14:28:03 -0800 (PST) (envelope-from sgk@troutmask.apl.washington.edu) Received: (from sgk@localhost) by troutmask.apl.washington.edu (8.14.5/8.14.5/Submit) id q0UMS3SK032330; Mon, 30 Jan 2012 14:28:03 -0800 (PST) (envelope-from sgk) Date: Mon, 30 Jan 2012 14:28:03 -0800 From: Steve Kargl To: David Chisnall , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-ID: <20120130222803.GA32068@troutmask.apl.washington.edu> References: <201111201445.pAKEjgNR096676@svn.freebsd.org> <20120118190714.GA13375@zim.MIT.EDU> <318F6CAA-D37E-49E9-A147-E21DE803EFB7@FreeBSD.org> <20120130212631.GA45106@zim.MIT.EDU> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20120130212631.GA45106@zim.MIT.EDU> User-Agent: Mutt/1.4.2.3i Cc: Subject: Re: svn commit: r227753 - in head: contrib/gdtoa include lib/libc/gdtoa lib/libc/gen lib/libc/locale lib/libc/regex lib/libc/stdio lib/libc/stdlib lib/libc/stdtime lib/libc/string X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jan 2012 22:28:04 -0000 On Mon, Jan 30, 2012 at 04:26:31PM -0500, David Schultz wrote: > > FreeBSD has a set of statically linked binaries in /rescue for > situations where /lib gets screwed up. Space is an issue there > because the root partition is historically sized quite small. /rescue is a single binary created with crunchgen and 137 hard links. There's also one 9K script. BTW, I known of someone besides bde who creates statically linked binaries; particularly when he's debugging and profiling the his code. :-) -- Steve From owner-svn-src-head@FreeBSD.ORG Mon Jan 30 22:47:03 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 947B41065670; Mon, 30 Jan 2012 22:47:03 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 839128FC0A; Mon, 30 Jan 2012 22:47:03 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q0UMl3L5006020; Mon, 30 Jan 2012 22:47:03 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q0UMl3co006018; Mon, 30 Jan 2012 22:47:03 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201201302247.q0UMl3co006018@svn.freebsd.org> From: Warner Losh Date: Mon, 30 Jan 2012 22:47:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230789 - head/sys/dev/fe X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jan 2012 22:47:03 -0000 Author: imp Date: Mon Jan 30 22:47:02 2012 New Revision: 230789 URL: http://svn.freebsd.org/changeset/base/230789 Log: Improve media status reporting, when the driver knows... Modified: head/sys/dev/fe/if_fe.c Modified: head/sys/dev/fe/if_fe.c ============================================================================== --- head/sys/dev/fe/if_fe.c Mon Jan 30 22:32:54 2012 (r230788) +++ head/sys/dev/fe/if_fe.c Mon Jan 30 22:47:02 2012 (r230789) @@ -2255,6 +2255,7 @@ fe_medchange (struct ifnet *ifp) static void fe_medstat (struct ifnet *ifp, struct ifmediareq *ifmr) { - (void)ifp; - (void)ifmr; + struct fe_softc *sc = ifp->if_softc; + + ifmr->ifm_active = sc->media.ifm_media; } From owner-svn-src-head@FreeBSD.ORG Mon Jan 30 23:03:22 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 82334106566B; Mon, 30 Jan 2012 23:03:22 +0000 (UTC) (envelope-from jfv@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6DA9F8FC1C; Mon, 30 Jan 2012 23:03:22 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q0UN3MgH006563; Mon, 30 Jan 2012 23:03:22 GMT (envelope-from jfv@svn.freebsd.org) Received: (from jfv@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q0UN3MYN006561; Mon, 30 Jan 2012 23:03:22 GMT (envelope-from jfv@svn.freebsd.org) Message-Id: <201201302303.q0UN3MYN006561@svn.freebsd.org> From: Jack F Vogel Date: Mon, 30 Jan 2012 23:03:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230790 - head/sys/dev/ixgbe X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jan 2012 23:03:22 -0000 Author: jfv Date: Mon Jan 30 23:03:21 2012 New Revision: 230790 URL: http://svn.freebsd.org/changeset/base/230790 Log: Wrap the bool typedef Modified: head/sys/dev/ixgbe/ixgbe_osdep.h Modified: head/sys/dev/ixgbe/ixgbe_osdep.h ============================================================================== --- head/sys/dev/ixgbe/ixgbe_osdep.h Mon Jan 30 22:47:02 2012 (r230789) +++ head/sys/dev/ixgbe/ixgbe_osdep.h Mon Jan 30 23:03:21 2012 (r230790) @@ -106,7 +106,9 @@ typedef uint16_t u16; typedef uint32_t u32; typedef int32_t s32; typedef uint64_t u64; +#ifndef __bool_true_false_are_defined typedef boolean_t bool; +#endif #define le16_to_cpu From owner-svn-src-head@FreeBSD.ORG Mon Jan 30 23:07:27 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E2886106566B; Mon, 30 Jan 2012 23:07:27 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C1EC08FC0C; Mon, 30 Jan 2012 23:07:27 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q0UN7RL2006724; Mon, 30 Jan 2012 23:07:27 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q0UN7Rvl006718; Mon, 30 Jan 2012 23:07:27 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201201302307.q0UN7Rvl006718@svn.freebsd.org> From: Adrian Chadd Date: Mon, 30 Jan 2012 23:07:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230791 - in head/sys/dev/ath/ath_hal: ar5210 ar5211 ar5212 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jan 2012 23:07:28 -0000 Author: adrian Date: Mon Jan 30 23:07:27 2012 New Revision: 230791 URL: http://svn.freebsd.org/changeset/base/230791 Log: Radar API related fixes. * For legacy NICs, the combined RSSI should be used. For earlier AR5416 NICs, use control chain 0 RSSI rather than combined RSSI. For AR5416 > version 2.1, use the combined RSSI again. * Add in a missing AR5212 HAL method (get11nextbusy) which may be called by radar code. This serves no functional change for what's currently in FreeBSD. Modified: head/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c head/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c head/sys/dev/ath/ath_hal/ar5212/ar5212.h head/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c head/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c Modified: head/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c ============================================================================== --- head/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c Mon Jan 30 23:03:21 2012 (r230790) +++ head/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c Mon Jan 30 23:07:27 2012 (r230791) @@ -359,6 +359,12 @@ ar5210FillCapabilityInfo(struct ath_hal pCap->halChanHalfRate = AH_FALSE; pCap->halChanQuarterRate = AH_FALSE; + /* + * RSSI uses the combined field; some 11n NICs may use + * the control chain RSSI. + */ + pCap->halUseCombinedRadarRssi = AH_TRUE; + if (ath_hal_eepromGetFlag(ah, AR_EEP_RFKILL)) { /* * Setup initial rfsilent settings based on the EEPROM Modified: head/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c ============================================================================== --- head/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c Mon Jan 30 23:03:21 2012 (r230790) +++ head/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c Mon Jan 30 23:07:27 2012 (r230791) @@ -494,6 +494,12 @@ ar5211FillCapabilityInfo(struct ath_hal pCap->halChanHalfRate = AH_FALSE; pCap->halChanQuarterRate = AH_FALSE; + /* + * RSSI uses the combined field; some 11n NICs may use + * the control chain RSSI. + */ + pCap->halUseCombinedRadarRssi = AH_TRUE; + if (ath_hal_eepromGetFlag(ah, AR_EEP_RFKILL) && ath_hal_eepromGet(ah, AR_EEP_RFSILENT, &ahpriv->ah_rfsilent) == HAL_OK) { /* NB: enabled by default */ Modified: head/sys/dev/ath/ath_hal/ar5212/ar5212.h ============================================================================== --- head/sys/dev/ath/ath_hal/ar5212/ar5212.h Mon Jan 30 23:03:21 2012 (r230790) +++ head/sys/dev/ath/ath_hal/ar5212/ar5212.h Mon Jan 30 23:07:27 2012 (r230791) @@ -628,5 +628,6 @@ extern HAL_BOOL ar5212ProcessRadarEvent( struct ath_rx_status *rxs, uint64_t fulltsf, const char *buf, HAL_DFS_EVENT *event); extern HAL_BOOL ar5212IsFastClockEnabled(struct ath_hal *ah); +extern uint32_t ar5212Get11nExtBusy(struct ath_hal *ah); #endif /* _ATH_AR5212_H_ */ Modified: head/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c ============================================================================== --- head/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c Mon Jan 30 23:03:21 2012 (r230790) +++ head/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c Mon Jan 30 23:07:27 2012 (r230791) @@ -134,6 +134,7 @@ static const struct ath_hal_private ar52 .ah_getDfsThresh = ar5212GetDfsThresh, .ah_procRadarEvent = ar5212ProcessRadarEvent, .ah_isFastClockEnabled = ar5212IsFastClockEnabled, + .ah_get11nExtBusy = ar5212Get11nExtBusy, /* Key Cache Functions */ .ah_getKeyCacheSize = ar5212GetKeyCacheSize, @@ -839,6 +840,12 @@ ar5212FillCapabilityInfo(struct ath_hal pCap->halChanHalfRate = AH_TRUE; pCap->halChanQuarterRate = AH_TRUE; + /* + * RSSI uses the combined field; some 11n NICs may use + * the control chain RSSI. + */ + pCap->halUseCombinedRadarRssi = AH_TRUE; + if (ath_hal_eepromGetFlag(ah, AR_EEP_RFKILL) && ath_hal_eepromGet(ah, AR_EEP_RFSILENT, &ahpriv->ah_rfsilent) == HAL_OK) { /* NB: enabled by default */ Modified: head/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c ============================================================================== --- head/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c Mon Jan 30 23:03:21 2012 (r230790) +++ head/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c Mon Jan 30 23:07:27 2012 (r230791) @@ -1233,3 +1233,13 @@ ar5212IsFastClockEnabled(struct ath_hal { return AH_FALSE; } + +/* + * Return what percentage of the extension channel is busy. + * This is always disabled for AR5212 series NICs. + */ +uint32_t +ar5212Get11nExtBusy(struct ath_hal *ah) +{ + return 0; +} From owner-svn-src-head@FreeBSD.ORG Tue Jan 31 00:03:50 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 034D91065672; Tue, 31 Jan 2012 00:03:50 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E137D8FC0C; Tue, 31 Jan 2012 00:03:49 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q0V03nGE008574; Tue, 31 Jan 2012 00:03:49 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q0V03nXG008570; Tue, 31 Jan 2012 00:03:49 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201201310003.q0V03nXG008570@svn.freebsd.org> From: Adrian Chadd Date: Tue, 31 Jan 2012 00:03:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230793 - in head/sys: conf net80211 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jan 2012 00:03:50 -0000 Author: adrian Date: Tue Jan 31 00:03:49 2012 New Revision: 230793 URL: http://svn.freebsd.org/changeset/base/230793 Log: Add a DFS debugging mode which is useful when doing automated DFS compliance testing. In order to allow for radar pattern matching to occur, the DFS CAC/NOL handling needs to be made configurable. This commit introduces a new sysctl, "net.wlan.dfs_debug", which controls which DFS debug mode net80211 is in. * 0 = default, CSA/NOL handling as per normal. * 1 = announce a CSA, but don't add the channel to the non-occupy list (NOL.) * 2 = disable both CSA and NOL - only print that a radar event occured. This code is not compiled/enabled by default as it breaks regulatory handling. A user must enable IEEE80211_DFS_DEBUG in their kernel configuration file for this option to become available. Obtained from: Atheros Modified: head/sys/conf/options head/sys/net80211/ieee80211_dfs.c head/sys/net80211/ieee80211_dfs.h Modified: head/sys/conf/options ============================================================================== --- head/sys/conf/options Mon Jan 30 23:37:17 2012 (r230792) +++ head/sys/conf/options Tue Jan 31 00:03:49 2012 (r230793) @@ -845,6 +845,7 @@ IEEE80211_SUPPORT_MESH opt_wlan.h IEEE80211_SUPPORT_SUPERG opt_wlan.h IEEE80211_SUPPORT_TDMA opt_wlan.h IEEE80211_ALQ opt_wlan.h +IEEE80211_DFS_DEBUG opt_wlan.h # 802.11 TDMA support TDMA_SLOTLEN_DEFAULT opt_tdma.h Modified: head/sys/net80211/ieee80211_dfs.c ============================================================================== --- head/sys/net80211/ieee80211_dfs.c Mon Jan 30 23:37:17 2012 (r230792) +++ head/sys/net80211/ieee80211_dfs.c Tue Jan 31 00:03:49 2012 (r230793) @@ -64,6 +64,28 @@ SYSCTL_INT(_net_wlan, OID_AUTO, cac_time &ieee80211_cac_timeout, 0, "CAC timeout (secs)"); #define CAC_TIMEOUT msecs_to_ticks(ieee80211_cac_timeout*1000) +/* + DFS* In order to facilitate debugging, a couple of operating + * modes aside from the default are needed. + * + * 0 - default CAC/NOL behaviour - ie, start CAC, place + * channel on NOL list. + * 1 - send CAC, but don't change channel or add the channel + * to the NOL list. + * 2 - just match on radar, don't send CAC or place channel in + * the NOL list. + */ +static int ieee80211_dfs_debug = DFS_DBG_NONE; + +/* + * This option must not be included in the default kernel + * as it allows users to plainly disable CAC/NOL handling. + */ +#ifdef IEEE80211_DFS_DEBUG +SYSCTL_INT(_net_wlan, OID_AUTO, dfs_debug, CTLFLAG_RW, + &ieee80211_dfs_debug, 0, "DFS debug behaviour"); +#endif + static int null_set_quiet(struct ieee80211_node *ni, u_int8_t *quiet_elm) { @@ -278,24 +300,44 @@ ieee80211_dfs_notify_radar(struct ieee80 IEEE80211_LOCK_ASSERT(ic); /* - * Mark all entries with this frequency. Notify user - * space and arrange for notification when the radar - * indication is cleared. Then kick the NOL processing - * thread if not already running. + * If doing DFS debugging (mode 2), don't bother + * running the rest of this function. + * + * Simply announce the presence of the radar and continue + * along merrily. */ - now = ticks; - for (i = 0; i < ic->ic_nchans; i++) { - struct ieee80211_channel *c = &ic->ic_channels[i]; - if (c->ic_freq == chan->ic_freq) { - c->ic_state &= ~IEEE80211_CHANSTATE_CACDONE; - c->ic_state |= IEEE80211_CHANSTATE_RADAR; - dfs->nol_event[i] = now; + if (ieee80211_dfs_debug == DFS_DBG_NOCSANOL) { + announce_radar(ic->ic_ifp, chan, chan); + ieee80211_notify_radar(ic, chan); + return; + } + + /* + * Don't mark the channel and don't put it into NOL + * if we're doing DFS debugging. + */ + if (ieee80211_dfs_debug == DFS_DBG_NONE) { + /* + * Mark all entries with this frequency. Notify user + * space and arrange for notification when the radar + * indication is cleared. Then kick the NOL processing + * thread if not already running. + */ + now = ticks; + for (i = 0; i < ic->ic_nchans; i++) { + struct ieee80211_channel *c = &ic->ic_channels[i]; + if (c->ic_freq == chan->ic_freq) { + c->ic_state &= ~IEEE80211_CHANSTATE_CACDONE; + c->ic_state |= IEEE80211_CHANSTATE_RADAR; + dfs->nol_event[i] = now; + } } + ieee80211_notify_radar(ic, chan); + chan->ic_state |= IEEE80211_CHANSTATE_NORADAR; + if (!callout_pending(&dfs->nol_timer)) + callout_reset(&dfs->nol_timer, NOL_TIMEOUT, + dfs_timeout, ic); } - ieee80211_notify_radar(ic, chan); - chan->ic_state |= IEEE80211_CHANSTATE_NORADAR; - if (!callout_pending(&dfs->nol_timer)) - callout_reset(&dfs->nol_timer, NOL_TIMEOUT, dfs_timeout, ic); /* * If radar is detected on the bss channel while @@ -310,7 +352,15 @@ ieee80211_dfs_notify_radar(struct ieee80 */ if (chan == ic->ic_bsschan) { /* XXX need a way to defer to user app */ - dfs->newchan = ieee80211_dfs_pickchannel(ic); + + /* + * Don't flip over to a new channel if + * we are currently doing DFS debugging. + */ + if (ieee80211_dfs_debug == DFS_DBG_NONE) + dfs->newchan = ieee80211_dfs_pickchannel(ic); + else + dfs->newchan = chan; announce_radar(ic->ic_ifp, chan, dfs->newchan); Modified: head/sys/net80211/ieee80211_dfs.h ============================================================================== --- head/sys/net80211/ieee80211_dfs.h Mon Jan 30 23:37:17 2012 (r230792) +++ head/sys/net80211/ieee80211_dfs.h Tue Jan 31 00:03:49 2012 (r230793) @@ -31,6 +31,12 @@ * 802.11h/DFS definitions. */ +typedef enum { + DFS_DBG_NONE = 0, + DFS_DBG_NONOL = 1, + DFS_DBG_NOCSANOL = 2 +} dfs_debug_t; + struct ieee80211_dfs_state { int nol_event[IEEE80211_CHAN_MAX]; struct callout nol_timer; /* NOL list processing */ From owner-svn-src-head@FreeBSD.ORG Tue Jan 31 00:32:38 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2D8661065672; Tue, 31 Jan 2012 00:32:38 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 15DC18FC12; Tue, 31 Jan 2012 00:32:38 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q0V0WcD6009715; Tue, 31 Jan 2012 00:32:38 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q0V0Wb4i009706; Tue, 31 Jan 2012 00:32:37 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201201310032.q0V0Wb4i009706@svn.freebsd.org> From: Jung-uk Kim Date: Tue, 31 Jan 2012 00:32:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230795 - in head/usr.sbin/makefs: . cd9660 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jan 2012 00:32:38 -0000 Author: jkim Date: Tue Jan 31 00:32:37 2012 New Revision: 230795 URL: http://svn.freebsd.org/changeset/base/230795 Log: Allow contents of multiple directories to be merged to the current image. Note this patch was submitted to NetBSD and they already adopted it. http://mail-index.netbsd.org/source-changes/2012/01/28/msg031078.html MFC after: 1 week Modified: head/usr.sbin/makefs/cd9660.c head/usr.sbin/makefs/cd9660.h head/usr.sbin/makefs/cd9660/cd9660_write.c head/usr.sbin/makefs/ffs.c head/usr.sbin/makefs/makefs.8 head/usr.sbin/makefs/makefs.c head/usr.sbin/makefs/makefs.h head/usr.sbin/makefs/walk.c Modified: head/usr.sbin/makefs/cd9660.c ============================================================================== --- head/usr.sbin/makefs/cd9660.c Tue Jan 31 00:12:51 2012 (r230794) +++ head/usr.sbin/makefs/cd9660.c Tue Jan 31 00:32:37 2012 (r230795) @@ -472,8 +472,6 @@ cd9660_makefs(const char *image, const c return; } - diskStructure.rootFilesystemPath = dir; - if (diskStructure.verbose_level > 0) printf("cd9660_makefs: image %s directory %s root %p\n", image, dir, root); @@ -1568,24 +1566,15 @@ cd9660_generate_path_table(void) } void -cd9660_compute_full_filename(cd9660node *node, char *buf, int level) +cd9660_compute_full_filename(cd9660node *node, char *buf) { - cd9660node *parent; - - parent = (node->rr_real_parent == NULL ? - node->parent : node->rr_real_parent); - if (parent != NULL) { - cd9660_compute_full_filename(parent, buf, level + 1); - strcat(buf, node->node->name); - } else { - /* We are at the root */ - strcat(buf, diskStructure.rootFilesystemPath); - if (buf[strlen(buf) - 1] == '/') - buf[strlen(buf) - 1] = '\0'; - } + int len; - if (level != 0) - strcat(buf, "/"); + len = CD9660MAXPATH + 1; + len = snprintf(buf, len, "%s/%s/%s", node->node->root, + node->node->path, node->node->name); + if (len > CD9660MAXPATH) + errx(1, "Pathname too long."); } /* NEW filename conversion method */ Modified: head/usr.sbin/makefs/cd9660.h ============================================================================== --- head/usr.sbin/makefs/cd9660.h Tue Jan 31 00:12:51 2012 (r230794) +++ head/usr.sbin/makefs/cd9660.h Tue Jan 31 00:32:37 2012 (r230795) @@ -244,8 +244,6 @@ typedef struct _iso9660_disk { cd9660node *rootNode; - const char *rootFilesystemPath; - /* Important sector numbers here */ /* primaryDescriptor.type_l_path_table*/ int64_t primaryBigEndianTableSector; @@ -345,7 +343,7 @@ int cd9660_setup_boot_volume_descriptor( int cd9660_write_image(const char *image); int cd9660_copy_file(FILE *, off_t, const char *); -void cd9660_compute_full_filename(cd9660node *, char *, int); +void cd9660_compute_full_filename(cd9660node *, char *); int cd9660_compute_record_size(cd9660node *); /* Debugging functions */ Modified: head/usr.sbin/makefs/cd9660/cd9660_write.c ============================================================================== --- head/usr.sbin/makefs/cd9660/cd9660_write.c Tue Jan 31 00:12:51 2012 (r230794) +++ head/usr.sbin/makefs/cd9660/cd9660_write.c Tue Jan 31 00:32:37 2012 (r230795) @@ -296,7 +296,7 @@ cd9660_write_file(FILE *fd, cd9660node * inode->flags |= FI_WRITTEN; if (writenode->node->contents == NULL) cd9660_compute_full_filename(writenode, - temp_file_name, 0); + temp_file_name); ret = cd9660_copy_file(fd, writenode->fileDataSector, (writenode->node->contents != NULL) ? writenode->node->contents : temp_file_name); Modified: head/usr.sbin/makefs/ffs.c ============================================================================== --- head/usr.sbin/makefs/ffs.c Tue Jan 31 00:12:51 2012 (r230794) +++ head/usr.sbin/makefs/ffs.c Tue Jan 31 00:32:37 2012 (r230795) @@ -780,8 +780,8 @@ ffs_populate_dir(const char *dir, fsnode cur->inode->flags |= FI_WRITTEN; if (cur->contents == NULL) { - if (snprintf(path, sizeof(path), "%s/%s", dir, - cur->name) >= sizeof(path)) + if (snprintf(path, sizeof(path), "%s/%s/%s", cur->root, + cur->path, cur->name) >= (int)sizeof(path)) errx(1, "Pathname too long."); } Modified: head/usr.sbin/makefs/makefs.8 ============================================================================== --- head/usr.sbin/makefs/makefs.8 Tue Jan 31 00:12:51 2012 (r230794) +++ head/usr.sbin/makefs/makefs.8 Tue Jan 31 00:32:37 2012 (r230795) @@ -35,7 +35,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 10, 2009 +.Dd January 30, 2012 .Dt MAKEFS 8 .Os .Sh NAME @@ -58,6 +58,7 @@ .Op Fl t Ar fs-type .Ar image-file .Ar directory | manifest +.Op Ar extra-directory ... .Sh DESCRIPTION The utility .Nm @@ -67,6 +68,15 @@ from the directory tree .Ar directory or from the mtree manifest .Ar manifest . +If optional directory tree +.Ar extra-directory +is passed, then the directory tree of each argument will be merged +into the +.Ar directory +or +.Ar manifest +first before creating +.Ar image-file . No special devices or privileges are required to perform this task. .Pp The options are as follows: Modified: head/usr.sbin/makefs/makefs.c ============================================================================== --- head/usr.sbin/makefs/makefs.c Tue Jan 31 00:12:51 2012 (r230794) +++ head/usr.sbin/makefs/makefs.c Tue Jan 31 00:32:37 2012 (r230795) @@ -87,7 +87,7 @@ main(int argc, char *argv[]) fstype_t *fstype; fsinfo_t fsoptions; fsnode *root; - int ch, len; + int ch, i, len; char *subtree; char *specfile; @@ -241,7 +241,7 @@ main(int argc, char *argv[]) argc -= optind; argv += optind; - if (argc != 2) + if (argc < 2) usage(); /* -x must be accompanied by -F */ @@ -260,7 +260,7 @@ main(int argc, char *argv[]) case S_IFDIR: /* walk the tree */ subtree = argv[1]; TIMER_START(start); - root = walk_dir(subtree, NULL); + root = walk_dir(subtree, ".", NULL, NULL); TIMER_RESULTS(start, "walk_dir"); break; case S_IFREG: /* read the manifest file */ @@ -274,6 +274,17 @@ main(int argc, char *argv[]) /* NOTREACHED */ } + /* append extra directory */ + for (i = 2; i < argc; i++) { + if (stat(argv[i], &sb) == -1) + err(1, "Can't stat `%s'", argv[i]); + if (!S_ISDIR(sb.st_mode)) + errx(1, "%s: not a directory", argv[i]); + TIMER_START(start); + root = walk_dir(argv[i], ".", NULL, root); + TIMER_RESULTS(start, "walk_dir2"); + } + if (specfile) { /* apply a specfile */ TIMER_START(start); apply_specfile(specfile, subtree, root, fsoptions.onlyspec); @@ -282,7 +293,7 @@ main(int argc, char *argv[]) if (debug & DEBUG_DUMP_FSNODES) { printf("\nparent: %s\n", subtree); - dump_fsnodes(".", root); + dump_fsnodes(root); putchar('\n'); } @@ -336,7 +347,7 @@ usage(void) "usage: %s [-t fs-type] [-o fs-options] [-d debug-mask] [-B endian]\n" "\t[-S sector-size] [-M minimum-size] [-m maximum-size] [-s image-size]\n" "\t[-b free-blocks] [-f free-files] [-F mtree-specfile] [-x]\n" -"\t[-N userdb-dir] image-file directory | manifest\n", +"\t[-N userdb-dir] image-file directory | manifest [extra-directory ...]\n", prog); exit(1); } Modified: head/usr.sbin/makefs/makefs.h ============================================================================== --- head/usr.sbin/makefs/makefs.h Tue Jan 31 00:12:51 2012 (r230794) +++ head/usr.sbin/makefs/makefs.h Tue Jan 31 00:32:37 2012 (r230795) @@ -94,6 +94,8 @@ typedef struct _fsnode { fsinode *inode; /* actual inode data */ char *symlink; /* symlink target */ char *contents; /* file to provide contents */ + const char *root; /* root path */ + char *path; /* directory name */ char *name; /* file name */ int flags; /* misc flags */ } fsnode; @@ -147,11 +149,11 @@ typedef struct { void apply_specfile(const char *, const char *, fsnode *, int); -void dump_fsnodes(const char *, fsnode *); +void dump_fsnodes(fsnode *); const char * inode_type(mode_t); fsnode * read_mtree(const char *, fsnode *); int set_option(option_t *, const char *, const char *); -fsnode * walk_dir(const char *, fsnode *); +fsnode * walk_dir(const char *, const char *, fsnode *, fsnode *); void free_fsnodes(fsnode *); void ffs_prep_opts(fsinfo_t *); Modified: head/usr.sbin/makefs/walk.c ============================================================================== --- head/usr.sbin/makefs/walk.c Tue Jan 31 00:12:51 2012 (r230794) +++ head/usr.sbin/makefs/walk.c Tue Jan 31 00:32:37 2012 (r230795) @@ -57,40 +57,70 @@ __FBSDID("$FreeBSD$"); static void apply_specdir(const char *, NODE *, fsnode *, int); static void apply_specentry(const char *, NODE *, fsnode *); -static fsnode *create_fsnode(const char *, struct stat *); +static fsnode *create_fsnode(const char *, const char *, const char *, + struct stat *); static fsinode *link_check(fsinode *); /* * walk_dir -- - * build a tree of fsnodes from `dir', with a parent fsnode of `parent' - * (which may be NULL for the root of the tree). + * build a tree of fsnodes from `root' and `dir', with a parent + * fsnode of `parent' (which may be NULL for the root of the tree). + * append the tree to a fsnode of `join' if it is not NULL. * each "level" is a directory, with the "." entry guaranteed to be * at the start of the list, and without ".." entries. */ fsnode * -walk_dir(const char *dir, fsnode *parent) +walk_dir(const char *root, const char *dir, fsnode *parent, fsnode *join) { - fsnode *first, *cur, *prev; + fsnode *first, *cur, *prev, *last; DIR *dirp; struct dirent *dent; char path[MAXPATHLEN + 1]; struct stat stbuf; + char *name, *rp; + int dot, len; + assert(root != NULL); assert(dir != NULL); + len = snprintf(path, sizeof(path), "%s/%s", root, dir); + if (len >= (int)sizeof(path)) + errx(1, "Pathname too long."); if (debug & DEBUG_WALK_DIR) - printf("walk_dir: %s %p\n", dir, parent); - if ((dirp = opendir(dir)) == NULL) - err(1, "Can't opendir `%s'", dir); - first = prev = NULL; + printf("walk_dir: %s %p\n", path, parent); + if ((dirp = opendir(path)) == NULL) + err(1, "Can't opendir `%s'", path); + rp = path + strlen(root) + 1; + if (join != NULL) { + first = cur = join; + while (cur->next != NULL) + cur = cur->next; + prev = cur; + } else + first = prev = NULL; + last = prev; while ((dent = readdir(dirp)) != NULL) { - if (strcmp(dent->d_name, "..") == 0) - continue; + name = dent->d_name; + dot = 0; + if (name[0] == '.') + switch (name[1]) { + case '\0': /* "." */ + if (join != NULL) + continue; + dot = 1; + break; + case '.': /* ".." */ + if (name[2] == '\0') + continue; + /* FALLTHROUGH */ + default: + dot = 0; + } if (debug & DEBUG_WALK_DIR_NODE) - printf("scanning %s/%s\n", dir, dent->d_name); - if (snprintf(path, sizeof(path), "%s/%s", dir, dent->d_name) - >= sizeof(path)) + printf("scanning %s/%s/%s\n", root, dir, name); + if (snprintf(path + len, sizeof(path) - len, "/%s", name) >= + (int)sizeof(path) - len) errx(1, "Pathname too long."); if (lstat(path, &stbuf) == -1) err(1, "Can't lstat `%s'", path); @@ -102,22 +132,51 @@ walk_dir(const char *dir, fsnode *parent } #endif - cur = create_fsnode(dent->d_name, &stbuf); + if (join != NULL) { + cur = join->next; + for (;;) { + if (cur == NULL || strcmp(cur->name, name) == 0) + break; + if (cur == last) { + cur = NULL; + break; + } + cur = cur->next; + } + if (cur != NULL) { + if (S_ISDIR(cur->type) && + S_ISDIR(stbuf.st_mode)) { + if (debug & DEBUG_WALK_DIR_NODE) + printf("merging %s with %p\n", + path, cur->child); + cur->child = walk_dir(root, rp, cur, + cur->child); + continue; + } + errx(1, "Can't merge %s `%s' with existing %s", + inode_type(stbuf.st_mode), path, + inode_type(cur->type)); + } + } + + cur = create_fsnode(root, dir, name, &stbuf); cur->parent = parent; - if (strcmp(dent->d_name, ".") == 0) { + if (dot) { /* ensure "." is at the start of the list */ cur->next = first; first = cur; if (! prev) prev = cur; + cur->first = first; } else { /* not "." */ if (prev) prev->next = cur; prev = cur; if (!first) first = cur; + cur->first = first; if (S_ISDIR(cur->type)) { - cur->child = walk_dir(path, cur); + cur->child = walk_dir(root, rp, cur, NULL); continue; } } @@ -147,22 +206,27 @@ walk_dir(const char *dir, fsnode *parent err(1, "Memory allocation error"); } } - for (cur = first; cur != NULL; cur = cur->next) - cur->first = first; + assert(first != NULL); + if (join == NULL) + for (cur = first->next; cur != NULL; cur = cur->next) + cur->first = first; if (closedir(dirp) == -1) - err(1, "Can't closedir `%s'", dir); + err(1, "Can't closedir `%s/%s'", root, dir); return (first); } static fsnode * -create_fsnode(const char *name, struct stat *stbuf) +create_fsnode(const char *root, const char *path, const char *name, + struct stat *stbuf) { fsnode *cur; if ((cur = calloc(1, sizeof(fsnode))) == NULL || + (cur->path = strdup(path)) == NULL || (cur->name = strdup(name)) == NULL || (cur->inode = calloc(1, sizeof(fsinode))) == NULL) err(1, "Memory allocation error"); + cur->root = root; cur->type = stbuf->st_mode & S_IFMT; cur->inode->nlink = 1; cur->inode->st = *stbuf; @@ -211,6 +275,7 @@ free_fsnodes(fsnode *node) free(cur->inode); if (cur->symlink) free(cur->symlink); + free(cur->path); free(cur->name); free(cur); } @@ -388,14 +453,16 @@ apply_specdir(const char *dir, NODE *spe stbuf.st_mtimensec = stbuf.st_atimensec = stbuf.st_ctimensec = start_time.tv_nsec; #endif - curfsnode = create_fsnode(curnode->name, &stbuf); + curfsnode = create_fsnode(".", ".", curnode->name, + &stbuf); curfsnode->parent = dirnode->parent; curfsnode->first = dirnode; curfsnode->next = dirnode->next; dirnode->next = curfsnode; if (curfsnode->type == S_IFDIR) { /* for dirs, make "." entry as well */ - curfsnode->child = create_fsnode(".", &stbuf); + curfsnode->child = create_fsnode(".", ".", ".", + &stbuf); curfsnode->child->parent = curfsnode; curfsnode->child->first = curfsnode->child; } @@ -503,19 +570,18 @@ apply_specentry(const char *dir, NODE *s /* * dump_fsnodes -- - * dump the fsnodes from `cur', based in the directory `dir' + * dump the fsnodes from `cur' */ void -dump_fsnodes(const char *dir, fsnode *root) +dump_fsnodes(fsnode *root) { fsnode *cur; char path[MAXPATHLEN + 1]; - assert (dir != NULL); - printf("dump_fsnodes: %s %p\n", dir, root); + printf("dump_fsnodes: %s %p\n", root->path, root); for (cur = root; cur != NULL; cur = cur->next) { - if (snprintf(path, sizeof(path), "%s/%s", dir, cur->name) - >= sizeof(path)) + if (snprintf(path, sizeof(path), "%s/%s", cur->path, + cur->name) >= (int)sizeof(path)) errx(1, "Pathname too long."); if (debug & DEBUG_DUMP_FSNODES_VERBOSE) @@ -534,10 +600,10 @@ dump_fsnodes(const char *dir, fsnode *ro if (cur->child) { assert (cur->type == S_IFDIR); - dump_fsnodes(path, cur->child); + dump_fsnodes(cur->child); } } - printf("dump_fsnodes: finished %s\n", dir); + printf("dump_fsnodes: finished %s/%s\n", root->path, root->name); } From owner-svn-src-head@FreeBSD.ORG Tue Jan 31 02:11:05 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B00BF106566B; Tue, 31 Jan 2012 02:11:05 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 99F858FC12; Tue, 31 Jan 2012 02:11:05 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q0V2B54g013412; Tue, 31 Jan 2012 02:11:05 GMT (envelope-from rmacklem@svn.freebsd.org) Received: (from rmacklem@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q0V2B5u8013410; Tue, 31 Jan 2012 02:11:05 GMT (envelope-from rmacklem@svn.freebsd.org) Message-Id: <201201310211.q0V2B5u8013410@svn.freebsd.org> From: Rick Macklem Date: Tue, 31 Jan 2012 02:11:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230801 - head/sys/nlm X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jan 2012 02:11:05 -0000 Author: rmacklem Date: Tue Jan 31 02:11:05 2012 New Revision: 230801 URL: http://svn.freebsd.org/changeset/base/230801 Log: jwd@ reported a problem via email to freebsd-fs@ on Aug 25, 2011 under the subject "F_RDLCK lock to FreeBSD NFS fails to R/O target file". This occurred because the server side NLM always checked for VWRITE access, irrespective of the type of lock request. This patch replaces VOP_ACCESS(..VWRITE..) with one appropriate to the lock operation. It allows unlock and lock cancellation to be done without a check of VOP_ACCESS(), so that files can't be left locked indefinitely after the file permissions have been changed. Discussed with: zack Submitted by: jwd (earlier version) Reviewed by: dfr MFC after: 2 weeks Modified: head/sys/nlm/nlm_prot_impl.c Modified: head/sys/nlm/nlm_prot_impl.c ============================================================================== --- head/sys/nlm/nlm_prot_impl.c Tue Jan 31 01:51:30 2012 (r230800) +++ head/sys/nlm/nlm_prot_impl.c Tue Jan 31 02:11:05 2012 (r230801) @@ -1775,10 +1775,10 @@ struct vfs_state { static int nlm_get_vfs_state(struct nlm_host *host, struct svc_req *rqstp, - fhandle_t *fhp, struct vfs_state *vs) + fhandle_t *fhp, struct vfs_state *vs, accmode_t accmode) { int error, exflags; - struct ucred *cred = NULL, *credanon; + struct ucred *cred = NULL, *credanon = NULL; memset(vs, 0, sizeof(*vs)); @@ -1788,14 +1788,19 @@ nlm_get_vfs_state(struct nlm_host *host, } vs->vs_vfslocked = VFS_LOCK_GIANT(vs->vs_mp); - error = VFS_CHECKEXP(vs->vs_mp, (struct sockaddr *)&host->nh_addr, - &exflags, &credanon, NULL, NULL); - if (error) - goto out; + /* accmode == 0 means don't check, since it is an unlock. */ + if (accmode != 0) { + error = VFS_CHECKEXP(vs->vs_mp, + (struct sockaddr *)&host->nh_addr, &exflags, &credanon, + NULL, NULL); + if (error) + goto out; - if (exflags & MNT_EXRDONLY || (vs->vs_mp->mnt_flag & MNT_RDONLY)) { - error = EROFS; - goto out; + if (exflags & MNT_EXRDONLY || + (vs->vs_mp->mnt_flag & MNT_RDONLY)) { + error = EROFS; + goto out; + } } error = VFS_FHTOVP(vs->vs_mp, &fhp->fh_fid, LK_EXCLUSIVE, &vs->vs_vp); @@ -1803,22 +1808,31 @@ nlm_get_vfs_state(struct nlm_host *host, goto out; vs->vs_vnlocked = TRUE; - if (!svc_getcred(rqstp, &cred, NULL)) { - error = EINVAL; - goto out; - } - if (cred->cr_uid == 0 || (exflags & MNT_EXPORTANON)) { - crfree(cred); - cred = credanon; - credanon = NULL; - } + if (accmode != 0) { + if (!svc_getcred(rqstp, &cred, NULL)) { + error = EINVAL; + goto out; + } + if (cred->cr_uid == 0 || (exflags & MNT_EXPORTANON)) { + crfree(cred); + cred = credanon; + credanon = NULL; + } - /* - * Check cred. - */ - error = VOP_ACCESS(vs->vs_vp, VWRITE, cred, curthread); - if (error) - goto out; + /* + * Check cred. + */ + error = VOP_ACCESS(vs->vs_vp, accmode, cred, curthread); + /* + * If this failed and accmode != VWRITE, try again with + * VWRITE to maintain backwards compatibility with the + * old code that always used VWRITE. + */ + if (error != 0 && accmode != VWRITE) + error = VOP_ACCESS(vs->vs_vp, VWRITE, cred, curthread); + if (error) + goto out; + } #if __FreeBSD_version < 800011 VOP_UNLOCK(vs->vs_vp, 0, curthread); @@ -1872,6 +1886,7 @@ nlm_do_test(nlm4_testargs *argp, nlm4_te struct nlm_host *host, *bhost; int error, sysid; struct flock fl; + accmode_t accmode; memset(result, 0, sizeof(*result)); memset(&vs, 0, sizeof(vs)); @@ -1897,7 +1912,8 @@ nlm_do_test(nlm4_testargs *argp, nlm4_te goto out; } - error = nlm_get_vfs_state(host, rqstp, &fh, &vs); + accmode = argp->exclusive ? VWRITE : VREAD; + error = nlm_get_vfs_state(host, rqstp, &fh, &vs, accmode); if (error) { result->stat.stat = nlm_convert_error(error); goto out; @@ -1968,6 +1984,7 @@ nlm_do_lock(nlm4_lockargs *argp, nlm4_re struct nlm_host *host; int error, sysid; struct flock fl; + accmode_t accmode; memset(result, 0, sizeof(*result)); memset(&vs, 0, sizeof(vs)); @@ -2002,7 +2019,8 @@ nlm_do_lock(nlm4_lockargs *argp, nlm4_re goto out; } - error = nlm_get_vfs_state(host, rqstp, &fh, &vs); + accmode = argp->exclusive ? VWRITE : VREAD; + error = nlm_get_vfs_state(host, rqstp, &fh, &vs, accmode); if (error) { result->stat.stat = nlm_convert_error(error); goto out; @@ -2181,7 +2199,7 @@ nlm_do_cancel(nlm4_cancargs *argp, nlm4_ goto out; } - error = nlm_get_vfs_state(host, rqstp, &fh, &vs); + error = nlm_get_vfs_state(host, rqstp, &fh, &vs, (accmode_t)0); if (error) { result->stat.stat = nlm_convert_error(error); goto out; @@ -2270,7 +2288,7 @@ nlm_do_unlock(nlm4_unlockargs *argp, nlm goto out; } - error = nlm_get_vfs_state(host, rqstp, &fh, &vs); + error = nlm_get_vfs_state(host, rqstp, &fh, &vs, (accmode_t)0); if (error) { result->stat.stat = nlm_convert_error(error); goto out; From owner-svn-src-head@FreeBSD.ORG Tue Jan 31 03:58:27 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5682B106564A; Tue, 31 Jan 2012 03:58:27 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 25F248FC08; Tue, 31 Jan 2012 03:58:27 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q0V3wRj2017272; Tue, 31 Jan 2012 03:58:27 GMT (envelope-from rmacklem@svn.freebsd.org) Received: (from rmacklem@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q0V3wQDt017269; Tue, 31 Jan 2012 03:58:26 GMT (envelope-from rmacklem@svn.freebsd.org) Message-Id: <201201310358.q0V3wQDt017269@svn.freebsd.org> From: Rick Macklem Date: Tue, 31 Jan 2012 03:58:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230803 - in head/sys: fs/nfsclient nfsclient X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jan 2012 03:58:27 -0000 Author: rmacklem Date: Tue Jan 31 03:58:26 2012 New Revision: 230803 URL: http://svn.freebsd.org/changeset/base/230803 Log: When a "mount -u" switches an NFS mount point from TCP to UDP, any thread doing an I/O RPC with a transfer size greater than NFS_UDPMAXDATA will be hung indefinitely, retrying the RPC. After a discussion on freebsd-fs@, I decided to add a warning message for this case, as suggested by Jeremy Chadwick. Suggested by: freebsd at jdc.parodius.com (Jeremy Chadwick) MFC after: 2 weeks Modified: head/sys/fs/nfsclient/nfs_clvfsops.c head/sys/nfsclient/nfs_vfsops.c Modified: head/sys/fs/nfsclient/nfs_clvfsops.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clvfsops.c Tue Jan 31 02:30:47 2012 (r230802) +++ head/sys/fs/nfsclient/nfs_clvfsops.c Tue Jan 31 03:58:26 2012 (r230803) @@ -999,6 +999,19 @@ nfs_mount(struct mount *mp) error = EIO; goto out; } + + /* + * If a change from TCP->UDP is done and there are thread(s) + * that have I/O RPC(s) in progress with a tranfer size + * greater than NFS_MAXDGRAMDATA, those thread(s) will be + * hung, retrying the RPC(s) forever. Usually these threads + * will be seen doing an uninterruptible sleep on wait channel + * "newnfsreq" (truncated to "newnfsre" by procstat). + */ + if (args.sotype == SOCK_DGRAM && nmp->nm_sotype == SOCK_STREAM) + tprintf(td->td_proc, LOG_WARNING, + "Warning: mount -u that changes TCP->UDP can result in hung threads\n"); + /* * When doing an update, we can't change version, * security, switch lockd strategies or change cookie Modified: head/sys/nfsclient/nfs_vfsops.c ============================================================================== --- head/sys/nfsclient/nfs_vfsops.c Tue Jan 31 02:30:47 2012 (r230802) +++ head/sys/nfsclient/nfs_vfsops.c Tue Jan 31 03:58:26 2012 (r230803) @@ -56,6 +56,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include @@ -1116,6 +1117,19 @@ nfs_mount(struct mount *mp) error = EIO; goto out; } + + /* + * If a change from TCP->UDP is done and there are thread(s) + * that have I/O RPC(s) in progress with a tranfer size + * greater than NFS_MAXDGRAMDATA, those thread(s) will be + * hung, retrying the RPC(s) forever. Usually these threads + * will be seen doing an uninterruptible sleep on wait channel + * "newnfsreq" (truncated to "newnfsre" by procstat). + */ + if (args.sotype == SOCK_DGRAM && nmp->nm_sotype == SOCK_STREAM) + tprintf(curthread->td_proc, LOG_WARNING, + "Warning: mount -u that changes TCP->UDP can result in hung threads\n"); + /* * When doing an update, we can't change from or to * v3, switch lockd strategies or change cookie translation From owner-svn-src-head@FreeBSD.ORG Tue Jan 31 05:49:50 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8054D1065670; Tue, 31 Jan 2012 05:49:50 +0000 (UTC) (envelope-from kevlo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6B7118FC08; Tue, 31 Jan 2012 05:49:50 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q0V5noIN020640; Tue, 31 Jan 2012 05:49:50 GMT (envelope-from kevlo@svn.freebsd.org) Received: (from kevlo@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q0V5noKI020638; Tue, 31 Jan 2012 05:49:50 GMT (envelope-from kevlo@svn.freebsd.org) Message-Id: <201201310549.q0V5noKI020638@svn.freebsd.org> From: Kevin Lo Date: Tue, 31 Jan 2012 05:49:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230804 - head/usr.sbin/bsdinstall/scripts X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jan 2012 05:49:50 -0000 Author: kevlo Date: Tue Jan 31 05:49:49 2012 New Revision: 230804 URL: http://svn.freebsd.org/changeset/base/230804 Log: Fix a whitespace nit Reviewed by: bz Modified: head/usr.sbin/bsdinstall/scripts/netconfig_ipv4 Modified: head/usr.sbin/bsdinstall/scripts/netconfig_ipv4 ============================================================================== --- head/usr.sbin/bsdinstall/scripts/netconfig_ipv4 Tue Jan 31 03:58:26 2012 (r230803) +++ head/usr.sbin/bsdinstall/scripts/netconfig_ipv4 Tue Jan 31 05:49:49 2012 (r230804) @@ -73,7 +73,7 @@ exec 3>&- echo $INTERFACE $IF_CONFIG | awk -v prefix="$IFCONFIG_PREFIX" '{ - printf("ifconfig_%s=\"%s inet %s netmask %s\"\n", $1, prefix, $2, $3); + printf("ifconfig_%s=\"%s\inet %s netmask %s\"\n", $1, prefix, $2, $3); printf("defaultrouter=\"%s\"\n", $4); }' >> $BSDINSTALL_TMPETC/._rc.conf.net From owner-svn-src-head@FreeBSD.ORG Tue Jan 31 10:54:41 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9D3531065670; Tue, 31 Jan 2012 10:54:41 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from mail.zoral.com.ua (mx0.zoral.com.ua [91.193.166.200]) by mx1.freebsd.org (Postfix) with ESMTP id 25E988FC08; Tue, 31 Jan 2012 10:54:40 +0000 (UTC) Received: from skuns.kiev.zoral.com.ua (localhost [127.0.0.1]) by mail.zoral.com.ua (8.14.2/8.14.2) with ESMTP id q0VAsXTo033843 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 31 Jan 2012 12:54:33 +0200 (EET) (envelope-from kostikbel@gmail.com) Received: from deviant.kiev.zoral.com.ua (kostik@localhost [127.0.0.1]) by deviant.kiev.zoral.com.ua (8.14.5/8.14.5) with ESMTP id q0VAsWqD046948; Tue, 31 Jan 2012 12:54:32 +0200 (EET) (envelope-from kostikbel@gmail.com) Received: (from kostik@localhost) by deviant.kiev.zoral.com.ua (8.14.5/8.14.5/Submit) id q0VAsVqk046946; Tue, 31 Jan 2012 12:54:31 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: deviant.kiev.zoral.com.ua: kostik set sender to kostikbel@gmail.com using -f Date: Tue, 31 Jan 2012 12:54:31 +0200 From: Konstantin Belousov To: Bruce Evans , Gleb Smirnoff , svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Message-ID: <20120131105431.GB3283@deviant.kiev.zoral.com.ua> References: <20120126153641.GA68112@FreeBSD.org> <20120127194612.H1547@besplex.bde.org> <20120127091244.GZ2726@deviant.kiev.zoral.com.ua> <20120127194221.GA25723@zim.MIT.EDU> <20120128123748.GD2726@deviant.kiev.zoral.com.ua> <20120129001225.GA32220@zim.MIT.EDU> <20120129062327.GK2726@deviant.kiev.zoral.com.ua> <20120129223904.GA37483@zim.MIT.EDU> <20120130063034.GU2726@deviant.kiev.zoral.com.ua> <20120130190703.GA44663@zim.MIT.EDU> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="dc+cDN39EJAMEtIO" Content-Disposition: inline In-Reply-To: <20120130190703.GA44663@zim.MIT.EDU> User-Agent: Mutt/1.4.2.3i X-Virus-Scanned: clamav-milter 0.95.2 at skuns.kiev.zoral.com.ua X-Virus-Status: Clean X-Spam-Status: No, score=-3.9 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on skuns.kiev.zoral.com.ua Cc: Subject: Re: svn commit: r230583 - head/sys/kern X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jan 2012 10:54:41 -0000 --dc+cDN39EJAMEtIO Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Jan 30, 2012 at 02:07:03PM -0500, David Schultz wrote: > On Mon, Jan 30, 2012, Kostik Belousov wrote: > > On Sun, Jan 29, 2012 at 05:39:04PM -0500, David Schultz wrote: > > > On Sun, Jan 29, 2012, Kostik Belousov wrote: > > > > On Sat, Jan 28, 2012 at 07:12:25PM -0500, David Schultz wrote: > > > > > On Sat, Jan 28, 2012, Kostik Belousov wrote: > > > > > > On Fri, Jan 27, 2012 at 02:42:21PM -0500, David Schultz wrote: > > > > > > > The correct limit on the maximum size of a single read/write = is > > > > > > > SSIZE_MAX, but FreeBSD uses INT_MAX. It's not safe to raise = the > > > > > > > limit yet, though, because of bugs in several filesystems. F= or > > > > > > > example, FFS copies uio_resid into a local variable of type i= nt. > > > > > > > I have some old patches that fix some of these issues for FFS= and > > > > > > > cd9660, but surely there are more places I didn't notice. > > > > > > >=20 > > > > > > Absolutely agree. > > > > > >=20 > > > > > > http://people.freebsd.org/~kib/misc/uio_resid.5.patch > > > > >=20 > > > > > Nice. You found a lot more than I've got in my tree, and you even > > > > > fixed the return values. There are at least a few more places to > > > > > fix. For instance, cd9660 and the NFS client pass uio_resid or > > > > > iov_len to min(), which operates on ints. (Incidentally, C11 > > > > > generics ought to make it possible to write type-generic min() > > > > > and max() functions.) > > > >=20 > > > > Thank you, http://people.freebsd.org/~kib/misc/uio_resid.6.patch > > > > changed them to MIN(). > > >=20 > > > This looks good to me. I tried to think of other places that you > > > might have missed, and the only one that occurred to me is the > > Might ? I think this is a blatant understate. > >=20 > > > pipe code. sys_pipe.c has an `int orig_resid' and lots of bogus > > > casts of iov_len and uio_resid to type u_int. Some look harmless, > > > although it appears that writing a multiple of 2^32 bytes might > > > result in pipe_build_write_buffer() allocating a 0-length buffer. > > >=20 > > > My only reservation is that raising the limit could unmask a > > > kernel buffer overflow if we missed something, but I guess we have > > > to cross that bridge some day anyway. > > Yes, and it is an obvious reason why I am chicken to commit this for > > so long time. One more place, if this is reasonable to count as 'one' > > place, are the cdevsw methods. devfs passes uio down to the drivers. >=20 > That's why I'm glad I'm not committing it. :) A more conservative > change (also known as "kicking the can down the road") would be to > add a VFS flag, e.g., VFCF_LONGIO, and only set it on file systems > that have been thoroughly reviewed. The VFS layer could cap the size > at INT_MAX for file systems without the flag. At least I will get more mail after the commit, I hope. I disagree with the VFCF_LONGIO approach. It will cause much head-scratching for unsuspecting user who would try to use > 4GB transfers. What I can do, is to commit all changes except removals of the checks for INT_MAX. After type changes settle, I can try to gather enough bravery to flip the checks in HEAD, possibly with temporary sysctl to return to old behaviour for emergency (AKA hole). >=20 > > diff --git a/sys/kern/sys_pipe.c b/sys/kern/sys_pipe.c > > index 9edcb74..332ec37 100644 > > --- a/sys/kern/sys_pipe.c > > +++ b/sys/kern/sys_pipe.c > [...] > > @@ -757,14 +757,14 @@ pipe_build_write_buffer(wpipe, uio) > > struct pipe *wpipe; > > struct uio *uio; > > { > > - u_int size; > > + size_t size; > > int i; > > =20 > > PIPE_LOCK_ASSERT(wpipe, MA_NOTOWNED); > > KASSERT(wpipe->pipe_state & PIPE_DIRECTW, > > ("Clone attempt on non-direct write pipe!")); > > =20 > > - size =3D (u_int) uio->uio_iov->iov_len; > > + size =3D uio->uio_iov->iov_len; > > if (size > wpipe->pipe_buffer.size) > > size =3D wpipe->pipe_buffer.size; >=20 > The transfer can't be bigger than the max pipe buffer size (64k), > so `size =3D (int)MIN(uio->uio_iov->iov_len, wpipe->pipe_buffer.size)' > should suffice. The same comment applies elsewhere in the file. True. If you much prefer this version, I will change the patch. But I do think that my changes are cleaner. --dc+cDN39EJAMEtIO Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (FreeBSD) iEYEARECAAYFAk8nyGcACgkQC3+MBN1Mb4iczwCghrxW6CzT7e+FZ7RLjtaDwvb9 RgoAnjbSiz/CPNXyIC4SgFmYvLhPlT8+ =fiGf -----END PGP SIGNATURE----- --dc+cDN39EJAMEtIO-- From owner-svn-src-head@FreeBSD.ORG Tue Jan 31 12:57:22 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 32E891065670; Tue, 31 Jan 2012 12:57:22 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 21A9D8FC0A; Tue, 31 Jan 2012 12:57:22 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q0VCvM9d036629; Tue, 31 Jan 2012 12:57:22 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q0VCvMS4036627; Tue, 31 Jan 2012 12:57:22 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201201311257.q0VCvMS4036627@svn.freebsd.org> From: Alexander Motin Date: Tue, 31 Jan 2012 12:57:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230807 - head/sys/dev/sound/pci/hda X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jan 2012 12:57:22 -0000 Author: mav Date: Tue Jan 31 12:57:21 2012 New Revision: 230807 URL: http://svn.freebsd.org/changeset/base/230807 Log: Just in case, clear stream interrupts before enabling them. Modified: head/sys/dev/sound/pci/hda/hdac.c Modified: head/sys/dev/sound/pci/hda/hdac.c ============================================================================== --- head/sys/dev/sound/pci/hda/hdac.c Tue Jan 31 11:00:33 2012 (r230806) +++ head/sys/dev/sound/pci/hda/hdac.c Tue Jan 31 12:57:21 2012 (r230807) @@ -1921,6 +1921,8 @@ hdac_stream_start(device_t dev, device_t ctl |= 1 << ss; HDAC_WRITE_4(&sc->mem, HDAC_INTCTL, ctl); + HDAC_WRITE_1(&sc->mem, off + HDAC_SDSTS, + HDAC_SDSTS_DESE | HDAC_SDSTS_FIFOE | HDAC_SDSTS_BCIS); ctl = HDAC_READ_1(&sc->mem, off + HDAC_SDCTL0); ctl |= HDAC_SDCTL_IOCE | HDAC_SDCTL_FEIE | HDAC_SDCTL_DEIE | HDAC_SDCTL_RUN; From owner-svn-src-head@FreeBSD.ORG Tue Jan 31 13:00:40 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7B1FF106564A; Tue, 31 Jan 2012 13:00:40 +0000 (UTC) (envelope-from pluknet@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 69BF28FC0C; Tue, 31 Jan 2012 13:00:40 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q0VD0eMW036784; Tue, 31 Jan 2012 13:00:40 GMT (envelope-from pluknet@svn.freebsd.org) Received: (from pluknet@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q0VD0eWM036780; Tue, 31 Jan 2012 13:00:40 GMT (envelope-from pluknet@svn.freebsd.org) Message-Id: <201201311300.q0VD0eWM036780@svn.freebsd.org> From: Sergey Kandaurov Date: Tue, 31 Jan 2012 13:00:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230808 - in head/sys: dev/ie sys X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jan 2012 13:00:40 -0000 Author: pluknet Date: Tue Jan 31 13:00:40 2012 New Revision: 230808 URL: http://svn.freebsd.org/changeset/base/230808 Log: Isolate v_caddr_t in the ie driver. Submitted by: Bruce Evans on net@ Modified: head/sys/dev/ie/if_ie.c head/sys/sys/types.h Modified: head/sys/dev/ie/if_ie.c ============================================================================== --- head/sys/dev/ie/if_ie.c Tue Jan 31 12:57:21 2012 (r230807) +++ head/sys/dev/ie/if_ie.c Tue Jan 31 13:00:40 2012 (r230808) @@ -157,6 +157,9 @@ static int ie_debug = IED_RNR; #define IE_BUF_LEN ETHER_MAX_LEN /* length of transmit buffer */ +/* XXX this driver uses `volatile' and `caddr_t' to a fault. */ +typedef volatile char *v_caddr_t; /* core address, pointer to volatile */ + /* Forward declaration */ struct ie_softc; Modified: head/sys/sys/types.h ============================================================================== --- head/sys/sys/types.h Tue Jan 31 12:57:21 2012 (r230807) +++ head/sys/sys/types.h Tue Jan 31 13:00:40 2012 (r230808) @@ -73,7 +73,6 @@ typedef quad_t * qaddr_t; typedef char * caddr_t; /* core address */ typedef const char * c_caddr_t; /* core address, pointer to const */ -typedef __volatile char *v_caddr_t; /* core address, pointer to volatile */ #ifndef _BLKSIZE_T_DECLARED typedef __blksize_t blksize_t; From owner-svn-src-head@FreeBSD.ORG Tue Jan 31 13:07:47 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C4DE81065676; Tue, 31 Jan 2012 13:07:47 +0000 (UTC) (envelope-from pluknet@gmail.com) Received: from mail-tul01m020-f182.google.com (mail-tul01m020-f182.google.com [209.85.214.182]) by mx1.freebsd.org (Postfix) with ESMTP id 731778FC08; Tue, 31 Jan 2012 13:07:47 +0000 (UTC) Received: by obcwo16 with SMTP id wo16so7806247obc.13 for ; Tue, 31 Jan 2012 05:07:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:content-type :content-transfer-encoding; bh=IoIIp0NH3vOfn+wqGbsWYNVbxRUA7e+veTiluEoK1PI=; b=w8z77vcOey3OvRbmQtgaD2Suxpm62E5NEyUeu6cuiWm9LpHDNBxH+nodXSyDxqrXsq fxOKU1efdsP0FZWylrCe28r9wn24w7vy4rzdr9js8Kr+KR7m6FZo8YbEzfkpqx2nFrs5 Ut6FT0bCix0spAlzRvsOHhNg+WvkZTp0Ejg98= MIME-Version: 1.0 Received: by 10.182.75.65 with SMTP id a1mr35214979obw.32.1328015266886; Tue, 31 Jan 2012 05:07:46 -0800 (PST) Sender: pluknet@gmail.com Received: by 10.182.74.167 with HTTP; Tue, 31 Jan 2012 05:07:46 -0800 (PST) In-Reply-To: <201201311300.q0VD0eWM036780@svn.freebsd.org> References: <201201311300.q0VD0eWM036780@svn.freebsd.org> Date: Tue, 31 Jan 2012 16:07:46 +0300 X-Google-Sender-Auth: ZgQA7taZ4SINJfruWncXPRHQRNg Message-ID: From: Sergey Kandaurov To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: Subject: Re: svn commit: r230808 - in head/sys: dev/ie sys X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jan 2012 13:07:47 -0000 On 31 January 2012 17:00, Sergey Kandaurov wrote: > Author: pluknet > Date: Tue Jan 31 13:00:40 2012 > New Revision: 230808 > URL: http://svn.freebsd.org/changeset/base/230808 > > Log: > =A0Isolate v_caddr_t in the ie driver. ie is the only consumer in the entire tree. I'm not quite sure if this worth MFC'ing at the cost of breaking some hypothetical out-of-tree consumers... --=20 wbr, pluknet From owner-svn-src-head@FreeBSD.ORG Tue Jan 31 13:20:50 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 444911065673; Tue, 31 Jan 2012 13:20:50 +0000 (UTC) (envelope-from raj@semihalf.com) Received: from smtp.semihalf.com (smtp.semihalf.com [213.17.239.109]) by mx1.freebsd.org (Postfix) with ESMTP id E1B1F8FC14; Tue, 31 Jan 2012 13:20:48 +0000 (UTC) Received: from localhost (unknown [213.17.239.109]) by smtp.semihalf.com (Postfix) with ESMTP id E2F54C3847; Tue, 31 Jan 2012 14:20:47 +0100 (CET) X-Virus-Scanned: by amavisd-new at semihalf.com Received: from smtp.semihalf.com ([213.17.239.109]) by localhost (smtp.semihalf.com [213.17.239.109]) (amavisd-new, port 10024) with ESMTP id xFCjba5w-4QE; Tue, 31 Jan 2012 14:20:47 +0100 (CET) Received: from [10.0.0.22] (cardhu.semihalf.com [213.17.239.108]) by smtp.semihalf.com (Postfix) with ESMTPSA id 1FCF5C3843; Tue, 31 Jan 2012 14:20:47 +0100 (CET) Mime-Version: 1.0 (Apple Message framework v1084) Content-Type: text/plain; charset=us-ascii From: Rafal Jaworowski In-Reply-To: <4F27120E.5000207@FreeBSD.org> Date: Tue, 31 Jan 2012 14:20:46 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: <9DAB4777-9799-49E3-8EBC-E7A567414D2A@semihalf.com> References: <201201271829.q0RIT4Xq051545@svn.freebsd.org> <4F26F8C9.3080807@FreeBSD.org> <1327956501.1662.13.camel@revolution.hippie.lan> <4F27120E.5000207@FreeBSD.org> To: Dimitry Andric X-Mailer: Apple Mail (2.1084) Cc: svn-src-head@freebsd.org, Ian Lepore , svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r230622 - head X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jan 2012 13:20:50 -0000 On 2012-01-30, at 22:56, Dimitry Andric wrote: > On 2012-01-30 21:48, Ian Lepore wrote: >> On Mon, 2012-01-30 at 21:08 +0100, Dimitry Andric wrote: >>> On 2012-01-30 20:27, Rafal Jaworowski wrote: >>> ... >>>>> Fix this by setting PATH to ${BPATH}:${PATH} in stage 2.3, so = the >>>>> bootstrap tools directories are searched before the regular = ones. >>>>=20 >>>> Is this supposed to work for cross building as well? I'm still = encountering problems on a 7.3 host build: >>>>=20 >>>> 1. Cross world builds fine >>>> make -j 8 buildworld TARGET_ARCH=3Darm >>>>=20 >>>> 2. Kernel fails w/ the aicasm >>>> make buildkernel TARGET_ARCH=3Darm KERNCONF=3DSHEEVAPLUG >>>> [...] >>>> cc -O2 -pipe -nostdinc -I/usr/include -I. = -I/home/raj/work/svn/base/head/sys/dev/aic7xxx/aicasm -std=3Dgnu99 = -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter = -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type = -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter = -Wcast-align -Wno-pointer-sign -c aicasm_scan.c >>>> cc1: warnings being treated as errors >>>> = /home/raj/work/svn/base/head/sys/dev/aic7xxx/aicasm/aicasm_scan.l:837: = warning: function declaration isn't a prototype >>>=20 >>> Can you please try doing "make buildenv TARGET_ARCH=3Darm", then run >>> "which lex" and "which yacc"? >>=20 >> Shouldn't lex and yacc be listed in the Makefile.inc1 bootstrap-tools >> target for this to be fully effective? It looks like neither is in >> RELENG_7 and lex is only conditionally listed in RELENG_8. >=20 > It is, for head at least (but I think I will MFC this change, if it > turns out to work correctly). Look in Makefile.inc1, around line = 1030: >=20 > .if ${BOOTSTRAPPING} < 900006 > _lex=3D usr.bin/lex > _yacc=3D usr.bin/yacc > .endif >=20 > I have assumed Rafal is building a head checkout on 7.3 release. = Since > BOOTSTRAPPING will most likely be 703000, the lex and yacc targets are > built during the bootstrap-tools stage. >=20 > That said, I still don't understand why the generated aicasm_scan.c = file > is still defining the input() function. Rafal, just to be sure, can = you > please paste the file that was generated during your buildkernel? Problem identified: the auto-gen'd aicasm files would not get updated in = the preexisting kernel OBJ subdir. After wiping out the OBJ sub dir = entirely make buildkernel works fine. Do you know why would the generated aicasm* files not get a refresh in = the kernel OBJ dir? Rafal From owner-svn-src-head@FreeBSD.ORG Tue Jan 31 13:25:39 2012 Return-Path: Delivered-To: svn-src-head@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 87354106564A; Tue, 31 Jan 2012 13:25:39 +0000 (UTC) (envelope-from gavin@FreeBSD.org) Received: from mail-gw13.york.ac.uk (mail-gw13.york.ac.uk [144.32.129.163]) by mx1.freebsd.org (Postfix) with ESMTP id 3F2378FC12; Tue, 31 Jan 2012 13:25:39 +0000 (UTC) Received: from buffy-128.york.ac.uk ([144.32.128.160]:10875 helo=buffy.york.ac.uk) by mail-gw13.york.ac.uk with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1RsDWV-0001HI-5J; Tue, 31 Jan 2012 13:13:23 +0000 Received: from buffy.york.ac.uk (localhost [127.0.0.1]) by buffy.york.ac.uk (8.14.5/8.14.5) with ESMTP id q0VDDMBk097376; Tue, 31 Jan 2012 13:13:22 GMT (envelope-from gavin@FreeBSD.org) Received: (from ga9@localhost) by buffy.york.ac.uk (8.14.5/8.14.5/Submit) id q0VDDMUA097375; Tue, 31 Jan 2012 13:13:22 GMT (envelope-from gavin@FreeBSD.org) X-Authentication-Warning: buffy.york.ac.uk: ga9 set sender to gavin@FreeBSD.org using -f From: Gavin Atkinson To: Jung-uk Kim In-Reply-To: <201201301828.q0UISvhb097256@svn.freebsd.org> References: <201201301828.q0UISvhb097256@svn.freebsd.org> Content-Type: text/plain; charset="ASCII" Content-Transfer-Encoding: quoted-printable Date: Tue, 31 Jan 2012 13:13:22 +0000 Message-ID: <1328015602.96718.19.camel@buffy.york.ac.uk> Mime-Version: 1.0 X-Mailer: Evolution 2.32.1 FreeBSD GNOME Team Port Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r230777 - head/sys/amd64/acpica X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jan 2012 13:25:39 -0000 On Mon, 2012-01-30 at 18:28 +0000, Jung-uk Kim wrote: > Author: jkim > Date: Mon Jan 30 18:28:56 2012 > New Revision: 230777 > URL: http://svn.freebsd.org/changeset/base/230777 >=20 > Log: > Naturally align a newly added wakeup_fpusave. I hadn't noticed this change when it went in initially. Out of interest, is the save/restore of the FPU state over suspend/resume likely to fix the panics some people see over a suspend/resume if they have run VirtualBox or similar before suspend? I've been assuming that it was related to some CPU state not being saved/restored, but never dug into it myself. Thanks, Gavin From owner-svn-src-head@FreeBSD.ORG Tue Jan 31 13:53:53 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 23CBB106564A; Tue, 31 Jan 2012 13:53:53 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from tensor.andric.com (cl-327.ede-01.nl.sixxs.net [IPv6:2001:7b8:2ff:146::2]) by mx1.freebsd.org (Postfix) with ESMTP id D29CD8FC08; Tue, 31 Jan 2012 13:53:52 +0000 (UTC) Received: from [IPv6:2001:7b8:3a7:0:4dd4:e805:cea2:78dc] (unknown [IPv6:2001:7b8:3a7:0:4dd4:e805:cea2:78dc]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id 9BBF65C59; Tue, 31 Jan 2012 14:53:51 +0100 (CET) Message-ID: <4F27F26F.8080107@FreeBSD.org> Date: Tue, 31 Jan 2012 14:53:51 +0100 From: Dimitry Andric Organization: The FreeBSD Project User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0) Gecko/20120124 Thunderbird/10.0 MIME-Version: 1.0 To: Rafal Jaworowski References: <201201271829.q0RIT4Xq051545@svn.freebsd.org> <4F26F8C9.3080807@FreeBSD.org> <1327956501.1662.13.camel@revolution.hippie.lan> <4F27120E.5000207@FreeBSD.org> <9DAB4777-9799-49E3-8EBC-E7A567414D2A@semihalf.com> In-Reply-To: <9DAB4777-9799-49E3-8EBC-E7A567414D2A@semihalf.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, Ian Lepore , svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r230622 - head X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jan 2012 13:53:53 -0000 On 2012-01-31 14:20, Rafal Jaworowski wrote: > On 2012-01-30, at 22:56, Dimitry Andric wrote: ... >> That said, I still don't understand why the generated aicasm_scan.c file >> is still defining the input() function. Rafal, just to be sure, can you >> please paste the file that was generated during your buildkernel? > > Problem identified: the auto-gen'd aicasm files would not get updated in the preexisting kernel OBJ subdir. After wiping out the OBJ sub dir entirely make buildkernel works fine. > > Do you know why would the generated aicasm* files not get a refresh in the kernel OBJ dir? Well, in general, incremental building is difficult to get working for all corner cases, like this particular one. The lexer and scanner .c files are generated from .l and .y files, so if the latter did not get an updated timestamp, the .c files will not be regenerated either. The only way to fix this would be to add a dependency on the actual lex and yacc executables. But that is probably overkill: if you wanted to be consistent, you would also have to relink every executable if ld gets updated, recompile every object file if cc gets updated, and so on. It's probably easier to just clean out your object tree, and build from scratch. :) From owner-svn-src-head@FreeBSD.ORG Tue Jan 31 14:21:18 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BCDA41065673; Tue, 31 Jan 2012 14:21:18 +0000 (UTC) (envelope-from raj@semihalf.com) Received: from smtp.semihalf.com (smtp.semihalf.com [213.17.239.109]) by mx1.freebsd.org (Postfix) with ESMTP id 6A6C88FC19; Tue, 31 Jan 2012 14:21:18 +0000 (UTC) Received: from localhost (unknown [213.17.239.109]) by smtp.semihalf.com (Postfix) with ESMTP id 6CF51C3CB6; Tue, 31 Jan 2012 15:21:17 +0100 (CET) X-Virus-Scanned: by amavisd-new at semihalf.com Received: from smtp.semihalf.com ([213.17.239.109]) by localhost (smtp.semihalf.com [213.17.239.109]) (amavisd-new, port 10024) with ESMTP id V6el3qg-nhRU; Tue, 31 Jan 2012 15:21:16 +0100 (CET) Received: from [10.0.0.22] (cardhu.semihalf.com [213.17.239.108]) by smtp.semihalf.com (Postfix) with ESMTPSA id C5557C3849; Tue, 31 Jan 2012 15:21:16 +0100 (CET) Mime-Version: 1.0 (Apple Message framework v1084) Content-Type: text/plain; charset=us-ascii From: Rafal Jaworowski In-Reply-To: <4F27F26F.8080107@FreeBSD.org> Date: Tue, 31 Jan 2012 15:21:16 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: <95928C11-96DD-4C54-8327-B499E213E80E@semihalf.com> References: <201201271829.q0RIT4Xq051545@svn.freebsd.org> <4F26F8C9.3080807@FreeBSD.org> <1327956501.1662.13.camel@revolution.hippie.lan> <4F27120E.5000207@FreeBSD.org> <9DAB4777-9799-49E3-8EBC-E7A567414D2A@semihalf.com> <4F27F26F.8080107@FreeBSD.org> To: Dimitry Andric X-Mailer: Apple Mail (2.1084) Cc: svn-src-head@freebsd.org, Ian Lepore , svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r230622 - head X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jan 2012 14:21:18 -0000 On 2012-01-31, at 14:53, Dimitry Andric wrote: > On 2012-01-31 14:20, Rafal Jaworowski wrote: >> On 2012-01-30, at 22:56, Dimitry Andric wrote: > ... >>> That said, I still don't understand why the generated aicasm_scan.c = file >>> is still defining the input() function. Rafal, just to be sure, can = you >>> please paste the file that was generated during your buildkernel? >>=20 >> Problem identified: the auto-gen'd aicasm files would not get updated = in the preexisting kernel OBJ subdir. After wiping out the OBJ sub dir = entirely make buildkernel works fine. >>=20 >> Do you know why would the generated aicasm* files not get a refresh = in the kernel OBJ dir? >=20 > Well, in general, incremental building is difficult to get working for > all corner cases, like this particular one. The lexer and scanner .c > files are generated from .l and .y files, so if the latter did not get > an updated timestamp, the .c files will not be regenerated either. >=20 > The only way to fix this would be to add a dependency on the actual = lex > and yacc executables. But that is probably overkill: if you wanted to > be consistent, you would also have to relink every executable if ld = gets > updated, recompile every object file if cc gets updated, and so on. >=20 > It's probably easier to just clean out your object tree, and build = from > scratch. :) Sure, I was just curious. Thanks for help! Rafal From owner-svn-src-head@FreeBSD.ORG Tue Jan 31 15:20:10 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3D8011065670; Tue, 31 Jan 2012 15:20:10 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail09.syd.optusnet.com.au (mail09.syd.optusnet.com.au [211.29.132.190]) by mx1.freebsd.org (Postfix) with ESMTP id C56238FC19; Tue, 31 Jan 2012 15:20:09 +0000 (UTC) Received: from c211-30-171-136.carlnfd1.nsw.optusnet.com.au (c211-30-171-136.carlnfd1.nsw.optusnet.com.au [211.30.171.136]) by mail09.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id q0VFK6Fi003512 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 1 Feb 2012 02:20:07 +1100 Date: Wed, 1 Feb 2012 02:20:06 +1100 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Konstantin Belousov In-Reply-To: <20120131105431.GB3283@deviant.kiev.zoral.com.ua> Message-ID: <20120201013621.V2889@besplex.bde.org> References: <20120126153641.GA68112@FreeBSD.org> <20120127194612.H1547@besplex.bde.org> <20120127091244.GZ2726@deviant.kiev.zoral.com.ua> <20120127194221.GA25723@zim.MIT.EDU> <20120128123748.GD2726@deviant.kiev.zoral.com.ua> <20120129001225.GA32220@zim.MIT.EDU> <20120129062327.GK2726@deviant.kiev.zoral.com.ua> <20120129223904.GA37483@zim.MIT.EDU> <20120130063034.GU2726@deviant.kiev.zoral.com.ua> <20120130190703.GA44663@zim.MIT.EDU> <20120131105431.GB3283@deviant.kiev.zoral.com.ua> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, Gleb Smirnoff , src-committers@freebsd.org, Bruce Evans Subject: Re: svn commit: r230583 - head/sys/kern X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jan 2012 15:20:10 -0000 On Tue, 31 Jan 2012, Konstantin Belousov wrote: > On Mon, Jan 30, 2012 at 02:07:03PM -0500, David Schultz wrote: >> That's why I'm glad I'm not committing it. :) A more conservative >> change (also known as "kicking the can down the road") would be to >> add a VFS flag, e.g., VFCF_LONGIO, and only set it on file systems >> that have been thoroughly reviewed. The VFS layer could cap the size >> at INT_MAX for file systems without the flag. > At least I will get more mail after the commit, I hope. > > I disagree with the VFCF_LONGIO approach. It will cause much head-scratching > for unsuspecting user who would try to use > 4GB transfers. No one cared when this was broken for almost 10 years by 4.4BSD changing the type of iov_len from int to size_t. You can almost equally safely break it again :(. Previously (in FreeBSD-1 and presumably in Net/2) iov_len had the same type as uio_resid, and the code in readv(), etc., depended on this and also on benign undefined behaviour on overflow to detect overflow (after it gave undefined behaviour by occurring) when adding up iov_len's to get uio_resid. The bug didn't require passing a buffer of size > INT_MAX to reach -- it just required a single or multiple iov_len whose total size exceeded INT_MAX. FreeBSD fixed this in 2003. size_t for iov_len is bogus even if the limit is SSIZE max. It allows a single iov to have a size that cannot work, and n iov's to have a size almost 2*n times too large to work. Unfortunately, POSIX standardizes the type of iov_len as size_t. It is interesting that POSIX says "shall fail" for readv() when the sum of the iov_len values overflowed [sic] an ssize_t. For read(), the behaviour when the count exceeds {SSIZE_MAX} is implementation-defined. This gives the silly possibility that read() can work for a size that is almost twice as large as readv(), using a single count instead of an array of counts. It is also strange that readv() refers to ssize_t while read() refers to {SSIZE_MAX}. POSIX standardizes the bug that {SSIZE_MAX} is the limit of the type, although that may be unrelated to sizes that can work. If these APIs had been correctly designed, then the limit would be {READ_MAX} and unrelated to any size type (except that the type must be large enough to represent {READ_MAX}). It would normally be INT_MAX or much smaller. readv() also has the bogus specification that if iovcnt is <= 0 or > {IOV_MAX}, then failure is optional. So failure is optional for a hard error like iovcnt > {IOV_MAX}, but is required for a condition that is not required to be an error for a similar API (count > {SSIZE_MAX}). I only checked a 2001 draft for this. Maybe some of these bugs have been fixed. > What I can do, is to commit all changes except removals of the checks > for INT_MAX. After type changes settle, I can try to gather enough > bravery to flip the checks in HEAD, possibly with temporary sysctl > to return to old behaviour for emergency (AKA hole). > >> >>> diff --git a/sys/kern/sys_pipe.c b/sys/kern/sys_pipe.c >>> index 9edcb74..332ec37 100644 >>> --- a/sys/kern/sys_pipe.c >>> +++ b/sys/kern/sys_pipe.c >> [...] >>> @@ -757,14 +757,14 @@ pipe_build_write_buffer(wpipe, uio) >>> struct pipe *wpipe; >>> struct uio *uio; >>> { >>> - u_int size; >>> + size_t size; >>> int i; >>> >>> PIPE_LOCK_ASSERT(wpipe, MA_NOTOWNED); >>> KASSERT(wpipe->pipe_state & PIPE_DIRECTW, >>> ("Clone attempt on non-direct write pipe!")); >>> >>> - size = (u_int) uio->uio_iov->iov_len; >>> + size = uio->uio_iov->iov_len; >>> if (size > wpipe->pipe_buffer.size) >>> size = wpipe->pipe_buffer.size; >> >> The transfer can't be bigger than the max pipe buffer size (64k), >> so `size = (int)MIN(uio->uio_iov->iov_len, wpipe->pipe_buffer.size)' >> should suffice. The same comment applies elsewhere in the file. > > True. If you much prefer this version, I will change the patch. But I do > think that my changes are cleaner. size_t is a bogus type for `size', since it must still be a u_int to work. For example, when it is assigned to the u_int wpipe->pipe_map.cnt. This shouldn't be "fixed" by bloating the type to size_t throughout (any global change should be to int to give suitably undefined behaviour on overflow). There must be an implicit or explicit check on it somewhere that it fits. This check is provided by the comparison with wpipe->pipe_buffer.size. But the above is a bad way to write it -- it should be checked before assignment, to avoid any possibility of overflow or sign extension of either operand before the check: u_int size; if (uio->uio_iov->iov_len > wpipe->pipe_buffer.size) size = wpipe->pipe_buffer.size; else size = uio->uio_iov->iov_len; This is the same as the MIN() expression (without a bogus cast). I think I want to write it out verbosely like this and not use MIN(), even if MIN() were not a style bug, to make it clear that this is a correct bounds check. Bruce From owner-svn-src-head@FreeBSD.ORG Tue Jan 31 15:32:05 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A73991065674; Tue, 31 Jan 2012 15:32:05 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 95C9F8FC12; Tue, 31 Jan 2012 15:32:05 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q0VFW5NX042081; Tue, 31 Jan 2012 15:32:05 GMT (envelope-from emaste@svn.freebsd.org) Received: (from emaste@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q0VFW5Kd042078; Tue, 31 Jan 2012 15:32:05 GMT (envelope-from emaste@svn.freebsd.org) Message-Id: <201201311532.q0VFW5Kd042078@svn.freebsd.org> From: Ed Maste Date: Tue, 31 Jan 2012 15:32:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230812 - head/sbin/reboot X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jan 2012 15:32:05 -0000 Author: emaste Date: Tue Jan 31 15:32:05 2012 New Revision: 230812 URL: http://svn.freebsd.org/changeset/base/230812 Log: Add -e to set arbitrary kernel environment variables. Nextboot(8) can now set any combination of kernel name (-k), kernel options (-o), and environment strings (-e). As a result of this change -k also becomes optional. Reviewed by: freebsd-current (Ian Lepore, pluknet@, jhb@) Modified: head/sbin/reboot/nextboot.8 head/sbin/reboot/nextboot.sh Modified: head/sbin/reboot/nextboot.8 ============================================================================== --- head/sbin/reboot/nextboot.8 Tue Jan 31 15:25:00 2012 (r230811) +++ head/sbin/reboot/nextboot.8 Tue Jan 31 15:32:05 2012 (r230812) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd November 4, 2002 +.Dd January 31, 2012 .Dt NEXTBOOT 8 .Os .Sh NAME @@ -32,15 +32,17 @@ .Nd "specify an alternate kernel and boot flags for the next reboot" .Sh SYNOPSIS .Nm +.Op Fl e Ar variable=value .Op Fl f +.Op Fl k Ar kernel .Op Fl o Ar options -.Fl k Ar kernel .Nm .Fl D .Sh DESCRIPTION The .Nm -utility allows specifying an alternate kernel and/or boot flags for the +utility allows specifying some combination of an alternate kernel, boot flags +and kernel environment for the next time the machine is booted. Once the .Xr loader 8 @@ -58,6 +60,11 @@ with this option removes an existing .Nm configuration. +.It Fl e Ar variable=value +This option adds the provided variable and value to the kernel environment. +The value is quoted when written to the +.Nm +configuration. .It Fl f This option disables the sanity checking which checks if the kernel really exists Modified: head/sbin/reboot/nextboot.sh ============================================================================== --- head/sbin/reboot/nextboot.sh Tue Jan 31 15:25:00 2012 (r230811) +++ head/sbin/reboot/nextboot.sh Tue Jan 31 15:32:05 2012 (r230812) @@ -2,31 +2,59 @@ # # Copyright 2002. Gordon Tetlow. # gordon@FreeBSD.org +# Copyright (c) 2012 Sandvine Incorporated. All rights reserved. # # $FreeBSD$ delete="NO" +kenv= force="NO" nextboot_file="/boot/nextboot.conf" +add_kenv() +{ + local var value + + var=$1 + # strip literal quotes if passed in + value=${2%\"*} + value=${value#*\"} + + if [ -n "${kenv}" ]; then + kenv="${kenv} +" + fi + kenv="${kenv}${var}=\"${value}\"" +} + display_usage() { - echo "Usage: nextboot [-f] [-o options] -k kernel" + echo "Usage: nextboot [-e variable=value] [-f] [-k kernel] [-o options]" echo " nextboot -D" } -while getopts "Dfk:o:" argument ; do +while getopts "De:fk:o:" argument ; do case "${argument}" in D) delete="YES" ;; + e) + var=${OPTARG%%=*} + value=${OPTARG#*=} + if [ -z "$var" -o -z "$value" ]; then + display_usage + exit 1 + fi + add_kenv "$var" "$value" + ;; f) force="YES" ;; k) kernel="${OPTARG}" + add_kenv kernel "$kernel" ;; o) - kernel_options="${OPTARG}" + add_kenv kernel_options "${OPTARG}" ;; *) display_usage @@ -40,12 +68,12 @@ if [ ${delete} = "YES" ]; then exit 0 fi -if [ "xxx${kernel}" = "xxx" ]; then +if [ -z "${kenv}" ]; then display_usage exit 1 fi -if [ ${force} = "NO" -a ! -d /boot/${kernel} ]; then +if [ -n "${kernel}" -a ${force} = "NO" -a ! -d /boot/${kernel} ]; then echo "Error: /boot/${kernel} doesn't exist. Use -f to override." exit 1 fi @@ -60,6 +88,5 @@ done cat > ${nextboot_file} << EOF nextboot_enable="YES" -kernel="${kernel}" -kernel_options="${kernel_options}" +$kenv EOF From owner-svn-src-head@FreeBSD.ORG Tue Jan 31 15:48:40 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 655A31065785; Tue, 31 Jan 2012 15:48:40 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 525D58FC14; Tue, 31 Jan 2012 15:48:40 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q0VFmeEF043011; Tue, 31 Jan 2012 15:48:40 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q0VFme2N043009; Tue, 31 Jan 2012 15:48:40 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201201311548.q0VFme2N043009@svn.freebsd.org> From: John Baldwin Date: Tue, 31 Jan 2012 15:48:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230822 - head/sys/dev/pci X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jan 2012 15:48:40 -0000 Author: jhb Date: Tue Jan 31 15:48:40 2012 New Revision: 230822 URL: http://svn.freebsd.org/changeset/base/230822 Log: Fix a spelling mistake in the surprise link down error constant. Submitted by: glebius Modified: head/sys/dev/pci/pcireg.h Modified: head/sys/dev/pci/pcireg.h ============================================================================== --- head/sys/dev/pci/pcireg.h Tue Jan 31 15:48:33 2012 (r230821) +++ head/sys/dev/pci/pcireg.h Tue Jan 31 15:48:40 2012 (r230822) @@ -697,7 +697,7 @@ #define PCIR_AER_UC_STATUS 0x04 #define PCIM_AER_UC_TRAINING_ERROR 0x00000001 #define PCIM_AER_UC_DL_PROTOCOL_ERROR 0x00000010 -#define PCIM_AER_UC_SUPRISE_LINK_DOWN 0x00000020 +#define PCIM_AER_UC_SURPRISE_LINK_DOWN 0x00000020 #define PCIM_AER_UC_POISONED_TLP 0x00001000 #define PCIM_AER_UC_FC_PROTOCOL_ERROR 0x00002000 #define PCIM_AER_UC_COMPLETION_TIMEOUT 0x00004000 From owner-svn-src-head@FreeBSD.ORG Tue Jan 31 15:48:47 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6C5BC10657A7; Tue, 31 Jan 2012 15:48:47 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail07.syd.optusnet.com.au (mail07.syd.optusnet.com.au [211.29.132.188]) by mx1.freebsd.org (Postfix) with ESMTP id 076358FC17; Tue, 31 Jan 2012 15:48:46 +0000 (UTC) Received: from c211-30-171-136.carlnfd1.nsw.optusnet.com.au (c211-30-171-136.carlnfd1.nsw.optusnet.com.au [211.30.171.136]) by mail07.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id q0VFmiQY005074 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 1 Feb 2012 02:48:44 +1100 Date: Wed, 1 Feb 2012 02:48:44 +1100 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Sergey Kandaurov In-Reply-To: <201201311300.q0VD0eWM036780@svn.freebsd.org> Message-ID: <20120201022150.N2889@besplex.bde.org> References: <201201311300.q0VD0eWM036780@svn.freebsd.org> 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 Subject: Re: svn commit: r230808 - in head/sys: dev/ie sys X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jan 2012 15:48:47 -0000 On Tue, 31 Jan 2012, Sergey Kandaurov wrote: > Log: > Isolate v_caddr_t in the ie driver. > > Submitted by: Bruce Evans on net@ Thanks. > ... > Modified: head/sys/sys/types.h > ============================================================================== > --- head/sys/sys/types.h Tue Jan 31 12:57:21 2012 (r230807) > +++ head/sys/sys/types.h Tue Jan 31 13:00:40 2012 (r230808) > @@ -73,7 +73,6 @@ typedef quad_t * qaddr_t; > > typedef char * caddr_t; /* core address */ > typedef const char * c_caddr_t; /* core address, pointer to const */ > -typedef __volatile char *v_caddr_t; /* core address, pointer to volatile */ > > #ifndef _BLKSIZE_T_DECLARED > typedef __blksize_t blksize_t; c_caddr_t is a bit harder to fix or isolate. I removed it, then fixed the things that broke, but only the ones that were used in my normal kernel (or perhaps GENERIC). These are most mchain and its uses: - mbchain.9, mchain.9 (these also have a bogus include of uio.h) - nwfs_subr.c (remove the bogus casts to c_caddr_t and also many more to caddr_t, after fixing APIs). This is barely maintained, and might go away for other reasons (it needs Giant?). - subr_mchain.c, and headers: change APIs to use const void * instead of c_caddr_t, and void * instead of caddr_t; add casts to const char * or char * to access or do pointer arithmetic on these void *. - subr_mbuf.c: like subr_mchain.c, but only 1 place to unbreak. - ncp_rq.c: like nwfs_subr.c, but less to change. - smb_subr.c: change just 1 API to take const void * and void * instead of c_caddr_t etc., and add casts. The casts are now to const char ** and char **. That's 1 more star than before, so I don't see how this worked or works. - linker.h: the same bugs affect the "opaque" symbol linker_sym_t. We have to peer inside it to know that it is a pointer and modify it to make it a pointer to const. We use c_linker_sym_t for the latter, and since it is bogusly a caddr_t, we used c_caddr_t for the latter. I changed the latter to use const char *, but didn't try to fix the bogus opaqueness. - mchain.h: one of the headers affected. Also add a forward declaration of struct uio to it, so that uio.h isn't prerequisite, and fix the unsorting of the forward declarations. - types.h: remove c_caddr_t. Bruce From owner-svn-src-head@FreeBSD.ORG Tue Jan 31 17:10:17 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from [127.0.0.1] (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by hub.freebsd.org (Postfix) with ESMTP id A6397106564A; Tue, 31 Jan 2012 17:10:17 +0000 (UTC) (envelope-from jkim@FreeBSD.org) From: Jung-uk Kim To: Gavin Atkinson Date: Tue, 31 Jan 2012 12:10:06 -0500 User-Agent: KMail/1.6.2 References: <201201301828.q0UISvhb097256@svn.freebsd.org> <1328015602.96718.19.camel@buffy.york.ac.uk> In-Reply-To: <1328015602.96718.19.camel@buffy.york.ac.uk> MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201201311210.09506.jkim@FreeBSD.org> Cc: "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" Subject: Re: svn commit: r230777 - head/sys/amd64/acpica X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jan 2012 17:10:17 -0000 On Tuesday 31 January 2012 08:13 am, Gavin Atkinson wrote: > On Mon, 2012-01-30 at 18:28 +0000, Jung-uk Kim wrote: > > Author: jkim > > Date: Mon Jan 30 18:28:56 2012 > > New Revision: 230777 > > URL: http://svn.freebsd.org/changeset/base/230777 > > > > Log: > > Naturally align a newly added wakeup_fpusave. > > I hadn't noticed this change when it went in initially. Out of > interest, is the save/restore of the FPU state over suspend/resume > likely to fix the panics some people see over a suspend/resume if > they have run VirtualBox or similar before suspend? I've been > assuming that it was related to some CPU state not being > saved/restored, but never dug into it myself. I am actually not sure but FPU state won't be problem. Probably VirtualBox device drivers don't implement suspend/resume methods. In fact, something broke suspend/resume for my desktop recently but I don't have enough free time to dig into it myself. :-( Jung-uk Kim From owner-svn-src-head@FreeBSD.ORG Tue Jan 31 17:48:50 2012 Return-Path: Delivered-To: svn-src-head@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 90919106566B; Tue, 31 Jan 2012 17:48:50 +0000 (UTC) (envelope-from das@FreeBSD.ORG) Received: from zim.MIT.EDU (ZIM.MIT.EDU [18.95.3.101]) by mx1.freebsd.org (Postfix) with ESMTP id 5CE868FC08; Tue, 31 Jan 2012 17:48:50 +0000 (UTC) Received: from zim.MIT.EDU (localhost [127.0.0.1]) by zim.MIT.EDU (8.14.5/8.14.2) with ESMTP id q0VHmnOM050461; Tue, 31 Jan 2012 12:48:49 -0500 (EST) (envelope-from das@FreeBSD.ORG) Received: (from das@localhost) by zim.MIT.EDU (8.14.5/8.14.2/Submit) id q0VHmnJv050460; Tue, 31 Jan 2012 12:48:49 -0500 (EST) (envelope-from das@FreeBSD.ORG) Date: Tue, 31 Jan 2012 12:48:49 -0500 From: David Schultz To: Konstantin Belousov Message-ID: <20120131174849.GA50386@zim.MIT.EDU> Mail-Followup-To: Konstantin Belousov , Bruce Evans , Gleb Smirnoff , svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org References: <20120127194612.H1547@besplex.bde.org> <20120127091244.GZ2726@deviant.kiev.zoral.com.ua> <20120127194221.GA25723@zim.MIT.EDU> <20120128123748.GD2726@deviant.kiev.zoral.com.ua> <20120129001225.GA32220@zim.MIT.EDU> <20120129062327.GK2726@deviant.kiev.zoral.com.ua> <20120129223904.GA37483@zim.MIT.EDU> <20120130063034.GU2726@deviant.kiev.zoral.com.ua> <20120130190703.GA44663@zim.MIT.EDU> <20120131105431.GB3283@deviant.kiev.zoral.com.ua> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20120131105431.GB3283@deviant.kiev.zoral.com.ua> Cc: svn-src-head@FreeBSD.ORG, svn-src-all@FreeBSD.ORG, Gleb Smirnoff , src-committers@FreeBSD.ORG, Bruce Evans Subject: Re: svn commit: r230583 - head/sys/kern X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jan 2012 17:48:50 -0000 On Tue, Jan 31, 2012, Konstantin Belousov wrote: > On Mon, Jan 30, 2012 at 02:07:03PM -0500, David Schultz wrote: > > On Mon, Jan 30, 2012, Kostik Belousov wrote: > > > On Sun, Jan 29, 2012 at 05:39:04PM -0500, David Schultz wrote: > > > > On Sun, Jan 29, 2012, Kostik Belousov wrote: > > > > > On Sat, Jan 28, 2012 at 07:12:25PM -0500, David Schultz wrote: > > > > > > On Sat, Jan 28, 2012, Kostik Belousov wrote: > > > > > > > On Fri, Jan 27, 2012 at 02:42:21PM -0500, David Schultz wrote: > > > > > > > > The correct limit on the maximum size of a single read/write is > > > > > > > > SSIZE_MAX, but FreeBSD uses INT_MAX. It's not safe to raise the > > > > > > > > limit yet, though, because of bugs in several filesystems. For > > > > > > > > example, FFS copies uio_resid into a local variable of type int. > > > > > > > > I have some old patches that fix some of these issues for FFS and > > > > > > > > cd9660, but surely there are more places I didn't notice. > > > > > > > > > > > > > > > Absolutely agree. > > > > > > > > > > > > > > http://people.freebsd.org/~kib/misc/uio_resid.5.patch > > > > > > > > > > > > Nice. You found a lot more than I've got in my tree, and you even > > > > > > fixed the return values. There are at least a few more places to > > > > > > fix. For instance, cd9660 and the NFS client pass uio_resid or > > > > > > iov_len to min(), which operates on ints. (Incidentally, C11 > > > > > > generics ought to make it possible to write type-generic min() > > > > > > and max() functions.) > > > > > > > > > > Thank you, http://people.freebsd.org/~kib/misc/uio_resid.6.patch > > > > > changed them to MIN(). > > > > > > > > This looks good to me. I tried to think of other places that you > > > > might have missed, and the only one that occurred to me is the > > > Might ? I think this is a blatant understate. > > > > > > > pipe code. sys_pipe.c has an `int orig_resid' and lots of bogus > > > > casts of iov_len and uio_resid to type u_int. Some look harmless, > > > > although it appears that writing a multiple of 2^32 bytes might > > > > result in pipe_build_write_buffer() allocating a 0-length buffer. > > > > > > > > My only reservation is that raising the limit could unmask a > > > > kernel buffer overflow if we missed something, but I guess we have > > > > to cross that bridge some day anyway. > > > Yes, and it is an obvious reason why I am chicken to commit this for > > > so long time. One more place, if this is reasonable to count as 'one' > > > place, are the cdevsw methods. devfs passes uio down to the drivers. > > > > That's why I'm glad I'm not committing it. :) A more conservative > > change (also known as "kicking the can down the road") would be to > > add a VFS flag, e.g., VFCF_LONGIO, and only set it on file systems > > that have been thoroughly reviewed. The VFS layer could cap the size > > at INT_MAX for file systems without the flag. > At least I will get more mail after the commit, I hope. > > I disagree with the VFCF_LONGIO approach. It will cause much head-scratching > for unsuspecting user who would try to use > 4GB transfers. > > What I can do, is to commit all changes except removals of the checks > for INT_MAX. After type changes settle, I can try to gather enough > bravery to flip the checks in HEAD, possibly with temporary sysctl > to return to old behaviour for emergency (AKA hole). That sounds like a good plan to me. As an aside, I wonder if we could convince the clang folks to add a warning similar to `lint -a', which complains about every long->int narrowing conversion that doesn't have an explicit cast. Modern languages such as Java and C# require casts for narrowing conversions, and I'd be a lot more confident about this change if we did the same for the FreeBSD kernel. > > > diff --git a/sys/kern/sys_pipe.c b/sys/kern/sys_pipe.c > > > index 9edcb74..332ec37 100644 > > > --- a/sys/kern/sys_pipe.c > > > +++ b/sys/kern/sys_pipe.c > > [...] > > > @@ -757,14 +757,14 @@ pipe_build_write_buffer(wpipe, uio) > > > struct pipe *wpipe; > > > struct uio *uio; > > > { > > > - u_int size; > > > + size_t size; > > > int i; > > > > > > PIPE_LOCK_ASSERT(wpipe, MA_NOTOWNED); > > > KASSERT(wpipe->pipe_state & PIPE_DIRECTW, > > > ("Clone attempt on non-direct write pipe!")); > > > > > > - size = (u_int) uio->uio_iov->iov_len; > > > + size = uio->uio_iov->iov_len; > > > if (size > wpipe->pipe_buffer.size) > > > size = wpipe->pipe_buffer.size; > > > > The transfer can't be bigger than the max pipe buffer size (64k), > > so `size = (int)MIN(uio->uio_iov->iov_len, wpipe->pipe_buffer.size)' > > should suffice. The same comment applies elsewhere in the file. > > True. If you much prefer this version, I will change the patch. But I do > think that my changes are cleaner. I don't mind either way. I haven't touched anything remotely close to that code in years. From owner-svn-src-head@FreeBSD.ORG Tue Jan 31 17:51:31 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1C017106566C; Tue, 31 Jan 2012 17:51:31 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 006168FC08; Tue, 31 Jan 2012 17:51:31 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q0VHpUDr047669; Tue, 31 Jan 2012 17:51:30 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q0VHpUoB047665; Tue, 31 Jan 2012 17:51:30 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201201311751.q0VHpUoB047665@svn.freebsd.org> From: Jung-uk Kim Date: Tue, 31 Jan 2012 17:51:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230830 - head/sys/amd64/acpica X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jan 2012 17:51:31 -0000 Author: jkim Date: Tue Jan 31 17:51:30 2012 New Revision: 230830 URL: http://svn.freebsd.org/changeset/base/230830 Log: - Restore XCR0 before restoring extended FPU states. - Update my copyright dates. Reviewed by: kib Modified: head/sys/amd64/acpica/acpi_switch.S head/sys/amd64/acpica/acpi_wakecode.S head/sys/amd64/acpica/acpi_wakeup.c Modified: head/sys/amd64/acpica/acpi_switch.S ============================================================================== --- head/sys/amd64/acpica/acpi_switch.S Tue Jan 31 17:24:08 2012 (r230829) +++ head/sys/amd64/acpica/acpi_switch.S Tue Jan 31 17:51:30 2012 (r230830) @@ -1,7 +1,7 @@ /*- * Copyright (c) 2001 Takanori Watanabe * Copyright (c) 2001 Mitsuru IWASAKI - * Copyright (c) 2008-2010 Jung-uk Kim + * Copyright (c) 2008-2012 Jung-uk Kim * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -95,7 +95,6 @@ ENTRY(acpi_restorecpu) /* Restore CR0 except for FPU mode. */ movq PCB_CR0(%rdi), %rax - movq %rax, %rcx andq $~(CR0_EM | CR0_TS), %rax movq %rax, %cr0 @@ -146,21 +145,26 @@ ENTRY(acpi_restorecpu) /* Restore FPU state. */ fninit - movq WAKEUP_CTX(fpusave),%rdi - cmpl $0,use_xsave - jne 1f - fxrstor (%rdi) + movq WAKEUP_CTX(xsmask), %rax + testq %rax, %rax + jz 1f + movq %rax, %rdx + shrq $32, %rdx + movl $XCR0, %ecx +/* xsetbv */ + .byte 0x0f, 0x01, 0xd1 + movq WAKEUP_CTX(fpusave), %rcx +/* xrstor (%rcx) */ + .byte 0x0f, 0xae, 0x29 jmp 2f -1: movl xsave_mask,%eax - movl xsave_mask+4,%edx -/* xrstor (%rdi) */ - .byte 0x0f,0xae,0x2f +1: + movq WAKEUP_CTX(fpusave), %rcx + fxrstor (%rcx) 2: /* Reload CR0. */ - movq %rcx, %cr0 - - movq WAKEUP_CTX(pcb),%rdi + movq PCB_CR0(%rdi), %rax + movq %rax, %cr0 /* Restore return address. */ movq PCB_RIP(%rdi), %rax Modified: head/sys/amd64/acpica/acpi_wakecode.S ============================================================================== --- head/sys/amd64/acpica/acpi_wakecode.S Tue Jan 31 17:24:08 2012 (r230829) +++ head/sys/amd64/acpica/acpi_wakecode.S Tue Jan 31 17:51:30 2012 (r230830) @@ -2,7 +2,7 @@ * Copyright (c) 2001 Takanori Watanabe * Copyright (c) 2001 Mitsuru IWASAKI * Copyright (c) 2003 Peter Wemm - * Copyright (c) 2008-2010 Jung-uk Kim + * Copyright (c) 2008-2012 Jung-uk Kim * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -284,6 +284,8 @@ wakeup_cstar: .quad 0 wakeup_sfmask: .quad 0 +wakeup_xsmask: + .quad 0 wakeup_cpu: .long 0 dummy: Modified: head/sys/amd64/acpica/acpi_wakeup.c ============================================================================== --- head/sys/amd64/acpica/acpi_wakeup.c Tue Jan 31 17:24:08 2012 (r230829) +++ head/sys/amd64/acpica/acpi_wakeup.c Tue Jan 31 17:51:30 2012 (r230830) @@ -2,7 +2,7 @@ * Copyright (c) 2001 Takanori Watanabe * Copyright (c) 2001 Mitsuru IWASAKI * Copyright (c) 2003 Peter Wemm - * Copyright (c) 2008-2010 Jung-uk Kim + * Copyright (c) 2008-2012 Jung-uk Kim * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -386,6 +386,7 @@ acpi_install_wakeup_handler(struct acpi_ WAKECODE_FIXUP(wakeup_lstar, uint64_t, rdmsr(MSR_LSTAR)); WAKECODE_FIXUP(wakeup_cstar, uint64_t, rdmsr(MSR_CSTAR)); WAKECODE_FIXUP(wakeup_sfmask, uint64_t, rdmsr(MSR_SF_MASK)); + WAKECODE_FIXUP(wakeup_xsmask, uint64_t, xsave_mask); /* Build temporary page tables below realmode code. */ pt4 = wakeaddr; From owner-svn-src-head@FreeBSD.ORG Tue Jan 31 19:38:19 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8AA14106566C; Tue, 31 Jan 2012 19:38:19 +0000 (UTC) (envelope-from jimharris@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7615D8FC0C; Tue, 31 Jan 2012 19:38:19 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q0VJcJcA051835; Tue, 31 Jan 2012 19:38:19 GMT (envelope-from jimharris@svn.freebsd.org) Received: (from jimharris@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q0VJcJfv051822; Tue, 31 Jan 2012 19:38:19 GMT (envelope-from jimharris@svn.freebsd.org) Message-Id: <201201311938.q0VJcJfv051822@svn.freebsd.org> From: Jim Harris Date: Tue, 31 Jan 2012 19:38:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230843 - in head: . share/man/man4 sys/amd64/conf sys/conf sys/dev/isci sys/i386/conf sys/modules sys/modules/isci X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jan 2012 19:38:19 -0000 Author: jimharris Date: Tue Jan 31 19:38:18 2012 New Revision: 230843 URL: http://svn.freebsd.org/changeset/base/230843 Log: Add isci(4) driver for amd64 and i386 targets. The isci driver is for the integrated SAS controller in the Intel C600 (Patsburg) chipset. Source files in sys/dev/isci directory are FreeBSD-specific, and sys/dev/isci/scil subdirectory contains an OS-agnostic library (SCIL) published by Intel to control the SAS controller. This library is used primarily as-is in this driver, with some post-processing to better integrate into the kernel build environment. isci.4 and a README in the sys/dev/isci directory contain a few additional details. This driver is only built for amd64 and i386 targets. Sponsored by: Intel Reviewed by: scottl Approved by: scottl Added: head/share/man/man4/isci.4 - copied unchanged from r230794, user/jimharris/isci/share/man/man4/isci.4 head/sys/dev/isci/ - copied from r230794, user/jimharris/isci/sys/dev/isci/ head/sys/modules/isci/ - copied from r230794, user/jimharris/isci/sys/modules/isci/ Modified: head/MAINTAINERS (contents, props changed) head/share/man/man4/Makefile head/sys/amd64/conf/GENERIC head/sys/amd64/conf/NOTES head/sys/conf/files.amd64 head/sys/conf/files.i386 head/sys/conf/options.amd64 head/sys/conf/options.i386 head/sys/i386/conf/GENERIC head/sys/i386/conf/NOTES head/sys/modules/Makefile Directory Properties: head/share/man/man4/ (props changed) head/sys/ (props changed) Modified: head/MAINTAINERS ============================================================================== --- head/MAINTAINERS Tue Jan 31 19:07:08 2012 (r230842) +++ head/MAINTAINERS Tue Jan 31 19:38:18 2012 (r230843) @@ -124,6 +124,7 @@ usr.sbin/zic edwin Heads-up appreciat lib/libc/stdtime edwin Heads-up appreciated, since parts of this code is maintained by a third party source. sbin/routed bms Pre-commit review; notify vendor at rhyolite.com +isci(4) jimharris Pre-commit review requested. Following are the entries from the Makefiles, and a few other sources. Please remove stale entries from both their origin, and this file. Modified: head/share/man/man4/Makefile ============================================================================== --- head/share/man/man4/Makefile Tue Jan 31 19:07:08 2012 (r230842) +++ head/share/man/man4/Makefile Tue Jan 31 19:38:18 2012 (r230843) @@ -182,6 +182,7 @@ MAN= aac.4 \ ipsec.4 \ ipw.4 \ ipwfw.4 \ + isci.4 \ iscsi_initiator.4 \ isp.4 \ ispfw.4 \ Copied: head/share/man/man4/isci.4 (from r230794, user/jimharris/isci/share/man/man4/isci.4) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/share/man/man4/isci.4 Tue Jan 31 19:38:18 2012 (r230843, copy of r230794, user/jimharris/isci/share/man/man4/isci.4) @@ -0,0 +1,110 @@ +.\" +.\" Copyright (c) 2012 Intel Corporation +.\" 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, +.\" without modification. +.\" 2. Redistributions in binary form must reproduce at minimum a disclaimer +.\" substantially similar to the "NO WARRANTY" disclaimer below +.\" ("Disclaimer") and any redistribution must be conditioned upon +.\" including a substantially similar Disclaimer requirement for further +.\" binary redistribution. +.\" +.\" NO WARRANTY +.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +.\" "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +.\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR +.\" A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +.\" HOLDERS OR CONTRIBUTORS BE LIABLE FOR 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 DAMAGES. +.\" +.\" isci driver man page. +.\" +.\" Author: Jim Harris +.\" +.\" $FreeBSD$ +.\" +.Dd January 23, 2012 +.Dt ISCI 4 +.Os +.Sh NAME +.Nm isci +.Nd Intel C600 Serial Attached SCSI driver +.Sh SYNOPSIS +To compile this driver into your kernel, +place the following lines in your kernel configuration file: +.Bd -ragged -offset indent +.Cd "device scbus" +.Cd "device isci" +.Ed +.Pp +Or, to load the driver as a module at boot, place the following line in +.Xr loader.conf 5 : +.Bd -literal -offset indent +isci_load="YES" +.Ed +.Sh DESCRIPTION +The +.Nm +driver provides support for Intel C600 +.Tn SAS +controller. +.Sh CONFIGURATION +To force legacy interrupts for all +.Nm +driver instances, set the following tunable value in +.Xr loader.conf 5 : +.Bd -literal -offset indent +hw.isci.force_legacy_interrupts=1 +.Ed +.Sh DEBUGGING +To enable debugging prints from the +.Nm +driver, set the +.Bd -literal -offset indent +hw.isci.debug_level +.Ed +.Pp +variable to a value between 1 and 4 in +.Xr loader.conf 5 . +.Pp +The hardware layer in the isci driver has extensive logging capabilities +which are disabled by default for performance reasons. These can be enabled +by adding +.Bd -literal -offset indent +options ISCI_LOGGING +.Ed +.Pp +to the kernel configuration file. +.Sh SEE ALSO +.Xr cd 4 , +.Xr ch 4 , +.Xr da 4 , +.Xr pci 4 , +.Xr sa 4 , +.Xr scsi 4 . +.Sh HISTORY +The +.Nm +driver first appeared in +.Fx 10.0 . +.Sh AUTHORS +.An -nosplit +The +.Nm +driver was developed by Intel and originally written by +.An Jim Harris Aq jimharris@FreeBSD.org +with contributions from Sohaib Ahsan and input from +.An Scott Long Aq scottl@FreeBSD.org . +.Pp +This man page was written by +.An Jim Harris Aq jimharris@FreeBSD.org . Modified: head/sys/amd64/conf/GENERIC ============================================================================== --- head/sys/amd64/conf/GENERIC Tue Jan 31 19:07:08 2012 (r230842) +++ head/sys/amd64/conf/GENERIC Tue Jan 31 19:38:18 2012 (r230843) @@ -123,6 +123,7 @@ device adv # Advansys SCSI adapters device adw # Advansys wide SCSI adapters device aic # Adaptec 15[012]x SCSI adapters, AIC-6[23]60. device bt # Buslogic/Mylex MultiMaster SCSI adapters +device isci # Intel C600 SAS controller # ATA/SCSI peripherals device scbus # SCSI bus (required for ATA/SCSI) Modified: head/sys/amd64/conf/NOTES ============================================================================== --- head/sys/amd64/conf/NOTES Tue Jan 31 19:07:08 2012 (r230842) +++ head/sys/amd64/conf/NOTES Tue Jan 31 19:38:18 2012 (r230843) @@ -409,6 +409,11 @@ device hptiop device ips # +# Intel C600 (Patsburg) integrated SAS controller +device isci +options ISCI_LOGGING # enable debugging in isci HAL + +# # SafeNet crypto driver: can be moved to the MI NOTES as soon as # it's tested on a big-endian machine # Modified: head/sys/conf/files.amd64 ============================================================================== --- head/sys/conf/files.amd64 Tue Jan 31 19:07:08 2012 (r230842) +++ head/sys/conf/files.amd64 Tue Jan 31 19:38:18 2012 (r230843) @@ -271,6 +271,115 @@ dev/tpm/tpm_isa.c optional tpm isa dev/uart/uart_cpu_amd64.c optional uart dev/viawd/viawd.c optional viawd dev/wpi/if_wpi.c optional wpi +dev/isci/isci.c optional isci +dev/isci/isci_controller.c optional isci +dev/isci/isci_domain.c optional isci +dev/isci/isci_interrupt.c optional isci +dev/isci/isci_io_request.c optional isci +dev/isci/isci_logger.c optional isci +dev/isci/isci_oem_parameters.c optional isci +dev/isci/isci_remote_device.c optional isci +dev/isci/isci_sysctl.c optional isci +dev/isci/isci_task_request.c optional isci +dev/isci/isci_timer.c optional isci +dev/isci/scil/sati.c optional isci +dev/isci/scil/sati_abort_task_set.c optional isci +dev/isci/scil/sati_atapi.c optional isci +dev/isci/scil/sati_device.c optional isci +dev/isci/scil/sati_inquiry.c optional isci +dev/isci/scil/sati_log_sense.c optional isci +dev/isci/scil/sati_lun_reset.c optional isci +dev/isci/scil/sati_mode_pages.c optional isci +dev/isci/scil/sati_mode_select.c optional isci +dev/isci/scil/sati_mode_sense.c optional isci +dev/isci/scil/sati_mode_sense_10.c optional isci +dev/isci/scil/sati_mode_sense_6.c optional isci +dev/isci/scil/sati_move.c optional isci +dev/isci/scil/sati_passthrough.c optional isci +dev/isci/scil/sati_read.c optional isci +dev/isci/scil/sati_read_buffer.c optional isci +dev/isci/scil/sati_read_capacity.c optional isci +dev/isci/scil/sati_reassign_blocks.c optional isci +dev/isci/scil/sati_report_luns.c optional isci +dev/isci/scil/sati_request_sense.c optional isci +dev/isci/scil/sati_start_stop_unit.c optional isci +dev/isci/scil/sati_synchronize_cache.c optional isci +dev/isci/scil/sati_test_unit_ready.c optional isci +dev/isci/scil/sati_unmap.c optional isci +dev/isci/scil/sati_util.c optional isci +dev/isci/scil/sati_verify.c optional isci +dev/isci/scil/sati_write.c optional isci +dev/isci/scil/sati_write_and_verify.c optional isci +dev/isci/scil/sati_write_buffer.c optional isci +dev/isci/scil/sati_write_long.c optional isci +dev/isci/scil/sci_abstract_list.c optional isci +dev/isci/scil/sci_base_controller.c optional isci +dev/isci/scil/sci_base_domain.c optional isci +dev/isci/scil/sci_base_iterator.c optional isci +dev/isci/scil/sci_base_library.c optional isci +dev/isci/scil/sci_base_logger.c optional isci +dev/isci/scil/sci_base_memory_descriptor_list.c optional isci +dev/isci/scil/sci_base_memory_descriptor_list_decorator.c optional isci +dev/isci/scil/sci_base_object.c optional isci +dev/isci/scil/sci_base_observer.c optional isci +dev/isci/scil/sci_base_phy.c optional isci +dev/isci/scil/sci_base_port.c optional isci +dev/isci/scil/sci_base_remote_device.c optional isci +dev/isci/scil/sci_base_request.c optional isci +dev/isci/scil/sci_base_state_machine.c optional isci +dev/isci/scil/sci_base_state_machine_logger.c optional isci +dev/isci/scil/sci_base_state_machine_observer.c optional isci +dev/isci/scil/sci_base_subject.c optional isci +dev/isci/scil/sci_util.c optional isci +dev/isci/scil/scic_sds_controller.c optional isci +dev/isci/scil/scic_sds_library.c optional isci +dev/isci/scil/scic_sds_pci.c optional isci +dev/isci/scil/scic_sds_phy.c optional isci +dev/isci/scil/scic_sds_port.c optional isci +dev/isci/scil/scic_sds_port_configuration_agent.c optional isci +dev/isci/scil/scic_sds_remote_device.c optional isci +dev/isci/scil/scic_sds_remote_node_context.c optional isci +dev/isci/scil/scic_sds_remote_node_table.c optional isci +dev/isci/scil/scic_sds_request.c optional isci +dev/isci/scil/scic_sds_sgpio.c optional isci +dev/isci/scil/scic_sds_smp_remote_device.c optional isci +dev/isci/scil/scic_sds_smp_request.c optional isci +dev/isci/scil/scic_sds_ssp_request.c optional isci +dev/isci/scil/scic_sds_stp_packet_request.c optional isci +dev/isci/scil/scic_sds_stp_remote_device.c optional isci +dev/isci/scil/scic_sds_stp_request.c optional isci +dev/isci/scil/scic_sds_unsolicited_frame_control.c optional isci +dev/isci/scil/scif_sas_controller.c optional isci +dev/isci/scil/scif_sas_controller_state_handlers.c optional isci +dev/isci/scil/scif_sas_controller_states.c optional isci +dev/isci/scil/scif_sas_domain.c optional isci +dev/isci/scil/scif_sas_domain_state_handlers.c optional isci +dev/isci/scil/scif_sas_domain_states.c optional isci +dev/isci/scil/scif_sas_high_priority_request_queue.c optional isci +dev/isci/scil/scif_sas_internal_io_request.c optional isci +dev/isci/scil/scif_sas_io_request.c optional isci +dev/isci/scil/scif_sas_io_request_state_handlers.c optional isci +dev/isci/scil/scif_sas_io_request_states.c optional isci +dev/isci/scil/scif_sas_library.c optional isci +dev/isci/scil/scif_sas_remote_device.c optional isci +dev/isci/scil/scif_sas_remote_device_ready_substate_handlers.c optional isci +dev/isci/scil/scif_sas_remote_device_ready_substates.c optional isci +dev/isci/scil/scif_sas_remote_device_starting_substate_handlers.c optional isci +dev/isci/scil/scif_sas_remote_device_starting_substates.c optional isci +dev/isci/scil/scif_sas_remote_device_state_handlers.c optional isci +dev/isci/scil/scif_sas_remote_device_states.c optional isci +dev/isci/scil/scif_sas_request.c optional isci +dev/isci/scil/scif_sas_smp_activity_clear_affiliation.c optional isci +dev/isci/scil/scif_sas_smp_io_request.c optional isci +dev/isci/scil/scif_sas_smp_phy.c optional isci +dev/isci/scil/scif_sas_smp_remote_device.c optional isci +dev/isci/scil/scif_sas_stp_io_request.c optional isci +dev/isci/scil/scif_sas_stp_remote_device.c optional isci +dev/isci/scil/scif_sas_stp_task_request.c optional isci +dev/isci/scil/scif_sas_task_request.c optional isci +dev/isci/scil/scif_sas_task_request_state_handlers.c optional isci +dev/isci/scil/scif_sas_task_request_states.c optional isci +dev/isci/scil/scif_sas_timer.c optional isci isa/syscons_isa.c optional sc isa/vga_isa.c optional vga kern/kern_clocksource.c standard Modified: head/sys/conf/files.i386 ============================================================================== --- head/sys/conf/files.i386 Tue Jan 31 19:07:08 2012 (r230842) +++ head/sys/conf/files.i386 Tue Jan 31 19:38:18 2012 (r230843) @@ -248,6 +248,115 @@ dev/viawd/viawd.c optional viawd dev/acpica/acpi_if.m standard dev/acpi_support/acpi_wmi_if.m standard dev/wpi/if_wpi.c optional wpi +dev/isci/isci.c optional isci +dev/isci/isci_controller.c optional isci +dev/isci/isci_domain.c optional isci +dev/isci/isci_interrupt.c optional isci +dev/isci/isci_io_request.c optional isci +dev/isci/isci_logger.c optional isci +dev/isci/isci_oem_parameters.c optional isci +dev/isci/isci_remote_device.c optional isci +dev/isci/isci_sysctl.c optional isci +dev/isci/isci_task_request.c optional isci +dev/isci/isci_timer.c optional isci +dev/isci/scil/sati.c optional isci +dev/isci/scil/sati_abort_task_set.c optional isci +dev/isci/scil/sati_atapi.c optional isci +dev/isci/scil/sati_device.c optional isci +dev/isci/scil/sati_inquiry.c optional isci +dev/isci/scil/sati_log_sense.c optional isci +dev/isci/scil/sati_lun_reset.c optional isci +dev/isci/scil/sati_mode_pages.c optional isci +dev/isci/scil/sati_mode_select.c optional isci +dev/isci/scil/sati_mode_sense.c optional isci +dev/isci/scil/sati_mode_sense_10.c optional isci +dev/isci/scil/sati_mode_sense_6.c optional isci +dev/isci/scil/sati_move.c optional isci +dev/isci/scil/sati_passthrough.c optional isci +dev/isci/scil/sati_read.c optional isci +dev/isci/scil/sati_read_buffer.c optional isci +dev/isci/scil/sati_read_capacity.c optional isci +dev/isci/scil/sati_reassign_blocks.c optional isci +dev/isci/scil/sati_report_luns.c optional isci +dev/isci/scil/sati_request_sense.c optional isci +dev/isci/scil/sati_start_stop_unit.c optional isci +dev/isci/scil/sati_synchronize_cache.c optional isci +dev/isci/scil/sati_test_unit_ready.c optional isci +dev/isci/scil/sati_unmap.c optional isci +dev/isci/scil/sati_util.c optional isci +dev/isci/scil/sati_verify.c optional isci +dev/isci/scil/sati_write.c optional isci +dev/isci/scil/sati_write_and_verify.c optional isci +dev/isci/scil/sati_write_buffer.c optional isci +dev/isci/scil/sati_write_long.c optional isci +dev/isci/scil/sci_abstract_list.c optional isci +dev/isci/scil/sci_base_controller.c optional isci +dev/isci/scil/sci_base_domain.c optional isci +dev/isci/scil/sci_base_iterator.c optional isci +dev/isci/scil/sci_base_library.c optional isci +dev/isci/scil/sci_base_logger.c optional isci +dev/isci/scil/sci_base_memory_descriptor_list.c optional isci +dev/isci/scil/sci_base_memory_descriptor_list_decorator.c optional isci +dev/isci/scil/sci_base_object.c optional isci +dev/isci/scil/sci_base_observer.c optional isci +dev/isci/scil/sci_base_phy.c optional isci +dev/isci/scil/sci_base_port.c optional isci +dev/isci/scil/sci_base_remote_device.c optional isci +dev/isci/scil/sci_base_request.c optional isci +dev/isci/scil/sci_base_state_machine.c optional isci +dev/isci/scil/sci_base_state_machine_logger.c optional isci +dev/isci/scil/sci_base_state_machine_observer.c optional isci +dev/isci/scil/sci_base_subject.c optional isci +dev/isci/scil/sci_util.c optional isci +dev/isci/scil/scic_sds_controller.c optional isci +dev/isci/scil/scic_sds_library.c optional isci +dev/isci/scil/scic_sds_pci.c optional isci +dev/isci/scil/scic_sds_phy.c optional isci +dev/isci/scil/scic_sds_port.c optional isci +dev/isci/scil/scic_sds_port_configuration_agent.c optional isci +dev/isci/scil/scic_sds_remote_device.c optional isci +dev/isci/scil/scic_sds_remote_node_context.c optional isci +dev/isci/scil/scic_sds_remote_node_table.c optional isci +dev/isci/scil/scic_sds_request.c optional isci +dev/isci/scil/scic_sds_sgpio.c optional isci +dev/isci/scil/scic_sds_smp_remote_device.c optional isci +dev/isci/scil/scic_sds_smp_request.c optional isci +dev/isci/scil/scic_sds_ssp_request.c optional isci +dev/isci/scil/scic_sds_stp_packet_request.c optional isci +dev/isci/scil/scic_sds_stp_remote_device.c optional isci +dev/isci/scil/scic_sds_stp_request.c optional isci +dev/isci/scil/scic_sds_unsolicited_frame_control.c optional isci +dev/isci/scil/scif_sas_controller.c optional isci +dev/isci/scil/scif_sas_controller_state_handlers.c optional isci +dev/isci/scil/scif_sas_controller_states.c optional isci +dev/isci/scil/scif_sas_domain.c optional isci +dev/isci/scil/scif_sas_domain_state_handlers.c optional isci +dev/isci/scil/scif_sas_domain_states.c optional isci +dev/isci/scil/scif_sas_high_priority_request_queue.c optional isci +dev/isci/scil/scif_sas_internal_io_request.c optional isci +dev/isci/scil/scif_sas_io_request.c optional isci +dev/isci/scil/scif_sas_io_request_state_handlers.c optional isci +dev/isci/scil/scif_sas_io_request_states.c optional isci +dev/isci/scil/scif_sas_library.c optional isci +dev/isci/scil/scif_sas_remote_device.c optional isci +dev/isci/scil/scif_sas_remote_device_ready_substate_handlers.c optional isci +dev/isci/scil/scif_sas_remote_device_ready_substates.c optional isci +dev/isci/scil/scif_sas_remote_device_starting_substate_handlers.c optional isci +dev/isci/scil/scif_sas_remote_device_starting_substates.c optional isci +dev/isci/scil/scif_sas_remote_device_state_handlers.c optional isci +dev/isci/scil/scif_sas_remote_device_states.c optional isci +dev/isci/scil/scif_sas_request.c optional isci +dev/isci/scil/scif_sas_smp_activity_clear_affiliation.c optional isci +dev/isci/scil/scif_sas_smp_io_request.c optional isci +dev/isci/scil/scif_sas_smp_phy.c optional isci +dev/isci/scil/scif_sas_smp_remote_device.c optional isci +dev/isci/scil/scif_sas_stp_io_request.c optional isci +dev/isci/scil/scif_sas_stp_remote_device.c optional isci +dev/isci/scil/scif_sas_stp_task_request.c optional isci +dev/isci/scil/scif_sas_task_request.c optional isci +dev/isci/scil/scif_sas_task_request_state_handlers.c optional isci +dev/isci/scil/scif_sas_task_request_states.c optional isci +dev/isci/scil/scif_sas_timer.c optional isci i386/acpica/acpi_machdep.c optional acpi acpi_wakecode.o optional acpi \ dependency "$S/i386/acpica/acpi_wakecode.S assym.s" \ Modified: head/sys/conf/options.amd64 ============================================================================== --- head/sys/conf/options.amd64 Tue Jan 31 19:07:08 2012 (r230842) +++ head/sys/conf/options.amd64 Tue Jan 31 19:38:18 2012 (r230843) @@ -65,3 +65,6 @@ KDTRACE_FRAME opt_kdtrace.h BPF_JITTER opt_bpf.h XENHVM opt_global.h + +# options for the Intel C600 SAS driver (isci) +ISCI_LOGGING opt_isci.h Modified: head/sys/conf/options.i386 ============================================================================== --- head/sys/conf/options.i386 Tue Jan 31 19:07:08 2012 (r230842) +++ head/sys/conf/options.i386 Tue Jan 31 19:38:18 2012 (r230843) @@ -119,3 +119,6 @@ BPF_JITTER opt_bpf.h NATIVE opt_global.h XEN opt_global.h XENHVM opt_global.h + +# options for the Intel C600 SAS driver (isci) +ISCI_LOGGING opt_isci.h Modified: head/sys/i386/conf/GENERIC ============================================================================== --- head/sys/i386/conf/GENERIC Tue Jan 31 19:07:08 2012 (r230842) +++ head/sys/i386/conf/GENERIC Tue Jan 31 19:38:18 2012 (r230843) @@ -130,6 +130,7 @@ device bt # Buslogic/Mylex MultiMaster device ncv # NCR 53C500 device nsp # Workbit Ninja SCSI-3 device stg # TMC 18C30/18C50 +device isci # Intel C600 SAS controller # ATA/SCSI peripherals device scbus # SCSI bus (required for ATA/SCSI) Modified: head/sys/i386/conf/NOTES ============================================================================== --- head/sys/i386/conf/NOTES Tue Jan 31 19:07:08 2012 (r230842) +++ head/sys/i386/conf/NOTES Tue Jan 31 19:38:18 2012 (r230843) @@ -727,6 +727,11 @@ device hptiop device ips # +# Intel C600 (Patsburg) integrated SAS controller +device isci +options ISCI_LOGGING # enable debugging in isci HAL + +# # SafeNet crypto driver: can be moved to the MI NOTES as soon as # it's tested on a big-endian machine # Modified: head/sys/modules/Makefile ============================================================================== --- head/sys/modules/Makefile Tue Jan 31 19:07:08 2012 (r230842) +++ head/sys/modules/Makefile Tue Jan 31 19:38:18 2012 (r230843) @@ -145,6 +145,7 @@ SUBDIR= ${_3dfx} \ ${_ips} \ ${_ipw} \ ${_ipwfw} \ + ${_isci} \ iscsi \ isp \ ispfw \ @@ -521,6 +522,7 @@ _ipmi= ipmi _ips= ips _ipw= ipw _ipwfw= ipwfw +_isci= isci _iwi= iwi _iwifw= iwifw _iwn= iwn @@ -602,6 +604,7 @@ _ipmi= ipmi _ips= ips _ipw= ipw _ipwfw= ipwfw +_isci= isci _iwi= iwi _iwifw= iwifw _iwn= iwn From owner-svn-src-head@FreeBSD.ORG Tue Jan 31 21:46:28 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C1118106564A; Tue, 31 Jan 2012 21:46:28 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AF3F58FC0C; Tue, 31 Jan 2012 21:46:28 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q0VLkSZq055886; Tue, 31 Jan 2012 21:46:28 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q0VLkSwN055882; Tue, 31 Jan 2012 21:46:28 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201201312146.q0VLkSwN055882@svn.freebsd.org> From: Alexander Motin Date: Tue, 31 Jan 2012 21:46:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230845 - head/sys/dev/sound/pcm X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jan 2012 21:46:28 -0000 Author: mav Date: Tue Jan 31 21:46:28 2012 New Revision: 230845 URL: http://svn.freebsd.org/changeset/base/230845 Log: Make sound(4) more flexible in setting soft buffer and block sizes when hardware imposes strict limitations on hard buffer and block sizes. Previous code set soft buffer to be no smaller then hard buffer. On some cards with fixed 64K physical buffer that caused up to 800ms play latency. New code allows to set soft buffer size down to just two blocks of the hard buffer and to not write more then that size ahead to the hardware buffer. As result of that change I was able to reduce full practically measured record-playback loop delay in those conditions down to only about 115ms with theoretical playback latency of only about 50ms. New code works fine for both vchans and direct cases. In both cases sound(4) tries to follow hw.snd.latency_profile and hw.snd.latency values and application-requested buffer and block sizes as much as limitation of two hardware blocks allows. Reviewed by: silence on multimedia@ Modified: head/sys/dev/sound/pcm/buffer.c head/sys/dev/sound/pcm/buffer.h head/sys/dev/sound/pcm/channel.c Modified: head/sys/dev/sound/pcm/buffer.c ============================================================================== --- head/sys/dev/sound/pcm/buffer.c Tue Jan 31 19:45:32 2012 (r230844) +++ head/sys/dev/sound/pcm/buffer.c Tue Jan 31 21:46:28 2012 (r230845) @@ -301,6 +301,15 @@ sndbuf_fillsilence(struct snd_dbuf *b) b->rl = b->bufsize; } +void +sndbuf_fillsilence_rl(struct snd_dbuf *b, u_int rl) +{ + if (b->bufsize > 0) + memset(sndbuf_getbuf(b), sndbuf_zerodata(b->fmt), b->bufsize); + b->rp = 0; + b->rl = min(b->bufsize, rl); +} + /** * @brief Reset buffer w/o flushing statistics * Modified: head/sys/dev/sound/pcm/buffer.h ============================================================================== --- head/sys/dev/sound/pcm/buffer.h Tue Jan 31 19:45:32 2012 (r230844) +++ head/sys/dev/sound/pcm/buffer.h Tue Jan 31 21:46:28 2012 (r230845) @@ -74,6 +74,7 @@ int sndbuf_remalloc(struct snd_dbuf *b, void sndbuf_reset(struct snd_dbuf *b); void sndbuf_clear(struct snd_dbuf *b, unsigned int length); void sndbuf_fillsilence(struct snd_dbuf *b); +void sndbuf_fillsilence_rl(struct snd_dbuf *b, u_int rl); void sndbuf_softreset(struct snd_dbuf *b); void sndbuf_clearshadow(struct snd_dbuf *b); Modified: head/sys/dev/sound/pcm/channel.c ============================================================================== --- head/sys/dev/sound/pcm/channel.c Tue Jan 31 19:45:32 2012 (r230844) +++ head/sys/dev/sound/pcm/channel.c Tue Jan 31 21:46:28 2012 (r230845) @@ -395,24 +395,28 @@ chn_wrfeed(struct pcm_channel *c) { struct snd_dbuf *b = c->bufhard; struct snd_dbuf *bs = c->bufsoft; - unsigned int amt; + unsigned int amt, want, wasfree; CHN_LOCKASSERT(c); if ((c->flags & CHN_F_MMAP) && !(c->flags & CHN_F_CLOSING)) sndbuf_acquire(bs, NULL, sndbuf_getfree(bs)); - amt = sndbuf_getfree(b); + wasfree = sndbuf_getfree(b); + want = min(sndbuf_getsize(b), + imax(0, sndbuf_xbytes(sndbuf_getsize(bs), bs, b) - + sndbuf_getready(b))); + amt = min(wasfree, want); if (amt > 0) sndbuf_feed(bs, b, c, c->feeder, amt); /* * Possible xruns. There should be no empty space left in buffer. */ - if (sndbuf_getfree(b) > 0) + if (sndbuf_getready(b) < want) c->xruns++; - if (sndbuf_getfree(b) < amt) + if (sndbuf_getfree(b) < wasfree) chn_wakeup(c); } @@ -721,7 +725,8 @@ chn_start(struct pcm_channel *c, int for } if (c->parentchannel == NULL) { if (c->direction == PCMDIR_PLAY) - sndbuf_fillsilence(b); + sndbuf_fillsilence_rl(b, + sndbuf_xbytes(sndbuf_getsize(bs), bs, b)); if (snd_verbose > 3) device_printf(c->dev, "%s(): %s starting! (%s/%s) " @@ -1728,7 +1733,7 @@ chn_resizebuf(struct pcm_channel *c, int int blkcnt, int blksz) { struct snd_dbuf *b, *bs, *pb; - int sblksz, sblkcnt, hblksz, hblkcnt, limit = 1; + int sblksz, sblkcnt, hblksz, hblkcnt, limit = 0, nsblksz, nsblkcnt; int ret; CHN_LOCKASSERT(c); @@ -1748,7 +1753,6 @@ chn_resizebuf(struct pcm_channel *c, int return EINVAL; else { c->latency = latency; - limit = 0; } bs = c->bufsoft; @@ -1783,19 +1787,22 @@ chn_resizebuf(struct pcm_channel *c, int */ sblksz = round_blksz(blksz, sndbuf_getalign(bs)); sblkcnt = round_pow2(blkcnt); - limit = 0; } if (c->parentchannel != NULL) { - pb = CHN_BUF_PARENT(c, NULL); + pb = c->parentchannel->bufsoft; CHN_UNLOCK(c); CHN_LOCK(c->parentchannel); chn_notify(c->parentchannel, CHN_N_BLOCKSIZE); CHN_UNLOCK(c->parentchannel); CHN_LOCK(c); - limit = (limit != 0 && pb != NULL) ? - sndbuf_xbytes(sndbuf_getsize(pb), pb, bs) : 0; - c->timeout = c->parentchannel->timeout; + if (c->direction == PCMDIR_PLAY) { + limit = (pb != NULL) ? + sndbuf_xbytes(sndbuf_getsize(pb), pb, bs) : 0; + } else { + limit = (pb != NULL) ? + sndbuf_xbytes(sndbuf_getblksz(pb), pb, bs) * 2 : 0; + } } else { hblkcnt = 2; if (c->flags & CHN_F_HAS_SIZE) { @@ -1836,21 +1843,22 @@ chn_resizebuf(struct pcm_channel *c, int CHN_LOCK(c); if (!CHN_EMPTY(c, children)) { - sblksz = round_blksz( - sndbuf_xbytes(sndbuf_getsize(b) >> 1, b, bs), + nsblksz = round_blksz( + sndbuf_xbytes(sndbuf_getblksz(b), b, bs), sndbuf_getalign(bs)); - sblkcnt = 2; + nsblkcnt = sndbuf_getblkcnt(b); + if (c->direction == PCMDIR_PLAY) { + do { + nsblkcnt--; + } while (nsblkcnt >= 2 && + nsblksz * nsblkcnt >= sblksz * sblkcnt); + nsblkcnt++; + } + sblksz = nsblksz; + sblkcnt = nsblkcnt; limit = 0; - } else if (limit != 0) - limit = sndbuf_xbytes(sndbuf_getsize(b), b, bs); - - /* - * Interrupt timeout - */ - c->timeout = ((u_int64_t)hz * sndbuf_getsize(b)) / - ((u_int64_t)sndbuf_getspd(b) * sndbuf_getalign(b)); - if (c->timeout < 1) - c->timeout = 1; + } else + limit = sndbuf_xbytes(sndbuf_getblksz(b), b, bs) * 2; } if (limit > CHN_2NDBUFMAXSIZE) @@ -1887,6 +1895,16 @@ chn_resizebuf(struct pcm_channel *c, int } /* + * Interrupt timeout + */ + c->timeout = ((u_int64_t)hz * sndbuf_getsize(bs)) / + ((u_int64_t)sndbuf_getspd(bs) * sndbuf_getalign(bs)); + if (c->parentchannel != NULL) + c->timeout = min(c->timeout, c->parentchannel->timeout); + if (c->timeout < 1) + c->timeout = 1; + + /* * OSSv4 docs: "By default OSS will set the low water level equal * to the fragment size which is optimal in most cases." */ From owner-svn-src-head@FreeBSD.ORG Tue Jan 31 22:27:36 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 58D0A1065673; Tue, 31 Jan 2012 22:27:36 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 47D008FC14; Tue, 31 Jan 2012 22:27:36 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q0VMRaX1057677; Tue, 31 Jan 2012 22:27:36 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q0VMRaNK057675; Tue, 31 Jan 2012 22:27:36 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201201312227.q0VMRaNK057675@svn.freebsd.org> From: Adrian Chadd Date: Tue, 31 Jan 2012 22:27:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230846 - head/sys/dev/ath X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jan 2012 22:27:36 -0000 Author: adrian Date: Tue Jan 31 22:27:35 2012 New Revision: 230846 URL: http://svn.freebsd.org/changeset/base/230846 Log: Correctly fetch the TX/RX stream count from the HAL. Pointy hat to: me Modified: head/sys/dev/ath/if_ath.c Modified: head/sys/dev/ath/if_ath.c ============================================================================== --- head/sys/dev/ath/if_ath.c Tue Jan 31 21:46:28 2012 (r230845) +++ head/sys/dev/ath/if_ath.c Tue Jan 31 22:27:35 2012 (r230846) @@ -678,8 +678,8 @@ ath_attach(u_int16_t devid, struct ath_s * negotiating which MCS rates it'll receive and * what MCS rates are available for TX. */ - (void) ath_hal_getcapability(ah, HAL_CAP_STREAMS, 0, &rxs); - (void) ath_hal_getcapability(ah, HAL_CAP_STREAMS, 1, &txs); + (void) ath_hal_getcapability(ah, HAL_CAP_STREAMS, 0, &txs); + (void) ath_hal_getcapability(ah, HAL_CAP_STREAMS, 1, &rxs); ath_hal_getrxchainmask(ah, &sc->sc_rxchainmask); ath_hal_gettxchainmask(ah, &sc->sc_txchainmask); From owner-svn-src-head@FreeBSD.ORG Tue Jan 31 22:31:17 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A84BC106566B; Tue, 31 Jan 2012 22:31:17 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7C6AA8FC16; Tue, 31 Jan 2012 22:31:17 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q0VMVHn1057882; Tue, 31 Jan 2012 22:31:17 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q0VMVHY1057879; Tue, 31 Jan 2012 22:31:17 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201201312231.q0VMVHY1057879@svn.freebsd.org> From: Adrian Chadd Date: Tue, 31 Jan 2012 22:31:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230847 - in head/sys/dev/ath/ath_hal: ar5416 ar9002 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jan 2012 22:31:17 -0000 Author: adrian Date: Tue Jan 31 22:31:16 2012 New Revision: 230847 URL: http://svn.freebsd.org/changeset/base/230847 Log: Support AR9281/AR5B91 - a 1x2 stream device based on the AR9280. * Override the TX/RX stream count if the EEPROM reports a single RX or TX stream, rather than assuming the device will always be a 2x2 strea device. * For AR9280 devices, don't hard-code 2x2 stream. Instead, allow the ar5416FillCapabilityInfo() routine to correctly determine things. The latter should be done for all 11n chips now that ar5416FillCapabilityInfo() will set the TX/RX stream count based on the active TX/RX chainmask in the EEPROM. Thanks to Maciej Milewski for donating some AR9281 NICs to me for testing. Modified: head/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c head/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c Modified: head/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c ============================================================================== --- head/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c Tue Jan 31 22:27:35 2012 (r230846) +++ head/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c Tue Jan 31 22:31:16 2012 (r230847) @@ -884,6 +884,15 @@ ar5416FillCapabilityInfo(struct ath_hal /* AR5416 may have 3 antennas but is a 2x2 stream device */ pCap->halTxStreams = 2; pCap->halRxStreams = 2; + /* + * If the TX or RX chainmask has less than 2 chains active, + * mark it as a 1-stream device for the relevant stream. + */ + if (owl_get_ntxchains(pCap->halTxChainMask) == 1) + pCap->halTxStreams = 1; + /* XXX Eww */ + if (owl_get_ntxchains(pCap->halRxChainMask) == 1) + pCap->halRxStreams = 1; pCap->halRtsAggrLimit = 8*1024; /* Owl 2.0 limit */ pCap->halMbssidAggrSupport = AH_FALSE; /* Broken on Owl */ pCap->halForcePpmSupport = AH_TRUE; Modified: head/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c ============================================================================== --- head/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c Tue Jan 31 22:27:35 2012 (r230846) +++ head/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c Tue Jan 31 22:31:16 2012 (r230847) @@ -822,10 +822,6 @@ ar9280FillCapabilityInfo(struct ath_hal #if 0 pCap->halWowMatchPatternDword = AH_TRUE; #endif - /* AR9280 is a 2x2 stream device */ - pCap->halTxStreams = 2; - pCap->halRxStreams = 2; - pCap->halCSTSupport = AH_TRUE; pCap->halRifsRxSupport = AH_TRUE; pCap->halRifsTxSupport = AH_TRUE; From owner-svn-src-head@FreeBSD.ORG Tue Jan 31 23:28:18 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A424D106566C; Tue, 31 Jan 2012 23:28:18 +0000 (UTC) (envelope-from marius@alchemy.franken.de) Received: from alchemy.franken.de (alchemy.franken.de [194.94.249.214]) by mx1.freebsd.org (Postfix) with ESMTP id 4F5578FC17; Tue, 31 Jan 2012 23:28:17 +0000 (UTC) Received: from alchemy.franken.de (localhost [127.0.0.1]) by alchemy.franken.de (8.14.4/8.14.4/ALCHEMY.FRANKEN.DE) with ESMTP id q0VNSG6T066392; Wed, 1 Feb 2012 00:28:16 +0100 (CET) (envelope-from marius@alchemy.franken.de) Received: (from marius@localhost) by alchemy.franken.de (8.14.4/8.14.4/Submit) id q0VNSGJp066391; Wed, 1 Feb 2012 00:28:16 +0100 (CET) (envelope-from marius) Date: Wed, 1 Feb 2012 00:28:16 +0100 From: Marius Strobl To: John Baldwin Message-ID: <20120131232816.GL39861@alchemy.franken.de> References: <200906091426.n59EQNRC074046@svn.freebsd.org> <20120129154124.GB18227@alchemy.franken.de> <201201300932.06243.jhb@freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201201300932.06243.jhb@freebsd.org> User-Agent: Mutt/1.4.2.3i Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r193833 - in head: share/man/man9 sys/kern sys/sys X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jan 2012 23:28:18 -0000 On Mon, Jan 30, 2012 at 09:32:06AM -0500, John Baldwin wrote: > On Sunday, January 29, 2012 10:41:24 am Marius Strobl wrote: > > On Tue, Jun 09, 2009 at 02:26:23PM +0000, John Baldwin wrote: > > > Author: jhb > > > Date: Tue Jun 9 14:26:23 2009 > > > New Revision: 193833 > > > URL: http://svn.freebsd.org/changeset/base/193833 > > > > > > Log: > > > Add support for multiple passes of the device tree during the boot-time > > > probe. The current device order is unchanged. This commit just adds the > > > infrastructure and ABI changes so that it is easier to merge later changes > > > into 8.x. > > > - Driver attachments now have an associated pass level. Attachments are > > > not allowed to probe or attach to drivers until the system-wide pass level > > > is >= the attachment's pass level. By default driver attachments use the > > > "last" pass level (BUS_PASS_DEFAULT). Driver's that wish to probe during > > > an earlier pass use EARLY_DRIVER_MODULE() instead of DRIVER_MODULE() which > > > accepts the pass level as an additional parameter. > > > - A new method BUS_NEW_PASS has been added to the bus interface. This > > > method is invoked when the system-wide pass level is changed to kick off > > > a rescan of the device tree so that drivers that have just been made > > > "eligible" can probe and attach. > > > - The bus_generic_new_pass() function provides a default implementation of > > > BUS_NEW_PASS(). It first allows drivers that were just made eligible for > > > this pass to identify new child devices. Then it propogates the rescan to > > > child devices that already have an attached driver by invoking their > > > BUS_NEW_PASS() method. It also reprobes devices without a driver. > > > - BUS_PROBE_NOMATCH() is only invoked for devices that do not have > > > an attached driver after being scanned during the final pass. > > > - The bus_set_pass() function is used during boot to raise the pass level. > > > Currently it is only called once during root_bus_configure() to raise > > > the pass level to BUS_PASS_DEFAULT. This has the effect of probing all > > > devices in a single pass identical to previous behavior. > > > > > > Reviewed by: imp > > > Approved by: re (kib) > > > > > > > What would be necessary to finally enable support for multi-pass > > probing apart from the drivers also needing to set BUS_PASS_n if > > they want to take part earlier than BUS_PASS_DEFAULT)? My > > understanding is that this is should be as simple as changing > > root_bus_configure() to return BUS_PASS_ROOT instead of > > BUS_PASS_DEFAULT but the comment above that line actually talks > > about splitting the return value (?) up somehow ... > > It will already work now without needing any changes. I have some older > patches to make x86 probe ACPI and PCI busses and bridges early and they > required no changes to the root bus. The reason for the comment is that I > eventually imagine the multiple passes being split up so that we can do other > actions after various passes are complete. For example, we might rewrite > root_bus_configure() so that it looks something like: > > void > root_bus_configure(void) > { > > /* Enumerate the device tree and reserve static resources. */ > bus_set_pass(BUS_PASS_RESOURCE); > > /* > * Now scan devices to allocate dynamic resources, possibly > * rewriting BARs, etc. > */ > /* some code that doesn't exist yet */ > > /* Now probe interrupt controllers. */ > bus_set_pass(BUS_PASS_INTERRUPT); > > /* Now kick off interrupt routing via some new bus method. */ > /* not written yet */ > > /* Finish probing everything else. */ > bus_set_pass(BUS_PASS_DEFAULT); > } > > This works because bus_set_pass() will do multiple scans of the tree, one > per configured pass level, to raise the system's pass level up to the > requested level. > Ah, great, thanks for the explanation! Marius From owner-svn-src-head@FreeBSD.ORG Wed Feb 1 02:53:06 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A4094106564A; Wed, 1 Feb 2012 02:53:06 +0000 (UTC) (envelope-from davidxu@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 92D928FC15; Wed, 1 Feb 2012 02:53:06 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q112r6JL066694; Wed, 1 Feb 2012 02:53:06 GMT (envelope-from davidxu@svn.freebsd.org) Received: (from davidxu@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q112r6nl066691; Wed, 1 Feb 2012 02:53:06 GMT (envelope-from davidxu@svn.freebsd.org) Message-Id: <201202010253.q112r6nl066691@svn.freebsd.org> From: David Xu Date: Wed, 1 Feb 2012 02:53:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230857 - in head/sys: kern sys X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Feb 2012 02:53:06 -0000 Author: davidxu Date: Wed Feb 1 02:53:06 2012 New Revision: 230857 URL: http://svn.freebsd.org/changeset/base/230857 Log: If multiple threads call kevent() to get AIO events on same kqueue fd, it is possible that a single AIO event will be reported to multiple threads, it is not threading friendly, and the existing API can not control this behavior. Allocate a kevent flags field sigev_notify_kevent_flags for AIO event notification in sigevent, and allow user to pass EV_CLEAR, EV_DISPATCH or EV_ONESHOT to AIO kernel code, user can control whether the event should be cleared once it is retrieved by a thread. This change should be comptaible with existing application, because the field should have already been zero-filled, and no additional action will be taken by kernel. PR: kern/156567 Modified: head/sys/kern/vfs_aio.c head/sys/sys/signal.h Modified: head/sys/kern/vfs_aio.c ============================================================================== --- head/sys/kern/vfs_aio.c Wed Feb 1 02:16:15 2012 (r230856) +++ head/sys/kern/vfs_aio.c Wed Feb 1 02:53:06 2012 (r230857) @@ -1524,6 +1524,7 @@ aio_aqueue(struct thread *td, struct aio int error; int fd, kqfd; int jid; + u_short evflags; if (p->p_aioinfo == NULL) aio_init_aioinfo(p); @@ -1646,10 +1647,15 @@ aio_aqueue(struct thread *td, struct aio if (aiocbe->uaiocb.aio_sigevent.sigev_notify != SIGEV_KEVENT) goto no_kqueue; + evflags = aiocbe->uaiocb.aio_sigevent.sigev_notify_kevent_flags; + if ((evflags & ~(EV_CLEAR | EV_DISPATCH | EV_ONESHOT)) != 0) { + error = EINVAL; + goto aqueue_fail; + } kqfd = aiocbe->uaiocb.aio_sigevent.sigev_notify_kqueue; kev.ident = (uintptr_t)aiocbe->uuaiocb; kev.filter = EVFILT_AIO; - kev.flags = EV_ADD | EV_ENABLE | EV_FLAG1; + kev.flags = EV_ADD | EV_ENABLE | EV_FLAG1 | evflags; kev.data = (intptr_t)aiocbe; kev.udata = aiocbe->uaiocb.aio_sigevent.sigev_value.sival_ptr; error = kqfd_register(kqfd, &kev, td, 1); Modified: head/sys/sys/signal.h ============================================================================== --- head/sys/sys/signal.h Wed Feb 1 02:16:15 2012 (r230856) +++ head/sys/sys/signal.h Wed Feb 1 02:53:06 2012 (r230857) @@ -169,12 +169,14 @@ struct sigevent { void (*_function)(union sigval); void *_attribute; /* pthread_attr_t * */ } _sigev_thread; + unsigned short _kevent_flags; long __spare__[8]; } _sigev_un; }; #if __BSD_VISIBLE #define sigev_notify_kqueue sigev_signo +#define sigev_notify_kevent_flags _sigev_un._kevent_flags #define sigev_notify_thread_id _sigev_un._threadid #endif #define sigev_notify_function _sigev_un._sigev_thread._function From owner-svn-src-head@FreeBSD.ORG Wed Feb 1 03:42:15 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 80ACE1065675; Wed, 1 Feb 2012 03:42:15 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6B6D08FC12; Wed, 1 Feb 2012 03:42:15 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q113gFSY068641; Wed, 1 Feb 2012 03:42:15 GMT (envelope-from jhibbits@svn.freebsd.org) Received: (from jhibbits@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q113gFnu068639; Wed, 1 Feb 2012 03:42:15 GMT (envelope-from jhibbits@svn.freebsd.org) Message-Id: <201202010342.q113gFnu068639@svn.freebsd.org> From: Justin Hibbits Date: Wed, 1 Feb 2012 03:42:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230859 - head/sys/modules X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Feb 2012 03:42:15 -0000 Author: jhibbits Date: Wed Feb 1 03:42:14 2012 New Revision: 230859 URL: http://svn.freebsd.org/changeset/base/230859 Log: Enable the pccard/cardbus modules for powerpc. Approved by: nwhitehorn (mentor) Modified: head/sys/modules/Makefile Modified: head/sys/modules/Makefile ============================================================================== --- head/sys/modules/Makefile Wed Feb 1 03:28:19 2012 (r230858) +++ head/sys/modules/Makefile Wed Feb 1 03:42:14 2012 (r230859) @@ -707,9 +707,12 @@ _xe= xe _agp= agp _an= an _bm= bm +_cardbus= cardbus +_cbb= cbb _cfi= cfi _cpufreq= cpufreq _nvram= powermac_nvram +_pccard= pccard _smbfs= smbfs _sound= sound .endif From owner-svn-src-head@FreeBSD.ORG Wed Feb 1 09:28:17 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 47764106566B; Wed, 1 Feb 2012 09:28:17 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 31E888FC08; Wed, 1 Feb 2012 09:28:17 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q119SHxE079160; Wed, 1 Feb 2012 09:28:17 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q119SH9U079158; Wed, 1 Feb 2012 09:28:17 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201202010928.q119SH9U079158@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Wed, 1 Feb 2012 09:28:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230861 - head/sys/geom/part X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Feb 2012 09:28:17 -0000 Author: ae Date: Wed Feb 1 09:28:16 2012 New Revision: 230861 URL: http://svn.freebsd.org/changeset/base/230861 Log: The scheme code may not know about some inconsistency in the metadata. So, add an integrity check after recovery attempt. MFC after: 1 week Modified: head/sys/geom/part/g_part.c Modified: head/sys/geom/part/g_part.c ============================================================================== --- head/sys/geom/part/g_part.c Wed Feb 1 03:49:56 2012 (r230860) +++ head/sys/geom/part/g_part.c Wed Feb 1 09:28:16 2012 (r230861) @@ -1216,6 +1216,9 @@ g_part_ctl_recover(struct gctl_req *req, if (table->gpt_corrupt) { error = G_PART_RECOVER(table); + if (error == 0) + error = g_part_check_integrity(table, + LIST_FIRST(&gp->consumer)); if (error) { gctl_error(req, "%d recovering '%s' failed", error, gp->name); From owner-svn-src-head@FreeBSD.ORG Wed Feb 1 10:59:21 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1FA191065670; Wed, 1 Feb 2012 10:59:21 +0000 (UTC) (envelope-from netchild@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 081E08FC0C; Wed, 1 Feb 2012 10:59:21 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q11AxLxE084143; Wed, 1 Feb 2012 10:59:21 GMT (envelope-from netchild@svn.freebsd.org) Received: (from netchild@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q11AxJN8084040; Wed, 1 Feb 2012 10:59:19 GMT (envelope-from netchild@svn.freebsd.org) Message-Id: <201202011059.q11AxJN8084040@svn.freebsd.org> From: Alexander Leidinger Date: Wed, 1 Feb 2012 10:59:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230862 - head/tools/kerneldoc/subsys X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Feb 2012 10:59:21 -0000 Author: netchild Date: Wed Feb 1 10:59:19 2012 New Revision: 230862 URL: http://svn.freebsd.org/changeset/base/230862 Log: - remove non-existent input directories from the configs - add the target-arch to the project name where applicable (arch dependend code) - fix comment for __FreeBSD__ [1] Noticed by: bz [1] Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_aac head/tools/kerneldoc/subsys/Doxyfile-dev_acpi_support head/tools/kerneldoc/subsys/Doxyfile-dev_acpica head/tools/kerneldoc/subsys/Doxyfile-dev_adb head/tools/kerneldoc/subsys/Doxyfile-dev_adlink head/tools/kerneldoc/subsys/Doxyfile-dev_advansys head/tools/kerneldoc/subsys/Doxyfile-dev_ae head/tools/kerneldoc/subsys/Doxyfile-dev_age head/tools/kerneldoc/subsys/Doxyfile-dev_agp head/tools/kerneldoc/subsys/Doxyfile-dev_aha head/tools/kerneldoc/subsys/Doxyfile-dev_ahb head/tools/kerneldoc/subsys/Doxyfile-dev_ahci head/tools/kerneldoc/subsys/Doxyfile-dev_aic head/tools/kerneldoc/subsys/Doxyfile-dev_aic7xxx head/tools/kerneldoc/subsys/Doxyfile-dev_alc head/tools/kerneldoc/subsys/Doxyfile-dev_ale head/tools/kerneldoc/subsys/Doxyfile-dev_amdsbwd head/tools/kerneldoc/subsys/Doxyfile-dev_amdtemp head/tools/kerneldoc/subsys/Doxyfile-dev_amr head/tools/kerneldoc/subsys/Doxyfile-dev_an head/tools/kerneldoc/subsys/Doxyfile-dev_arcmsr head/tools/kerneldoc/subsys/Doxyfile-dev_asmc head/tools/kerneldoc/subsys/Doxyfile-dev_asr head/tools/kerneldoc/subsys/Doxyfile-dev_ata head/tools/kerneldoc/subsys/Doxyfile-dev_ath head/tools/kerneldoc/subsys/Doxyfile-dev_atkbdc head/tools/kerneldoc/subsys/Doxyfile-dev_auxio head/tools/kerneldoc/subsys/Doxyfile-dev_bce head/tools/kerneldoc/subsys/Doxyfile-dev_bfe head/tools/kerneldoc/subsys/Doxyfile-dev_bge head/tools/kerneldoc/subsys/Doxyfile-dev_bktr head/tools/kerneldoc/subsys/Doxyfile-dev_bm head/tools/kerneldoc/subsys/Doxyfile-dev_buslogic head/tools/kerneldoc/subsys/Doxyfile-dev_bwi head/tools/kerneldoc/subsys/Doxyfile-dev_bwn head/tools/kerneldoc/subsys/Doxyfile-dev_bxe head/tools/kerneldoc/subsys/Doxyfile-dev_cardbus head/tools/kerneldoc/subsys/Doxyfile-dev_cas head/tools/kerneldoc/subsys/Doxyfile-dev_ce head/tools/kerneldoc/subsys/Doxyfile-dev_cesa head/tools/kerneldoc/subsys/Doxyfile-dev_cfe head/tools/kerneldoc/subsys/Doxyfile-dev_cfi head/tools/kerneldoc/subsys/Doxyfile-dev_ciss head/tools/kerneldoc/subsys/Doxyfile-dev_cm head/tools/kerneldoc/subsys/Doxyfile-dev_cmx head/tools/kerneldoc/subsys/Doxyfile-dev_coretemp head/tools/kerneldoc/subsys/Doxyfile-dev_cp head/tools/kerneldoc/subsys/Doxyfile-dev_cpuctl head/tools/kerneldoc/subsys/Doxyfile-dev_cpufreq head/tools/kerneldoc/subsys/Doxyfile-dev_cs head/tools/kerneldoc/subsys/Doxyfile-dev_ct head/tools/kerneldoc/subsys/Doxyfile-dev_ctau head/tools/kerneldoc/subsys/Doxyfile-dev_cx head/tools/kerneldoc/subsys/Doxyfile-dev_cxgb head/tools/kerneldoc/subsys/Doxyfile-dev_cxgbe head/tools/kerneldoc/subsys/Doxyfile-dev_cy head/tools/kerneldoc/subsys/Doxyfile-dev_dc head/tools/kerneldoc/subsys/Doxyfile-dev_dcons head/tools/kerneldoc/subsys/Doxyfile-dev_de head/tools/kerneldoc/subsys/Doxyfile-dev_digi head/tools/kerneldoc/subsys/Doxyfile-dev_dpms head/tools/kerneldoc/subsys/Doxyfile-dev_dpt head/tools/kerneldoc/subsys/Doxyfile-dev_drm head/tools/kerneldoc/subsys/Doxyfile-dev_e1000 head/tools/kerneldoc/subsys/Doxyfile-dev_ed head/tools/kerneldoc/subsys/Doxyfile-dev_eisa head/tools/kerneldoc/subsys/Doxyfile-dev_en head/tools/kerneldoc/subsys/Doxyfile-dev_ep head/tools/kerneldoc/subsys/Doxyfile-dev_esp head/tools/kerneldoc/subsys/Doxyfile-dev_et head/tools/kerneldoc/subsys/Doxyfile-dev_ex head/tools/kerneldoc/subsys/Doxyfile-dev_exca head/tools/kerneldoc/subsys/Doxyfile-dev_fatm head/tools/kerneldoc/subsys/Doxyfile-dev_fb head/tools/kerneldoc/subsys/Doxyfile-dev_fdc head/tools/kerneldoc/subsys/Doxyfile-dev_fdt head/tools/kerneldoc/subsys/Doxyfile-dev_fe head/tools/kerneldoc/subsys/Doxyfile-dev_firewire head/tools/kerneldoc/subsys/Doxyfile-dev_flash head/tools/kerneldoc/subsys/Doxyfile-dev_fxp head/tools/kerneldoc/subsys/Doxyfile-dev_gem head/tools/kerneldoc/subsys/Doxyfile-dev_glxiic head/tools/kerneldoc/subsys/Doxyfile-dev_glxsb head/tools/kerneldoc/subsys/Doxyfile-dev_gpio head/tools/kerneldoc/subsys/Doxyfile-dev_hatm head/tools/kerneldoc/subsys/Doxyfile-dev_hifn head/tools/kerneldoc/subsys/Doxyfile-dev_hme head/tools/kerneldoc/subsys/Doxyfile-dev_hpt27xx head/tools/kerneldoc/subsys/Doxyfile-dev_hptiop head/tools/kerneldoc/subsys/Doxyfile-dev_hptmv head/tools/kerneldoc/subsys/Doxyfile-dev_hptrr head/tools/kerneldoc/subsys/Doxyfile-dev_hwpmc head/tools/kerneldoc/subsys/Doxyfile-dev_ic head/tools/kerneldoc/subsys/Doxyfile-dev_ichsmb head/tools/kerneldoc/subsys/Doxyfile-dev_ichwd head/tools/kerneldoc/subsys/Doxyfile-dev_ida head/tools/kerneldoc/subsys/Doxyfile-dev_ie head/tools/kerneldoc/subsys/Doxyfile-dev_ieee488 head/tools/kerneldoc/subsys/Doxyfile-dev_if_ndis head/tools/kerneldoc/subsys/Doxyfile-dev_iicbus head/tools/kerneldoc/subsys/Doxyfile-dev_iir head/tools/kerneldoc/subsys/Doxyfile-dev_io head/tools/kerneldoc/subsys/Doxyfile-dev_ipmi head/tools/kerneldoc/subsys/Doxyfile-dev_ips head/tools/kerneldoc/subsys/Doxyfile-dev_ipw head/tools/kerneldoc/subsys/Doxyfile-dev_iscsi head/tools/kerneldoc/subsys/Doxyfile-dev_isp head/tools/kerneldoc/subsys/Doxyfile-dev_ispfw head/tools/kerneldoc/subsys/Doxyfile-dev_iwi head/tools/kerneldoc/subsys/Doxyfile-dev_iwn head/tools/kerneldoc/subsys/Doxyfile-dev_ixgb head/tools/kerneldoc/subsys/Doxyfile-dev_ixgbe head/tools/kerneldoc/subsys/Doxyfile-dev_jme head/tools/kerneldoc/subsys/Doxyfile-dev_joy head/tools/kerneldoc/subsys/Doxyfile-dev_kbd head/tools/kerneldoc/subsys/Doxyfile-dev_kbdmux head/tools/kerneldoc/subsys/Doxyfile-dev_ksyms head/tools/kerneldoc/subsys/Doxyfile-dev_le head/tools/kerneldoc/subsys/Doxyfile-dev_led head/tools/kerneldoc/subsys/Doxyfile-dev_lge head/tools/kerneldoc/subsys/Doxyfile-dev_lindev head/tools/kerneldoc/subsys/Doxyfile-dev_lmc head/tools/kerneldoc/subsys/Doxyfile-dev_malo head/tools/kerneldoc/subsys/Doxyfile-dev_mc146818 head/tools/kerneldoc/subsys/Doxyfile-dev_mca head/tools/kerneldoc/subsys/Doxyfile-dev_mcd head/tools/kerneldoc/subsys/Doxyfile-dev_md head/tools/kerneldoc/subsys/Doxyfile-dev_mem head/tools/kerneldoc/subsys/Doxyfile-dev_mfi head/tools/kerneldoc/subsys/Doxyfile-dev_mge head/tools/kerneldoc/subsys/Doxyfile-dev_mii head/tools/kerneldoc/subsys/Doxyfile-dev_mk48txx head/tools/kerneldoc/subsys/Doxyfile-dev_mly head/tools/kerneldoc/subsys/Doxyfile-dev_mmc head/tools/kerneldoc/subsys/Doxyfile-dev_mn head/tools/kerneldoc/subsys/Doxyfile-dev_mps head/tools/kerneldoc/subsys/Doxyfile-dev_mpt head/tools/kerneldoc/subsys/Doxyfile-dev_mse head/tools/kerneldoc/subsys/Doxyfile-dev_msk head/tools/kerneldoc/subsys/Doxyfile-dev_mvs head/tools/kerneldoc/subsys/Doxyfile-dev_mwl head/tools/kerneldoc/subsys/Doxyfile-dev_mxge head/tools/kerneldoc/subsys/Doxyfile-dev_my head/tools/kerneldoc/subsys/Doxyfile-dev_ncv head/tools/kerneldoc/subsys/Doxyfile-dev_netmap head/tools/kerneldoc/subsys/Doxyfile-dev_nfe head/tools/kerneldoc/subsys/Doxyfile-dev_nge head/tools/kerneldoc/subsys/Doxyfile-dev_nmdm head/tools/kerneldoc/subsys/Doxyfile-dev_nsp head/tools/kerneldoc/subsys/Doxyfile-dev_null head/tools/kerneldoc/subsys/Doxyfile-dev_nve head/tools/kerneldoc/subsys/Doxyfile-dev_nvram head/tools/kerneldoc/subsys/Doxyfile-dev_nvram2env head/tools/kerneldoc/subsys/Doxyfile-dev_nxge head/tools/kerneldoc/subsys/Doxyfile-dev_ofw head/tools/kerneldoc/subsys/Doxyfile-dev_patm head/tools/kerneldoc/subsys/Doxyfile-dev_pbio head/tools/kerneldoc/subsys/Doxyfile-dev_pccard head/tools/kerneldoc/subsys/Doxyfile-dev_pccbb head/tools/kerneldoc/subsys/Doxyfile-dev_pcf head/tools/kerneldoc/subsys/Doxyfile-dev_pcn head/tools/kerneldoc/subsys/Doxyfile-dev_pdq head/tools/kerneldoc/subsys/Doxyfile-dev_powermac_nvram head/tools/kerneldoc/subsys/Doxyfile-dev_ppbus head/tools/kerneldoc/subsys/Doxyfile-dev_ppc head/tools/kerneldoc/subsys/Doxyfile-dev_pst head/tools/kerneldoc/subsys/Doxyfile-dev_pty head/tools/kerneldoc/subsys/Doxyfile-dev_puc head/tools/kerneldoc/subsys/Doxyfile-dev_qlxgb head/tools/kerneldoc/subsys/Doxyfile-dev_quicc head/tools/kerneldoc/subsys/Doxyfile-dev_ral head/tools/kerneldoc/subsys/Doxyfile-dev_random head/tools/kerneldoc/subsys/Doxyfile-dev_rc head/tools/kerneldoc/subsys/Doxyfile-dev_re head/tools/kerneldoc/subsys/Doxyfile-dev_rndtest head/tools/kerneldoc/subsys/Doxyfile-dev_rp head/tools/kerneldoc/subsys/Doxyfile-dev_rt head/tools/kerneldoc/subsys/Doxyfile-dev_safe head/tools/kerneldoc/subsys/Doxyfile-dev_sbni head/tools/kerneldoc/subsys/Doxyfile-dev_scc head/tools/kerneldoc/subsys/Doxyfile-dev_scd head/tools/kerneldoc/subsys/Doxyfile-dev_sdhci head/tools/kerneldoc/subsys/Doxyfile-dev_sec head/tools/kerneldoc/subsys/Doxyfile-dev_sf head/tools/kerneldoc/subsys/Doxyfile-dev_sfxge head/tools/kerneldoc/subsys/Doxyfile-dev_sge head/tools/kerneldoc/subsys/Doxyfile-dev_si head/tools/kerneldoc/subsys/Doxyfile-dev_siba head/tools/kerneldoc/subsys/Doxyfile-dev_siis head/tools/kerneldoc/subsys/Doxyfile-dev_sio head/tools/kerneldoc/subsys/Doxyfile-dev_sis head/tools/kerneldoc/subsys/Doxyfile-dev_sk head/tools/kerneldoc/subsys/Doxyfile-dev_smbus head/tools/kerneldoc/subsys/Doxyfile-dev_smc head/tools/kerneldoc/subsys/Doxyfile-dev_sn head/tools/kerneldoc/subsys/Doxyfile-dev_snc head/tools/kerneldoc/subsys/Doxyfile-dev_snp head/tools/kerneldoc/subsys/Doxyfile-dev_speaker head/tools/kerneldoc/subsys/Doxyfile-dev_spibus head/tools/kerneldoc/subsys/Doxyfile-dev_ste head/tools/kerneldoc/subsys/Doxyfile-dev_stg head/tools/kerneldoc/subsys/Doxyfile-dev_stge head/tools/kerneldoc/subsys/Doxyfile-dev_streams head/tools/kerneldoc/subsys/Doxyfile-dev_sym head/tools/kerneldoc/subsys/Doxyfile-dev_syscons head/tools/kerneldoc/subsys/Doxyfile-dev_tdfx head/tools/kerneldoc/subsys/Doxyfile-dev_ti head/tools/kerneldoc/subsys/Doxyfile-dev_tl head/tools/kerneldoc/subsys/Doxyfile-dev_tpm head/tools/kerneldoc/subsys/Doxyfile-dev_trm head/tools/kerneldoc/subsys/Doxyfile-dev_tsec head/tools/kerneldoc/subsys/Doxyfile-dev_twa head/tools/kerneldoc/subsys/Doxyfile-dev_twe head/tools/kerneldoc/subsys/Doxyfile-dev_tws head/tools/kerneldoc/subsys/Doxyfile-dev_tx head/tools/kerneldoc/subsys/Doxyfile-dev_txp head/tools/kerneldoc/subsys/Doxyfile-dev_uart head/tools/kerneldoc/subsys/Doxyfile-dev_ubsec head/tools/kerneldoc/subsys/Doxyfile-dev_utopia head/tools/kerneldoc/subsys/Doxyfile-dev_vge head/tools/kerneldoc/subsys/Doxyfile-dev_viawd head/tools/kerneldoc/subsys/Doxyfile-dev_virtio head/tools/kerneldoc/subsys/Doxyfile-dev_vkbd head/tools/kerneldoc/subsys/Doxyfile-dev_vr head/tools/kerneldoc/subsys/Doxyfile-dev_vte head/tools/kerneldoc/subsys/Doxyfile-dev_vx head/tools/kerneldoc/subsys/Doxyfile-dev_vxge head/tools/kerneldoc/subsys/Doxyfile-dev_watchdog head/tools/kerneldoc/subsys/Doxyfile-dev_wb head/tools/kerneldoc/subsys/Doxyfile-dev_wds head/tools/kerneldoc/subsys/Doxyfile-dev_wi head/tools/kerneldoc/subsys/Doxyfile-dev_wl head/tools/kerneldoc/subsys/Doxyfile-dev_wpi head/tools/kerneldoc/subsys/Doxyfile-dev_wtap head/tools/kerneldoc/subsys/Doxyfile-dev_xe head/tools/kerneldoc/subsys/Doxyfile-dev_xen head/tools/kerneldoc/subsys/Doxyfile-dev_xl head/tools/kerneldoc/subsys/common-Doxyfile Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_aac ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_aac Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_aac Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/aac/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/aac/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_aac/dev_aac.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_acpi_support ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_acpi_support Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_acpi_support Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/acpi_support/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/acpi_support/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_acpi_support/dev_acpi_support.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_acpica ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_acpica Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_acpica Wed Feb 1 10:59:19 2012 (r230862) @@ -5,7 +5,7 @@ #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- -PROJECT_NAME = "FreeBSD kernel ACPICA device code" +PROJECT_NAME = "FreeBSD kernel $(DOXYGEN_TARGET_ARCH) ACPICA device code" OUTPUT_DIRECTORY = $(DOXYGEN_DEST_PATH)/dev_acpica/ EXTRACT_ALL = YES # for undocumented src, no warnings enabled #--------------------------------------------------------------------------- Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_adb ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_adb Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_adb Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/adb/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/adb/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_adb/dev_adb.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_adlink ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_adlink Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_adlink Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/adlink/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/adlink/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_adlink/dev_adlink.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_advansys ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_advansys Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_advansys Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/advansys/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/advansys/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_advansys/dev_advansys.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_ae ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_ae Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_ae Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/ae/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/ae/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_ae/dev_ae.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_age ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_age Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_age Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/age/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/age/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_age/dev_age.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_agp ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_agp Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_agp Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/agp/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/agp/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_agp/dev_agp.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_aha ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_aha Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_aha Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/aha/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/aha/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_aha/dev_aha.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_ahb ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_ahb Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_ahb Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/ahb/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/ahb/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_ahb/dev_ahb.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_ahci ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_ahci Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_ahci Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/ahci/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/ahci/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_ahci/dev_ahci.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_aic ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_aic Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_aic Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/aic/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/aic/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_aic/dev_aic.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_aic7xxx ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_aic7xxx Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_aic7xxx Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/aic7xxx/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/aic7xxx/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_aic7xxx/dev_aic7xxx.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_alc ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_alc Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_alc Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/alc/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/alc/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_alc/dev_alc.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_ale ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_ale Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_ale Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/ale/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/ale/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_ale/dev_ale.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_amdsbwd ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_amdsbwd Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_amdsbwd Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/amdsbwd/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/amdsbwd/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_amdsbwd/dev_amdsbwd.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_amdtemp ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_amdtemp Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_amdtemp Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/amdtemp/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/amdtemp/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_amdtemp/dev_amdtemp.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_amr ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_amr Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_amr Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/amr/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/amr/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_amr/dev_amr.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_an ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_an Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_an Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/an/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/an/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_an/dev_an.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_arcmsr ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_arcmsr Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_arcmsr Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/arcmsr/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/arcmsr/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_arcmsr/dev_arcmsr.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_asmc ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_asmc Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_asmc Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/asmc/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/asmc/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_asmc/dev_asmc.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_asr ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_asr Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_asr Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/asr/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/asr/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_asr/dev_asr.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_ata ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_ata Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_ata Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/ata/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/ata/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_ata/dev_ata.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_ath ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_ath Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_ath Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/ath/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/ath/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_ath/dev_ath.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_atkbdc ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_atkbdc Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_atkbdc Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/atkbdc/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/atkbdc/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_atkbdc/dev_atkbdc.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_auxio ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_auxio Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_auxio Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/auxio/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/auxio/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_auxio/dev_auxio.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_bce ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_bce Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_bce Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/bce/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/bce/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_bce/dev_bce.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_bfe ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_bfe Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_bfe Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/bfe/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/bfe/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_bfe/dev_bfe.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_bge ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_bge Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_bge Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/bge/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/bge/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_bge/dev_bge.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_bktr ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_bktr Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_bktr Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/bktr/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/bktr/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_bktr/dev_bktr.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_bm ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_bm Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_bm Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/bm/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/bm/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_bm/dev_bm.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_buslogic ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_buslogic Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_buslogic Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/buslogic/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/buslogic/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_buslogic/dev_buslogic.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_bwi ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_bwi Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_bwi Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/bwi/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/bwi/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_bwi/dev_bwi.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_bwn ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_bwn Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_bwn Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/bwn/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/bwn/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_bwn/dev_bwn.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_bxe ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_bxe Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_bxe Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/bxe/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/bxe/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_bxe/dev_bxe.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_cardbus ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_cardbus Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_cardbus Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/cardbus/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/cardbus/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_cardbus/dev_cardbus.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_cas ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_cas Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_cas Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/cas/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/cas/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_cas/dev_cas.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_ce ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_ce Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_ce Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/ce/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/ce/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_ce/dev_ce.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_cesa ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_cesa Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_cesa Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/cesa/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/cesa/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_cesa/dev_cesa.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_cfe ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_cfe Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_cfe Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/cfe/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/cfe/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_cfe/dev_cfe.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_cfi ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_cfi Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_cfi Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/cfi/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/cfi/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_cfi/dev_cfi.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_ciss ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_ciss Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_ciss Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/ciss/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/ciss/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_ciss/dev_ciss.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_cm ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_cm Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_cm Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/cm/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/cm/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_cm/dev_cm.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_cmx ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_cmx Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_cmx Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/cmx/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/cmx/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_cmx/dev_cmx.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_coretemp ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_coretemp Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_coretemp Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/coretemp/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/coretemp/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_coretemp/dev_coretemp.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_cp ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_cp Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_cp Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/cp/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/cp/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_cp/dev_cp.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_cpuctl ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_cpuctl Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_cpuctl Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/cpuctl/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/cpuctl/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_cpuctl/dev_cpuctl.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_cpufreq ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_cpufreq Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_cpufreq Wed Feb 1 10:59:19 2012 (r230862) @@ -5,7 +5,7 @@ #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- -PROJECT_NAME = "FreeBSD kernel CPUFREQ device code" +PROJECT_NAME = "FreeBSD kernel $(DOXYGEN_TARGET_ARCH) CPUFREQ device code" OUTPUT_DIRECTORY = $(DOXYGEN_DEST_PATH)/dev_cpufreq/ EXTRACT_ALL = YES # for undocumented src, no warnings enabled #--------------------------------------------------------------------------- Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_cs ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_cs Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_cs Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/cs/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/cs/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_cs/dev_cs.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_ct ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_ct Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_ct Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/ct/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/ct/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_ct/dev_ct.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_ctau ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_ctau Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_ctau Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/ctau/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/ctau/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_ctau/dev_ctau.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_cx ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_cx Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_cx Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/cx/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/cx/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_cx/dev_cx.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_cxgb ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_cxgb Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_cxgb Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/cxgb/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/cxgb/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_cxgb/dev_cxgb.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_cxgbe ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_cxgbe Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_cxgbe Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/cxgbe/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/cxgbe/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_cxgbe/dev_cxgbe.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_cy ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_cy Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_cy Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/cy/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/cy/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_cy/dev_cy.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_dc ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_dc Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_dc Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/dc/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/dc/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_dc/dev_dc.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_dcons ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_dcons Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_dcons Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/dcons/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/dcons/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_dcons/dev_dcons.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_de ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_de Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_de Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/de/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/de/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_de/dev_de.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_digi ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_digi Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_digi Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/digi/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/digi/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_digi/dev_digi.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_dpms ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_dpms Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_dpms Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/dpms/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/dpms/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_dpms/dev_dpms.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_dpt ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_dpt Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_dpt Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/dpt/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/dpt/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_dpt/dev_dpt.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_drm ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_drm Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_drm Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/drm/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/drm/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_drm/dev_drm.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_e1000 ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_e1000 Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_e1000 Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/e1000/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/e1000/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_e1000/dev_e1000.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_ed ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_ed Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_ed Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/ed/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/ed/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_ed/dev_ed.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_eisa ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_eisa Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_eisa Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/eisa/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/eisa/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_eisa/dev_eisa.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_en ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_en Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_en Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/en/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/en/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_en/dev_en.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_ep ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_ep Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_ep Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/ep/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/ep/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_ep/dev_ep.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_esp ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_esp Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_esp Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/esp/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/esp/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_esp/dev_esp.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_et ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_et Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_et Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/et/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/et/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_et/dev_et.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_ex ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_ex Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_ex Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/ex/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/ex/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_ex/dev_ex.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_exca ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_exca Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_exca Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/exca/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/exca/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_exca/dev_exca.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_fatm ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_fatm Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_fatm Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/fatm/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/fatm/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_fatm/dev_fatm.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_fb ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_fb Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_fb Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/fb/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/fb/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_fb/dev_fb.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_fdc ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_fdc Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_fdc Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/fdc/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/fdc/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_fdc/dev_fdc.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_fdt ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_fdt Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_fdt Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/fdt/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/fdt/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_fdt/dev_fdt.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_fe ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_fe Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_fe Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/fe/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/fe/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_fe/dev_fe.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_firewire ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_firewire Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_firewire Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/firewire/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/firewire/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_firewire/dev_firewire.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_flash ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_flash Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_flash Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/flash/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/flash/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_flash/dev_flash.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_fxp ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_fxp Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_fxp Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/fxp/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/fxp/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_fxp/dev_fxp.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_gem ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_gem Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_gem Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/gem/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/gem/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_gem/dev_gem.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_glxiic ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_glxiic Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_glxiic Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/glxiic/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/glxiic/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_glxiic/dev_glxiic.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_glxsb ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_glxsb Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_glxsb Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/glxsb/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/glxsb/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_glxsb/dev_glxsb.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_gpio ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_gpio Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_gpio Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/gpio/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/gpio/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_gpio/dev_gpio.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_hatm ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_hatm Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_hatm Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/hatm/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/hatm/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_hatm/dev_hatm.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_hifn ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_hifn Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_hifn Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/hifn/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/hifn/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_hifn/dev_hifn.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_hme ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_hme Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_hme Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/hme/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/hme/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_hme/dev_hme.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_hpt27xx ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_hpt27xx Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_hpt27xx Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/hpt27xx/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/hpt27xx/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_hpt27xx/dev_hpt27xx.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_hptiop ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_hptiop Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_hptiop Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/hptiop/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/hptiop/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_hptiop/dev_hptiop.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_hptmv ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_hptmv Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_hptmv Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/hptmv/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/hptmv/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_hptmv/dev_hptmv.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_hptrr ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_hptrr Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_hptrr Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/hptrr/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/hptrr/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_hptrr/dev_hptrr.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_hwpmc ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_hwpmc Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_hwpmc Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/hwpmc/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/hwpmc/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_hwpmc/dev_hwpmc.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_ic ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_ic Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_ic Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/ic/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/ic/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_ic/dev_ic.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_ichsmb ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_ichsmb Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_ichsmb Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/ichsmb/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/ichsmb/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_ichsmb/dev_ichsmb.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_ichwd ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_ichwd Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_ichwd Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/ichwd/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/ichwd/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_ichwd/dev_ichwd.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_ida ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_ida Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_ida Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/ida/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/ida/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_ida/dev_ida.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_ie ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_ie Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_ie Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/ie/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/ie/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_ie/dev_ie.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_ieee488 ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_ieee488 Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_ieee488 Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/ieee488/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/ieee488/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_ieee488/dev_ieee488.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_if_ndis ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_if_ndis Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_if_ndis Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/if_ndis/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/if_ndis/ \ $(NOTREVIEWED) GENERATE_TAGFILE = dev_if_ndis/dev_if_ndis.tag Modified: head/tools/kerneldoc/subsys/Doxyfile-dev_iicbus ============================================================================== --- head/tools/kerneldoc/subsys/Doxyfile-dev_iicbus Wed Feb 1 09:28:16 2012 (r230861) +++ head/tools/kerneldoc/subsys/Doxyfile-dev_iicbus Wed Feb 1 10:59:19 2012 (r230862) @@ -12,7 +12,6 @@ EXTRACT_ALL = YES # for un # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = $(DOXYGEN_SRC_PATH)/dev/iicbus/ \ - $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/iicbus/ \ $(NOTREVIEWED) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@FreeBSD.ORG Wed Feb 1 11:07:42 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E4B56106566C; Wed, 1 Feb 2012 11:07:41 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C4DF48FC0A; Wed, 1 Feb 2012 11:07:41 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q11B7fCl084497; Wed, 1 Feb 2012 11:07:41 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q11B7fV1084495; Wed, 1 Feb 2012 11:07:41 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201202011107.q11B7fV1084495@svn.freebsd.org> From: Gleb Smirnoff Date: Wed, 1 Feb 2012 11:07:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230863 - head/sys/netinet X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Feb 2012 11:07:42 -0000 Author: glebius Date: Wed Feb 1 11:07:41 2012 New Revision: 230863 URL: http://svn.freebsd.org/changeset/base/230863 Log: o Provide functions carp_ifa_addroute()/carp_ifa_delroute() to cleanup routes from a single ifa. o Implement carp_addroute()/carp_delroute() via above functions. o Call carp_ifa_delroute() in the carp_detach() to avoid junk routes left in routing table, in case if user removes an address in a MASTER state. [1] Reported by: az [1] Modified: head/sys/netinet/ip_carp.c Modified: head/sys/netinet/ip_carp.c ============================================================================== --- head/sys/netinet/ip_carp.c Wed Feb 1 10:59:19 2012 (r230862) +++ head/sys/netinet/ip_carp.c Wed Feb 1 11:07:41 2012 (r230863) @@ -269,7 +269,9 @@ static void carp_master_down_locked(stru static void carp_send_ad(void *); static void carp_send_ad_locked(struct carp_softc *); static void carp_addroute(struct carp_softc *); +static void carp_ifa_addroute(struct ifaddr *); static void carp_delroute(struct carp_softc *); +static void carp_ifa_delroute(struct ifaddr *); static void carp_send_ad_all(void *, int); static void carp_demote_adj(int, char *); @@ -907,22 +909,29 @@ carp_addroute(struct carp_softc *sc) struct ifaddr *ifa; CARP_FOREACH_IFA(sc, ifa) - switch (ifa->ifa_addr->sa_family) { + carp_ifa_addroute(ifa); +} + +static void +carp_ifa_addroute(struct ifaddr *ifa) +{ + + switch (ifa->ifa_addr->sa_family) { #ifdef INET - case AF_INET: - in_addprefix(ifatoia(ifa), RTF_UP); - ifa_add_loopback_route(ifa, - (struct sockaddr *)&ifatoia(ifa)->ia_addr); - break; + case AF_INET: + in_addprefix(ifatoia(ifa), RTF_UP); + ifa_add_loopback_route(ifa, + (struct sockaddr *)&ifatoia(ifa)->ia_addr); + break; #endif #ifdef INET6 - case AF_INET6: - ifa_add_loopback_route(ifa, - (struct sockaddr *)&ifatoia6(ifa)->ia_addr); - in6_ifaddloop(ifa); - break; + case AF_INET6: + ifa_add_loopback_route(ifa, + (struct sockaddr *)&ifatoia6(ifa)->ia_addr); + in6_ifaddloop(ifa); + break; #endif - } + } } static void @@ -931,22 +940,29 @@ carp_delroute(struct carp_softc *sc) struct ifaddr *ifa; CARP_FOREACH_IFA(sc, ifa) - switch (ifa->ifa_addr->sa_family) { + carp_ifa_delroute(ifa); +} + +static void +carp_ifa_delroute(struct ifaddr *ifa) +{ + + switch (ifa->ifa_addr->sa_family) { #ifdef INET - case AF_INET: - ifa_del_loopback_route(ifa, - (struct sockaddr *)&ifatoia(ifa)->ia_addr); - in_scrubprefix(ifatoia(ifa), LLE_STATIC); - break; + case AF_INET: + ifa_del_loopback_route(ifa, + (struct sockaddr *)&ifatoia(ifa)->ia_addr); + in_scrubprefix(ifatoia(ifa), LLE_STATIC); + break; #endif #ifdef INET6 - case AF_INET6: - ifa_del_loopback_route(ifa, - (struct sockaddr *)&ifatoia6(ifa)->ia_addr); - in6_ifremloop(ifa); - break; + case AF_INET6: + ifa_del_loopback_route(ifa, + (struct sockaddr *)&ifatoia6(ifa)->ia_addr); + in6_ifremloop(ifa); + break; #endif - } + } } #ifdef INET @@ -1856,6 +1872,7 @@ carp_detach(struct ifaddr *ifa) #endif } + carp_ifa_delroute(ifa); carp_multicast_cleanup(sc, ifa->ifa_addr->sa_family); ifa->ifa_carp = NULL; From owner-svn-src-head@FreeBSD.ORG Wed Feb 1 13:33:53 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E80391065673; Wed, 1 Feb 2012 13:33:53 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C940C8FC1E; Wed, 1 Feb 2012 13:33:53 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q11DXrBf089040; Wed, 1 Feb 2012 13:33:53 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q11DXrlQ089030; Wed, 1 Feb 2012 13:33:53 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201202011333.q11DXrlQ089030@svn.freebsd.org> From: Konstantin Belousov Date: Wed, 1 Feb 2012 13:33:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230864 - in head: lib/libc/amd64/gen lib/libc/arm/gen lib/libc/i386/gen lib/libc/ia64/gen lib/libc/mips/gen lib/libc/powerpc/gen lib/libc/powerpc64/gen lib/libc/sparc64/gen sys/sys X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Feb 2012 13:33:54 -0000 Author: kib Date: Wed Feb 1 13:33:53 2012 New Revision: 230864 URL: http://svn.freebsd.org/changeset/base/230864 Log: Make the sys/ucontext.h self-contained by changing the return type of __getcontextx_size(3) from size_t to int. PR: ports/164654 MFC after: 1 month Modified: head/lib/libc/amd64/gen/getcontextx.c head/lib/libc/arm/gen/getcontextx.c head/lib/libc/i386/gen/getcontextx.c head/lib/libc/ia64/gen/getcontextx.c head/lib/libc/mips/gen/getcontextx.c head/lib/libc/powerpc/gen/getcontextx.c head/lib/libc/powerpc64/gen/getcontextx.c head/lib/libc/sparc64/gen/getcontextx.c head/sys/sys/ucontext.h Modified: head/lib/libc/amd64/gen/getcontextx.c ============================================================================== --- head/lib/libc/amd64/gen/getcontextx.c Wed Feb 1 11:07:41 2012 (r230863) +++ head/lib/libc/amd64/gen/getcontextx.c Wed Feb 1 13:33:53 2012 (r230864) @@ -39,7 +39,7 @@ __FBSDID("$FreeBSD$"); static int xstate_sz = -1; -size_t +int __getcontextx_size(void) { u_int p[4]; Modified: head/lib/libc/arm/gen/getcontextx.c ============================================================================== --- head/lib/libc/arm/gen/getcontextx.c Wed Feb 1 11:07:41 2012 (r230863) +++ head/lib/libc/arm/gen/getcontextx.c Wed Feb 1 13:33:53 2012 (r230864) @@ -32,7 +32,7 @@ __FBSDID("$FreeBSD$"); #include #include -size_t +int __getcontextx_size(void) { Modified: head/lib/libc/i386/gen/getcontextx.c ============================================================================== --- head/lib/libc/i386/gen/getcontextx.c Wed Feb 1 11:07:41 2012 (r230863) +++ head/lib/libc/i386/gen/getcontextx.c Wed Feb 1 13:33:53 2012 (r230864) @@ -38,7 +38,7 @@ __FBSDID("$FreeBSD$"); static int xstate_sz = -1; -size_t +int __getcontextx_size(void) { u_int p[4]; Modified: head/lib/libc/ia64/gen/getcontextx.c ============================================================================== --- head/lib/libc/ia64/gen/getcontextx.c Wed Feb 1 11:07:41 2012 (r230863) +++ head/lib/libc/ia64/gen/getcontextx.c Wed Feb 1 13:33:53 2012 (r230864) @@ -32,7 +32,7 @@ __FBSDID("$FreeBSD$"); #include #include -size_t +int __getcontextx_size(void) { Modified: head/lib/libc/mips/gen/getcontextx.c ============================================================================== --- head/lib/libc/mips/gen/getcontextx.c Wed Feb 1 11:07:41 2012 (r230863) +++ head/lib/libc/mips/gen/getcontextx.c Wed Feb 1 13:33:53 2012 (r230864) @@ -32,7 +32,7 @@ __FBSDID("$FreeBSD$"); #include #include -size_t +int __getcontextx_size(void) { Modified: head/lib/libc/powerpc/gen/getcontextx.c ============================================================================== --- head/lib/libc/powerpc/gen/getcontextx.c Wed Feb 1 11:07:41 2012 (r230863) +++ head/lib/libc/powerpc/gen/getcontextx.c Wed Feb 1 13:33:53 2012 (r230864) @@ -32,7 +32,7 @@ __FBSDID("$FreeBSD$"); #include #include -size_t +int __getcontextx_size(void) { Modified: head/lib/libc/powerpc64/gen/getcontextx.c ============================================================================== --- head/lib/libc/powerpc64/gen/getcontextx.c Wed Feb 1 11:07:41 2012 (r230863) +++ head/lib/libc/powerpc64/gen/getcontextx.c Wed Feb 1 13:33:53 2012 (r230864) @@ -32,7 +32,7 @@ __FBSDID("$FreeBSD$"); #include #include -size_t +int __getcontextx_size(void) { Modified: head/lib/libc/sparc64/gen/getcontextx.c ============================================================================== --- head/lib/libc/sparc64/gen/getcontextx.c Wed Feb 1 11:07:41 2012 (r230863) +++ head/lib/libc/sparc64/gen/getcontextx.c Wed Feb 1 13:33:53 2012 (r230864) @@ -32,7 +32,7 @@ __FBSDID("$FreeBSD$"); #include #include -size_t +int __getcontextx_size(void) { Modified: head/sys/sys/ucontext.h ============================================================================== --- head/sys/sys/ucontext.h Wed Feb 1 11:07:41 2012 (r230863) +++ head/sys/sys/ucontext.h Wed Feb 1 13:33:53 2012 (r230864) @@ -79,7 +79,7 @@ int signalcontext(ucontext_t *, int, __s int swapcontext(ucontext_t *, const ucontext_t *); #if __BSD_VISIBLE -size_t __getcontextx_size(void); +int __getcontextx_size(void); int __fillcontextx(char *ctx); #endif From owner-svn-src-head@FreeBSD.ORG Wed Feb 1 13:39:53 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 511341065672; Wed, 1 Feb 2012 13:39:53 +0000 (UTC) (envelope-from raj@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 219498FC08; Wed, 1 Feb 2012 13:39:53 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q11Ddr8w089248; Wed, 1 Feb 2012 13:39:53 GMT (envelope-from raj@svn.freebsd.org) Received: (from raj@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q11DdrRY089245; Wed, 1 Feb 2012 13:39:53 GMT (envelope-from raj@svn.freebsd.org) Message-Id: <201202011339.q11DdrRY089245@svn.freebsd.org> From: Rafal Jaworowski Date: Wed, 1 Feb 2012 13:39:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230865 - head/sys/dev/mvs X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Feb 2012 13:39:53 -0000 Author: raj Date: Wed Feb 1 13:39:52 2012 New Revision: 230865 URL: http://svn.freebsd.org/changeset/base/230865 Log: Adjust mvs(4) to handle interrupt cause reg depending on the actual number of channels available - current code treats bits 4:7 in 'SATAHC interrupt mask' and 'SATAHC interrupt cause' as flags for SATA channels 2 and 3 - for embedded SATA controllers (SoC) these bits have been marked as reserved in datasheets so far, but for some new and upcoming chips they are used for purposes other than SATA Submitted by: Lukasz Plachno Reviewed by: mav Obtained from: Semihalf MFC after: 2 weeks Modified: head/sys/dev/mvs/mvs.h head/sys/dev/mvs/mvs_soc.c Modified: head/sys/dev/mvs/mvs.h ============================================================================== --- head/sys/dev/mvs/mvs.h Wed Feb 1 13:33:53 2012 (r230864) +++ head/sys/dev/mvs/mvs.h Wed Feb 1 13:39:52 2012 (r230865) @@ -61,6 +61,9 @@ #define CHIP_SOC_LED 0x2C /* SoC LED Configuration */ +/* Additional mask for SoC devices with less than 4 channels */ +#define CHIP_SOC_HC0_MASK(num) (0xff >> ((4 - (num)) * 2)) + /* Chip CCC registers */ #define CHIP_ICC 0x18008 #define CHIP_ICC_ALL_PORTS (1 << 4) /* all ports irq event */ Modified: head/sys/dev/mvs/mvs_soc.c ============================================================================== --- head/sys/dev/mvs/mvs_soc.c Wed Feb 1 13:33:53 2012 (r230864) +++ head/sys/dev/mvs/mvs_soc.c Wed Feb 1 13:39:52 2012 (r230865) @@ -216,7 +216,9 @@ mvs_ctlr_setup(device_t dev) if (ccc) ccim |= IC_HC0_COAL_DONE; /* Enable chip interrupts */ - ctlr->gmim = (ccc ? IC_HC0_COAL_DONE : IC_DONE_HC0) | IC_ERR_HC0; + ctlr->gmim = ((ccc ? IC_HC0_COAL_DONE : + (IC_DONE_HC0 & CHIP_SOC_HC0_MASK(ctlr->channels))) | + (IC_ERR_HC0 & CHIP_SOC_HC0_MASK(ctlr->channels))); ATA_OUTL(ctlr->r_mem, CHIP_SOC_MIM, ctlr->gmim | ctlr->pmim); return (0); } @@ -291,25 +293,26 @@ mvs_intr(void *data) struct mvs_controller *ctlr = data; struct mvs_intr_arg arg; void (*function)(void *); - int p; + int p, chan_num; u_int32_t ic, aic; ic = ATA_INL(ctlr->r_mem, CHIP_SOC_MIC); if ((ic & IC_HC0) == 0) return; + /* Acknowledge interrupts of this HC. */ aic = 0; - if (ic & (IC_DONE_IRQ << 0)) - aic |= HC_IC_DONE(0) | HC_IC_DEV(0); - if (ic & (IC_DONE_IRQ << 2)) - aic |= HC_IC_DONE(1) | HC_IC_DEV(1); - if (ic & (IC_DONE_IRQ << 4)) - aic |= HC_IC_DONE(2) | HC_IC_DEV(2); - if (ic & (IC_DONE_IRQ << 6)) - aic |= HC_IC_DONE(3) | HC_IC_DEV(3); + + /* Processing interrupts from each initialized channel */ + for (chan_num = 0; chan_num < ctlr->channels; chan_num++) { + if (ic & (IC_DONE_IRQ << (chan_num * 2))) + aic |= HC_IC_DONE(chan_num) | HC_IC_DEV(chan_num); + } + if (ic & IC_HC0_COAL_DONE) aic |= HC_IC_COAL; ATA_OUTL(ctlr->r_mem, HC_IC, ~aic); + /* Call per-port interrupt handler. */ for (p = 0; p < ctlr->channels; p++) { arg.cause = ic & (IC_ERR_IRQ|IC_DONE_IRQ); From owner-svn-src-head@FreeBSD.ORG Wed Feb 1 14:34:53 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 45E6D1065674; Wed, 1 Feb 2012 14:34:53 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1AAD38FC13; Wed, 1 Feb 2012 14:34:53 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q11EYrmr091009; Wed, 1 Feb 2012 14:34:53 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q11EYqCt091007; Wed, 1 Feb 2012 14:34:52 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201202011434.q11EYqCt091007@svn.freebsd.org> From: Konstantin Belousov Date: Wed, 1 Feb 2012 14:34:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230866 - head/sys/kern X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Feb 2012 14:34:53 -0000 Author: kib Date: Wed Feb 1 14:34:52 2012 New Revision: 230866 URL: http://svn.freebsd.org/changeset/base/230866 Log: Add kqueue support to /dev/klog. Submitted by: Mateusz Guzik PR: kern/156423 MFC after: 1 weeks Modified: head/sys/kern/subr_log.c Modified: head/sys/kern/subr_log.c ============================================================================== --- head/sys/kern/subr_log.c Wed Feb 1 13:39:52 2012 (r230865) +++ head/sys/kern/subr_log.c Wed Feb 1 14:34:52 2012 (r230866) @@ -59,6 +59,7 @@ static d_close_t logclose; static d_read_t logread; static d_ioctl_t logioctl; static d_poll_t logpoll; +static d_kqfilter_t logkqfilter; static void logtimeout(void *arg); @@ -69,9 +70,20 @@ static struct cdevsw log_cdevsw = { .d_read = logread, .d_ioctl = logioctl, .d_poll = logpoll, + .d_kqfilter = logkqfilter, .d_name = "log", }; +static int logkqread(struct knote *note, long hint); +static void logkqdetach(struct knote *note); + +static struct filterops log_read_filterops = { + .f_isfd = 1, + .f_attach = NULL, + .f_detach = logkqdetach, + .f_event = logkqread, +}; + static struct logsoftc { int sc_state; /* see above for possibilities */ struct selinfo sc_selp; /* process waiting on select call */ @@ -181,6 +193,40 @@ logpoll(struct cdev *dev, int events, st return (revents); } +static int +logkqfilter(struct cdev *dev, struct knote *kn) +{ + + if (kn->kn_filter != EVFILT_READ) + return (EINVAL); + + kn->kn_fop = &log_read_filterops; + kn->kn_hook = NULL; + + mtx_lock(&msgbuf_lock); + knlist_add(&logsoftc.sc_selp.si_note, kn, 1); + mtx_unlock(&msgbuf_lock); + return (0); +} + +static int +logkqread(struct knote *kn, long hint) +{ + + mtx_assert(&msgbuf_lock, MA_OWNED); + kn->kn_data = msgbuf_getcount(msgbufp); + return (kn->kn_data != 0); +} + +static void +logkqdetach(struct knote *kn) +{ + + mtx_lock(&msgbuf_lock); + knlist_remove(&logsoftc.sc_selp.si_note, kn, 1); + mtx_unlock(&msgbuf_lock); +} + static void logtimeout(void *arg) { @@ -198,6 +244,7 @@ logtimeout(void *arg) } msgbuftrigger = 0; selwakeuppri(&logsoftc.sc_selp, LOG_RDPRI); + KNOTE_LOCKED(&logsoftc.sc_selp.si_note, 0); if ((logsoftc.sc_state & LOG_ASYNC) && logsoftc.sc_sigio != NULL) pgsigio(&logsoftc.sc_sigio, SIGIO, 0); cv_broadcastpri(&log_wakeup, LOG_RDPRI); @@ -256,6 +303,7 @@ log_drvinit(void *unused) cv_init(&log_wakeup, "klog"); callout_init_mtx(&logsoftc.sc_callout, &msgbuf_lock, 0); + knlist_init_mtx(&logsoftc.sc_selp.si_note, &msgbuf_lock); make_dev_credf(MAKEDEV_ETERNAL, &log_cdevsw, 0, NULL, UID_ROOT, GID_WHEEL, 0600, "klog"); } From owner-svn-src-head@FreeBSD.ORG Wed Feb 1 16:41:00 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5868E106564A; Wed, 1 Feb 2012 16:41:00 +0000 (UTC) (envelope-from ghelmer@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 475908FC14; Wed, 1 Feb 2012 16:41:00 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q11Gf0ri095463; Wed, 1 Feb 2012 16:41:00 GMT (envelope-from ghelmer@svn.freebsd.org) Received: (from ghelmer@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q11Gf0j6095461; Wed, 1 Feb 2012 16:41:00 GMT (envelope-from ghelmer@svn.freebsd.org) Message-Id: <201202011641.q11Gf0j6095461@svn.freebsd.org> From: Guy Helmer Date: Wed, 1 Feb 2012 16:41:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230869 - head/usr.sbin/daemon X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Feb 2012 16:41:00 -0000 Author: ghelmer Date: Wed Feb 1 16:40:59 2012 New Revision: 230869 URL: http://svn.freebsd.org/changeset/base/230869 Log: Change the notes about the pidfile to include Doug's preference for pre-creating the pidfile with appropriate owner and permissions. Requested by dougb Modified: head/usr.sbin/daemon/daemon.8 Modified: head/usr.sbin/daemon/daemon.8 ============================================================================== --- head/usr.sbin/daemon/daemon.8 Wed Feb 1 15:57:49 2012 (r230868) +++ head/usr.sbin/daemon/daemon.8 Wed Feb 1 16:40:59 2012 (r230869) @@ -61,8 +61,9 @@ using the functionality. If the .Fl u -option is used, the directory to contain the pidfile must be writable -by the specified user. +option is used, either the pidfile needs to have been pre-created +with appropriate ownership and permissions, or the directory to contain +the pidfile must be writable by the specified user. Note, that the file will be created shortly before the process is actually executed, and will remain after the process exits (although it will be removed if the execution fails). From owner-svn-src-head@FreeBSD.ORG Wed Feb 1 18:02:14 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 41E9D106566C; Wed, 1 Feb 2012 18:02:14 +0000 (UTC) (envelope-from trociny@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 30F438FC0C; Wed, 1 Feb 2012 18:02:14 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q11I2ENL098299; Wed, 1 Feb 2012 18:02:14 GMT (envelope-from trociny@svn.freebsd.org) Received: (from trociny@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q11I2DXw098297; Wed, 1 Feb 2012 18:02:13 GMT (envelope-from trociny@svn.freebsd.org) Message-Id: <201202011802.q11I2DXw098297@svn.freebsd.org> From: Mikolaj Golub Date: Wed, 1 Feb 2012 18:02:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230873 - head/lib/libkvm X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Feb 2012 18:02:14 -0000 Author: trociny Date: Wed Feb 1 18:02:13 2012 New Revision: 230873 URL: http://svn.freebsd.org/changeset/base/230873 Log: Try to avoid ambiguity when sysctl returns ENOMEM additionally checking the returned oldlen: when ENOMEM is due to the supplied buffer being too short the return oldlen is equal to buffer size. Without this additional check kvm_getprocs() gets stuck in loop if the returned ENOMEM was due the exceeded memorylocked limit. This is easily can be observed running `limits -l 1k top'. Submitted by: Andrey Zonov MFC after: 1 week Modified: head/lib/libkvm/kvm_proc.c Modified: head/lib/libkvm/kvm_proc.c ============================================================================== --- head/lib/libkvm/kvm_proc.c Wed Feb 1 17:56:38 2012 (r230872) +++ head/lib/libkvm/kvm_proc.c Wed Feb 1 18:02:13 2012 (r230873) @@ -474,7 +474,7 @@ struct kinfo_proc * kvm_getprocs(kvm_t *kd, int op, int arg, int *cnt) { int mib[4], st, nprocs; - size_t size; + size_t size, osize; int temp_op; if (kd->procbase != 0) { @@ -524,10 +524,11 @@ kvm_getprocs(kvm_t *kd, int op, int arg, _kvm_realloc(kd, kd->procbase, size); if (kd->procbase == 0) return (0); + osize = size; st = sysctl(mib, temp_op == KERN_PROC_ALL || temp_op == KERN_PROC_PROC ? 3 : 4, kd->procbase, &size, NULL, 0); - } while (st == -1 && errno == ENOMEM); + } while (st == -1 && errno == ENOMEM && size == osize); if (st == -1) { _kvm_syserr(kd, kd->program, "kvm_getprocs"); return (0); From owner-svn-src-head@FreeBSD.ORG Wed Feb 1 18:03:22 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 61004106566B; Wed, 1 Feb 2012 18:03:22 +0000 (UTC) (envelope-from trociny@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5004E8FC13; Wed, 1 Feb 2012 18:03:22 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q11I3M43098368; Wed, 1 Feb 2012 18:03:22 GMT (envelope-from trociny@svn.freebsd.org) Received: (from trociny@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q11I3MDf098366; Wed, 1 Feb 2012 18:03:22 GMT (envelope-from trociny@svn.freebsd.org) Message-Id: <201202011803.q11I3MDf098366@svn.freebsd.org> From: Mikolaj Golub Date: Wed, 1 Feb 2012 18:03:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230874 - head/usr.bin/sockstat X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Feb 2012 18:03:22 -0000 Author: trociny Date: Wed Feb 1 18:03:21 2012 New Revision: 230874 URL: http://svn.freebsd.org/changeset/base/230874 Log: Try to avoid ambiguity when sysctl returns ENOMEM additionally checking the returned oldlen: when ENOMEM is due to the supplied buffer being too short the return oldlen is equal to buffer size. Without this additional check sockstat gets stuck in loop leaking the memory if the returned ENOMEM was due the exceeded memorylocked limit. This is easily can be observed running `limits -l 1k sockstat'. Submitted by: Andrey Zonov MFC after: 1 week Modified: head/usr.bin/sockstat/sockstat.c Modified: head/usr.bin/sockstat/sockstat.c ============================================================================== --- head/usr.bin/sockstat/sockstat.c Wed Feb 1 18:02:13 2012 (r230873) +++ head/usr.bin/sockstat/sockstat.c Wed Feb 1 18:03:21 2012 (r230874) @@ -296,7 +296,7 @@ gather_inet(int proto) break; if (errno == ENOENT) goto out; - if (errno != ENOMEM) + if (errno != ENOMEM || len != bufsize) err(1, "sysctlbyname()"); bufsize *= 2; } @@ -424,7 +424,7 @@ gather_unix(int proto) len = bufsize; if (sysctlbyname(varname, buf, &len, NULL, 0) == 0) break; - if (errno != ENOMEM) + if (errno != ENOMEM || len != bufsize) err(1, "sysctlbyname()"); bufsize *= 2; } @@ -476,14 +476,15 @@ out: static void getfiles(void) { - size_t len; + size_t len, olen; - if ((xfiles = malloc(len = sizeof *xfiles)) == NULL) + olen = len = sizeof *xfiles; + if ((xfiles = malloc(len)) == NULL) err(1, "malloc()"); while (sysctlbyname("kern.file", xfiles, &len, 0, 0) == -1) { - if (errno != ENOMEM) + if (errno != ENOMEM || len != olen) err(1, "sysctlbyname()"); - len *= 2; + olen = len *= 2; if ((xfiles = realloc(xfiles, len)) == NULL) err(1, "realloc()"); } From owner-svn-src-head@FreeBSD.ORG Wed Feb 1 19:46:12 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C28A9106564A; Wed, 1 Feb 2012 19:46:12 +0000 (UTC) (envelope-from davide@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9658D8FC0A; Wed, 1 Feb 2012 19:46:12 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q11JkCXU001721; Wed, 1 Feb 2012 19:46:12 GMT (envelope-from davide@svn.freebsd.org) Received: (from davide@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q11JkCEI001718; Wed, 1 Feb 2012 19:46:12 GMT (envelope-from davide@svn.freebsd.org) Message-Id: <201202011946.q11JkCEI001718@svn.freebsd.org> From: Davide Italiano Date: Wed, 1 Feb 2012 19:46:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230876 - in head: share/misc usr.bin/calendar/calendars X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Feb 2012 19:46:12 -0000 Author: davide Date: Wed Feb 1 19:46:12 2012 New Revision: 230876 URL: http://svn.freebsd.org/changeset/base/230876 Log: Add myself to the relevant docs. Approved by: alc, gnn (mentors) Modified: head/share/misc/committers-src.dot head/usr.bin/calendar/calendars/calendar.freebsd Modified: head/share/misc/committers-src.dot ============================================================================== --- head/share/misc/committers-src.dot Wed Feb 1 18:05:54 2012 (r230875) +++ head/share/misc/committers-src.dot Wed Feb 1 19:46:12 2012 (r230876) @@ -118,6 +118,7 @@ cokane [label="Coleman Kane\ncokane@Free cperciva [label="Colin Percival\ncperciva@FreeBSD.org\n2004/01/20"] csjp [label="Christian S.J. Peron\ncsjp@FreeBSD.org\n2004/05/04"] das [label="David Schultz\ndas@FreeBSD.org\n2003/02/21"] +davide [label="Davide Italiano\ndavide@FreeBSD.org\n2012/01/27"] davidxu [label="David Xu\ndavidxu@FreeBSD.org\n2002/09/02"] dchagin [label="Dmitry Chagin\ndchagin@FreeBSD.org\n2009/02/28"] delphij [label="Xin Li\ndelphij@FreeBSD.org\n2004/09/14"] @@ -284,6 +285,8 @@ adrian -> rmh ae -> melifaro +alc -> davide + andre -> qingli anholt -> jkim @@ -376,6 +379,7 @@ gnn -> ivoras gnn -> vanhu gnn -> lstewart gnn -> np +gnn -> davide grog -> edwin grog -> le Modified: head/usr.bin/calendar/calendars/calendar.freebsd ============================================================================== --- head/usr.bin/calendar/calendars/calendar.freebsd Wed Feb 1 18:05:54 2012 (r230875) +++ head/usr.bin/calendar/calendars/calendar.freebsd Wed Feb 1 19:46:12 2012 (r230876) @@ -217,6 +217,7 @@ 07/11 Jesus R. Camou born in Hermosillo, Sonora, Mexico, 1983 07/15 Gary Jennejohn born in Rochester, New York, United States, 1950 07/16 Suleiman Souhlal born in Roma, Italy, 1983 +07/16 Davide Italiano born in Milazzo, Italy, 1989 07/17 Michael Chin-Yuan Wu born in Taipei, Taiwan, Republic of China, 1980 07/19 Masafumi NAKANE born in Okazaki, Aichi, Japan, 1972 07/19 Simon L. Nielsen born in Copenhagen, Denmark, 1980 From owner-svn-src-head@FreeBSD.ORG Wed Feb 1 20:12:44 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DD0F71065676; Wed, 1 Feb 2012 20:12:44 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id CC2398FC12; Wed, 1 Feb 2012 20:12:44 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q11KCii2002626; Wed, 1 Feb 2012 20:12:44 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q11KCiYi002624; Wed, 1 Feb 2012 20:12:44 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201202012012.q11KCiYi002624@svn.freebsd.org> From: Alexander Motin Date: Wed, 1 Feb 2012 20:12:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230877 - head/sys/vm X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Feb 2012 20:12:45 -0000 Author: mav Date: Wed Feb 1 20:12:44 2012 New Revision: 230877 URL: http://svn.freebsd.org/changeset/base/230877 Log: Fix NULL dereference panic on attempt to turn off (on system shutdown) disconnected swap device. This is quick and imperfect solution, as swap device will still be opened and GEOM will not be able to destroy it. Proper solution would be to automatically turn off and close disconnected swap device, but with existing code it will cause panic if there is at least one page on device, even if it is unimportant page of the user-level process. It needs some work. Reviewed by: kib@ MFC after: 1 week Modified: head/sys/vm/swap_pager.c Modified: head/sys/vm/swap_pager.c ============================================================================== --- head/sys/vm/swap_pager.c Wed Feb 1 19:46:12 2012 (r230876) +++ head/sys/vm/swap_pager.c Wed Feb 1 20:12:44 2012 (r230877) @@ -2521,7 +2521,7 @@ swapgeom_orphan(struct g_consumer *cp) mtx_lock(&sw_dev_mtx); TAILQ_FOREACH(sp, &swtailq, sw_list) if (sp->sw_id == cp) - sp->sw_id = NULL; + sp->sw_flags |= SW_CLOSING; mtx_unlock(&sw_dev_mtx); } From owner-svn-src-head@FreeBSD.ORG Wed Feb 1 20:18:57 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9FBFF106566C; Wed, 1 Feb 2012 20:18:57 +0000 (UTC) (envelope-from ken@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8EFAD8FC14; Wed, 1 Feb 2012 20:18:57 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q11KIvrL002895; Wed, 1 Feb 2012 20:18:57 GMT (envelope-from ken@svn.freebsd.org) Received: (from ken@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q11KIvae002893; Wed, 1 Feb 2012 20:18:57 GMT (envelope-from ken@svn.freebsd.org) Message-Id: <201202012018.q11KIvae002893@svn.freebsd.org> From: "Kenneth D. Merry" Date: Wed, 1 Feb 2012 20:18:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230878 - head/sys/conf X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Feb 2012 20:18:57 -0000 Author: ken Date: Wed Feb 1 20:18:57 2012 New Revision: 230878 URL: http://svn.freebsd.org/changeset/base/230878 Log: Add the netback driver to the build. MFC after: 3 days Modified: head/sys/conf/files Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Wed Feb 1 20:12:44 2012 (r230877) +++ head/sys/conf/files Wed Feb 1 20:18:57 2012 (r230878) @@ -3532,6 +3532,7 @@ dev/xen/blkback/blkback.c optional xen | dev/xen/console/console.c optional xen dev/xen/console/xencons_ring.c optional xen dev/xen/control/control.c optional xen | xenhvm +dev/xen/netback/netback.c optional xen | xenhvm dev/xen/netfront/netfront.c optional xen | xenhvm dev/xen/xenpci/xenpci.c optional xenpci dev/xen/xenpci/evtchn.c optional xenpci From owner-svn-src-head@FreeBSD.ORG Wed Feb 1 20:19:34 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4C45D1065676; Wed, 1 Feb 2012 20:19:34 +0000 (UTC) (envelope-from ken@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3B3D58FC1A; Wed, 1 Feb 2012 20:19:34 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q11KJYpB002951; Wed, 1 Feb 2012 20:19:34 GMT (envelope-from ken@svn.freebsd.org) Received: (from ken@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q11KJYPl002949; Wed, 1 Feb 2012 20:19:34 GMT (envelope-from ken@svn.freebsd.org) Message-Id: <201202012019.q11KJYPl002949@svn.freebsd.org> From: "Kenneth D. Merry" Date: Wed, 1 Feb 2012 20:19:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230879 - head/sys/xen/interface/io X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Feb 2012 20:19:34 -0000 Author: ken Date: Wed Feb 1 20:19:33 2012 New Revision: 230879 URL: http://svn.freebsd.org/changeset/base/230879 Log: Add the GSO prefix descriptor define. MFC after: 3 days Modified: head/sys/xen/interface/io/netif.h Modified: head/sys/xen/interface/io/netif.h ============================================================================== --- head/sys/xen/interface/io/netif.h Wed Feb 1 20:18:57 2012 (r230878) +++ head/sys/xen/interface/io/netif.h Wed Feb 1 20:19:33 2012 (r230879) @@ -173,6 +173,10 @@ typedef struct netif_rx_request netif_rx #define _NETRXF_extra_info (3) #define NETRXF_extra_info (1U<<_NETRXF_extra_info) +/* GSO Prefix descriptor. */ +#define _NETRXF_gso_prefix (4) +#define NETRXF_gso_prefix (1U<<_NETRXF_gso_prefix) + struct netif_rx_response { uint16_t id; uint16_t offset; /* Offset in page of start of received packet */ From owner-svn-src-head@FreeBSD.ORG Wed Feb 1 20:32:02 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx2.freebsd.org (mx2.freebsd.org [IPv6:2001:4f8:fff6::35]) by hub.freebsd.org (Postfix) with ESMTP id 2B5B6106566C; Wed, 1 Feb 2012 20:32:02 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from 172-17-150-251.globalsuite.net (hub.freebsd.org [IPv6:2001:4f8:fff6::36]) by mx2.freebsd.org (Postfix) with ESMTP id 901B914EE02; Wed, 1 Feb 2012 20:32:00 +0000 (UTC) Message-ID: <4F29A13F.20403@FreeBSD.org> Date: Wed, 01 Feb 2012 12:31:59 -0800 From: Doug Barton Organization: http://SupersetSolutions.com/ User-Agent: Mozilla/5.0 (X11; FreeBSD i386; rv:10.0) Gecko/20120201 Thunderbird/10.0 MIME-Version: 1.0 To: Guy Helmer References: <201202011641.q11Gf0j6095461@svn.freebsd.org> In-Reply-To: <201202011641.q11Gf0j6095461@svn.freebsd.org> X-Enigmail-Version: 1.3.5 OpenPGP: id=1A1ABC84 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r230869 - head/usr.sbin/daemon X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Feb 2012 20:32:02 -0000 Thanks! Sorry I didn't get a chance to reply to your last message, totally buried lately. Doug On 02/01/2012 08:41, Guy Helmer wrote: > Author: ghelmer > Date: Wed Feb 1 16:40:59 2012 > New Revision: 230869 > URL: http://svn.freebsd.org/changeset/base/230869 > > Log: > Change the notes about the pidfile to include Doug's preference > for pre-creating the pidfile with appropriate owner and permissions. > > Requested by dougb > > Modified: > head/usr.sbin/daemon/daemon.8 > > Modified: head/usr.sbin/daemon/daemon.8 > ============================================================================== > --- head/usr.sbin/daemon/daemon.8 Wed Feb 1 15:57:49 2012 (r230868) > +++ head/usr.sbin/daemon/daemon.8 Wed Feb 1 16:40:59 2012 (r230869) > @@ -61,8 +61,9 @@ using the > functionality. > If the > .Fl u > -option is used, the directory to contain the pidfile must be writable > -by the specified user. > +option is used, either the pidfile needs to have been pre-created > +with appropriate ownership and permissions, or the directory to contain > +the pidfile must be writable by the specified user. > Note, that the file will be created shortly before the process is > actually executed, and will remain after the process exits (although > it will be removed if the execution fails). > -- It's always a long day; 86400 doesn't fit into a short. Breadth of IT experience, and depth of knowledge in the DNS. Yours for the right price. :) http://SupersetSolutions.com/ From owner-svn-src-head@FreeBSD.ORG Wed Feb 1 21:38:01 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E51151065676; Wed, 1 Feb 2012 21:38:01 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D14FE8FC0C; Wed, 1 Feb 2012 21:38:01 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q11Lc1la006499; Wed, 1 Feb 2012 21:38:01 GMT (envelope-from pfg@svn.freebsd.org) Received: (from pfg@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q11Lc1c4006495; Wed, 1 Feb 2012 21:38:01 GMT (envelope-from pfg@svn.freebsd.org) Message-Id: <201202012138.q11Lc1c4006495@svn.freebsd.org> From: "Pedro F. Giffuni" Date: Wed, 1 Feb 2012 21:38:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230897 - in head/sys: conf dev/sound/pci gnu/dev X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Feb 2012 21:38:02 -0000 Author: pfg Date: Wed Feb 1 21:38:01 2012 New Revision: 230897 URL: http://svn.freebsd.org/changeset/base/230897 Log: Use new OSS-based BSD-licensed header for cs sound driver. The cs driver requires a table with firmware values. An alternative firmware is available in a similar Open Sound System driver. This is actually a partial revert of Revision 77504. Special thanks to joel@ for patiently testing several replacement attempts. The csa driver and the complete sound system are now free of the GPL. Tested by: joel Approved by: jhb (mentor) MFC after: 3 weeks Added: head/sys/dev/sound/pci/cs461x_dsp.h (contents, props changed) Deleted: head/sys/gnu/dev/ Modified: head/sys/conf/files head/sys/dev/sound/pci/csa.c head/sys/dev/sound/pci/csareg.h Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Wed Feb 1 21:31:46 2012 (r230896) +++ head/sys/conf/files Wed Feb 1 21:38:01 2012 (r230897) @@ -1732,8 +1732,7 @@ dev/sound/pci/als4000.c optional snd_al dev/sound/pci/atiixp.c optional snd_atiixp pci dev/sound/pci/cmi.c optional snd_cmi pci dev/sound/pci/cs4281.c optional snd_cs4281 pci -dev/sound/pci/csa.c optional snd_csa pci \ - warning "kernel contains GPL contaminated csaimg.h header" +dev/sound/pci/csa.c optional snd_csa pci dev/sound/pci/csapcm.c optional snd_csa pci dev/sound/pci/ds1.c optional snd_ds1 pci dev/sound/pci/emu10k1.c optional snd_emu10k1 pci Added: head/sys/dev/sound/pci/cs461x_dsp.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/dev/sound/pci/cs461x_dsp.h Wed Feb 1 21:38:01 2012 (r230897) @@ -0,0 +1,3497 @@ +/* $FreeBSD$ */ +/*- + * Copyright (C) 1996-2008, 4Front Technologies + * 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, WHETHERIN 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. + * + */ +/* + * This file is based on cs461x_dsp.h from the Open Sound System. + * Purpose: Firmware for cs461x/cs461x cards. + */ + +#ifndef _DEV_SOUND_PCI_CS461X_DSP_H +#define _DEV_SOUND_PCI_CS461X_DSP_H + +struct cs461x_firmware_struct cs461x_firmware = { + {{0x00000000, 0x00003000}, {0x00010000, 0x00003800}, + {0x00020000, 0x00007000}}, + {0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000163, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00200040, 0x00008010, 0x00000000, + 0x00000000, 0x80000001, 0x00000001, 0x00060000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00900080, 0x00000173, 0x00000000, + 0x00000000, 0x00000010, 0x00800000, 0x00900000, + 0xf2c0000f, 0x00000200, 0x00000000, 0x00010600, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000163, 0x330300c2, + 0x06000000, 0x00000000, 0x80008000, 0x80008000, + 0x3fc0000f, 0x00000301, 0x00010400, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00b00000, 0x00d0806d, 0x330480c3, + 0x04800000, 0x00000001, 0x00800001, 0x0000ffff, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x066a0130, 0x06350070, 0x0000929d, 0x929d929d, + 0x00000000, 0x0000735a, 0x00000600, 0x00000000, + 0x929d735a, 0x00000000, 0x00010000, 0x735a735a, + 0xa431ac75, 0xa431ac75, 0xa431ac75, 0xa431ac75, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x000000f0, 0x0000804f, 0x000000c3, + 0x05000000, 0x00a00010, 0x00000000, 0x80008000, + 0x00000000, 0x00000000, 0x00000700, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000080, 0x00a00000, 0x0000809a, 0x000000c2, + 0x07400000, 0x00000000, 0x80008000, 0xffffffff, + 0x00c80028, 0x00005555, 0x00000000, 0x000107a0, + 0x00c80028, 0x000000c2, 0x06800000, 0x00000000, + 0x06e00080, 0x00300000, 0x000080bb, 0x000000c9, + 0x07a00000, 0x04000000, 0x80008000, 0xffffffff, + 0x00c80028, 0x00005555, 0x00000000, 0x00000780, + 0x00c80028, 0x000000c5, 0xff800000, 0x00000000, + 0x00640080, 0x00c00000, 0x00008197, 0x000000c9, + 0x07800000, 0x04000000, 0x80008000, 0xffffffff, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x0000805e, 0x000000c1, + 0x00000000, 0x00800000, 0x80008000, 0x80008000, + 0x00020000, 0x0000ffff, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x07c00000, 0x00900000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x0000018e, 0x000000c2, + 0x07c00000, 0x00000000, 0x80008000, 0xffffffff, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00e00100, 0x00000173, 0x00000000, + 0x00000000, 0x00400010, 0x00800000, 0x00e00000, + 0x00000000, 0x00000000, 0x08400000, 0x00900000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x01100000, 0x0000018e, 0x000000c2, + 0x08400000, 0x00000000, 0x80008000, 0xffffffff, + 0x007fff80, 0x00280058, 0x01300000, 0x00000000, + 0x00000000, 0x2aab0000, 0x00000000, 0x00000000, + 0x00000000, 0x01200000, 0x0000026c, 0x000000c2, + 0x08c00000, 0x18000000, 0x80008000, 0x80008000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x0000805e, 0x000000c1, + 0x00000000, 0x01000000, 0x80008000, 0x80008000, + 0x00000000, 0x00000110, 0x00000000, 0x00000000, + 0x00000000, 0x00000082, 0x09000000, 0x00000000, + 0x00000000, 0x00000600, 0x013d0233, 0x20ff0040, + 0x00000000, 0x0000804c, 0x000101d8, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x929d0600, 0x929d929d, 0x929d929d, 0x929d0000, + 0x929d929d, 0x929d929d, 0x929d929d, 0x929d929d, + 0x929d929d, 0x00100635, 0x060b013f, 0x00000004, + 0x00000001, 0x007a0002, 0x00000000, 0x066e0610, + 0x0105929d, 0x929d929d, 0x929d929d, 0x929d929d, + 0x929d929d, 0xa431ac75, 0x0001735a, 0xa431ac75, + 0xa431ac75, 0xa431ac75, 0xa431ac75, 0xa431ac75, + 0xa431ac75, 0xa431ac75, 0xa431ac75, 0xa431ac75, + 0xa431ac75, 0xa431ac75, 0xa431ac75, 0xa431ac75, + 0xa431ac75, 0xa431ac75, 0xa431ac75, 0xa431ac75, + 0xa431ac75, 0xa431ac75, 0xa431ac75, 0xa431ac75, + 0xa431ac75, 0xa431ac75, 0xa431ac75, 0xa431ac75, + 0xa431ac75, 0xa431ac75, 0xa431ac75, 0x735a0051, + 0x00000000, 0x929d929d, 0x929d929d, 0x929d929d, + 0x929d929d, 0x929d929d, 0x929d929d, 0x929d929d, + 0x929d929d, 0x929d929d, 0x00000000, 0x06400136, + 0x0000270f, 0x00010000, 0x007a0000, 0x00000000, + 0x068e0645, 0x0105929d, 0x929d929d, 0x929d929d, + 0x929d929d, 0x929d929d, 0xa431ac75, 0x0001735a, + 0xa431ac75, 0xa431ac75, 0xa431ac75, 0xa431ac75, + 0xa431ac75, 0xa431ac75, 0xa431ac75, 0xa431ac75, + 0xa431ac75, 0xa431ac75, 0xa431ac75, 0xa431ac75, + 0xa431ac75, 0xa431ac75, 0xa431ac75, 0xa431ac75, + 0xa431ac75, 0xa431ac75, 0xa431ac75, 0xa431ac75, + 0xa431ac75, 0xa431ac75, 0xa431ac75, 0xa431ac75, + 0xa431ac75, 0xa431ac75, 0xa431ac75, 0xa431ac75, + 0x735a0100, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@FreeBSD.ORG Thu Feb 2 00:10:21 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8F4C1106566C; Thu, 2 Feb 2012 00:10:21 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7DBDC8FC13; Thu, 2 Feb 2012 00:10:21 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q120AL2N011222; Thu, 2 Feb 2012 00:10:21 GMT (envelope-from pfg@svn.freebsd.org) Received: (from pfg@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q120ALq9011218; Thu, 2 Feb 2012 00:10:21 GMT (envelope-from pfg@svn.freebsd.org) Message-Id: <201202020010.q120ALq9011218@svn.freebsd.org> From: "Pedro F. Giffuni" Date: Thu, 2 Feb 2012 00:10:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230898 - in head/sys/modules/sound/driver: emu10k1 emu10kx maestro3 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Feb 2012 00:10:21 -0000 Author: pfg Date: Thu Feb 2 00:10:20 2012 New Revision: 230898 URL: http://svn.freebsd.org/changeset/base/230898 Log: Cleanup some sound headers that don't need to be in the modules makefiles. Approved by: jhb (mentor) MFC after: 1 week Modified: head/sys/modules/sound/driver/emu10k1/Makefile head/sys/modules/sound/driver/emu10kx/Makefile head/sys/modules/sound/driver/maestro3/Makefile Modified: head/sys/modules/sound/driver/emu10k1/Makefile ============================================================================== --- head/sys/modules/sound/driver/emu10k1/Makefile Wed Feb 1 21:38:01 2012 (r230897) +++ head/sys/modules/sound/driver/emu10k1/Makefile Thu Feb 2 00:10:20 2012 (r230898) @@ -4,7 +4,7 @@ ${.CURDIR}/../../../../gnu/dev/sound/pci KMOD= snd_emu10k1 -SRCS= device_if.h bus_if.h emuxkireg.h pci_if.h +SRCS= device_if.h bus_if.h pci_if.h SRCS+= mpufoi_if.h SRCS+= emu10k1.c Modified: head/sys/modules/sound/driver/emu10kx/Makefile ============================================================================== --- head/sys/modules/sound/driver/emu10kx/Makefile Wed Feb 1 21:38:01 2012 (r230897) +++ head/sys/modules/sound/driver/emu10kx/Makefile Thu Feb 2 00:10:20 2012 (r230898) @@ -11,6 +11,5 @@ SRCS+= vnode_if.h SRCS+= emu10kx.c SRCS+= emu10kx-pcm.c SRCS+= emu10kx-midi.c -SRCS+= emuxkireg.h .include Modified: head/sys/modules/sound/driver/maestro3/Makefile ============================================================================== --- head/sys/modules/sound/driver/maestro3/Makefile Wed Feb 1 21:38:01 2012 (r230897) +++ head/sys/modules/sound/driver/maestro3/Makefile Thu Feb 2 00:10:20 2012 (r230898) @@ -4,7 +4,6 @@ KMOD= snd_maestro3 SRCS= device_if.h bus_if.h pci_if.h -SRCS+= allegro_code.h allegro_reg.h SRCS+= maestro3.c CFLAGS+= -Wall -DM3_DEBUG_LEVEL=-1 From owner-svn-src-head@FreeBSD.ORG Thu Feb 2 02:29:17 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E11A3106564A; Thu, 2 Feb 2012 02:29:17 +0000 (UTC) (envelope-from bzeeb-lists@lists.zabbadoz.net) Received: from mx1.sbone.de (mx1.sbone.de [IPv6:2a01:4f8:130:3ffc::401:25]) by mx1.freebsd.org (Postfix) with ESMTP id 9EE038FC0A; Thu, 2 Feb 2012 02:29:14 +0000 (UTC) Received: from mail.sbone.de (mail.sbone.de [IPv6:fde9:577b:c1a9:31::2013:587]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mx1.sbone.de (Postfix) with ESMTPS id 3BEE125D385E; Thu, 2 Feb 2012 02:29:12 +0000 (UTC) Received: from content-filter.sbone.de (content-filter.sbone.de [IPv6:fde9:577b:c1a9:31::2013:2742]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPS id 38955BDA74F; Thu, 2 Feb 2012 02:29:11 +0000 (UTC) X-Virus-Scanned: amavisd-new at sbone.de Received: from mail.sbone.de ([IPv6:fde9:577b:c1a9:31::2013:587]) by content-filter.sbone.de (content-filter.sbone.de [fde9:577b:c1a9:31::2013:2742]) (amavisd-new, port 10024) with ESMTP id Y5twILoOIK1q; Thu, 2 Feb 2012 02:29:09 +0000 (UTC) Received: from orange-en1.sbone.de (orange-en1.sbone.de [IPv6:fde9:577b:c1a9:31:cabc:c8ff:fecf:e8e3]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPSA id B2B7ABDA769; Thu, 2 Feb 2012 02:29:09 +0000 (UTC) Mime-Version: 1.0 (Apple Message framework v1084) Content-Type: multipart/mixed; boundary=Apple-Mail-22--197285964 From: "Bjoern A. Zeeb" In-Reply-To: <201201231617.q0NGHtPq033979@svn.freebsd.org> Date: Thu, 2 Feb 2012 02:29:08 +0000 Message-Id: <1D21A08C-C878-473B-B47B-985559F454CC@lists.zabbadoz.net> References: <201201231617.q0NGHtPq033979@svn.freebsd.org> To: Nathan Whitehorn X-Mailer: Apple Mail (2.1084) X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r230484 - head/release X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Feb 2012 02:29:18 -0000 --Apple-Mail-22--197285964 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii On 23. Jan 2012, at 16:17 , Nathan Whitehorn wrote: > Author: nwhitehorn > Date: Mon Jan 23 16:17:54 2012 > New Revision: 230484 > URL: http://svn.freebsd.org/changeset/base/230484 >=20 > Log: > Part of r230482 didn't actually work. Revert it for now. This means = PR > 161047 isn't actually fixed. >=20 It also seems that this currently leaves the VTY0 in tail saying: "Starting local daemons:" ^T says tail, ^C and ^Z obviously don't work and the boot seems to hang unless you get what's going on. Took me a couple minutes:( We really need a big message there... saying "please go to vtyX" at = least. See also attached screenshot. > PR: bin/161047 >=20 > Modified: > head/release/rc.local >=20 > Modified: head/release/rc.local > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=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/release/rc.local Mon Jan 23 15:50:16 2012 = (r230483) > +++ head/release/rc.local Mon Jan 23 16:17:54 2012 = (r230484) > @@ -14,14 +14,12 @@ if [ $? -eq 0 ]; then > TERM=3Dxterm >=20 > if [ -z "$EXTERNAL_VTY_STARTED" ]; then > - vidcontrol -s 2 # Switch to a VTY with no kernel = messages > # Init will clean these processes up if/when the system > # goes multiuser > touch /tmp/bsdinstall_log > tail -f /tmp/bsdinstall_log > /dev/ttyv2 & > /usr/libexec/getty autologin ttyv3 > EXTERNAL_VTY_STARTED=3D1 > - trap "vidcontrol -s 1" EXIT > fi > else > # Serial or other console --=20 Bjoern A. Zeeb You have to have visions! It does not matter how good you are. It matters what good you do! --Apple-Mail-22--197285964-- From owner-svn-src-head@FreeBSD.ORG Thu Feb 2 03:56:08 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7A93C106566B; Thu, 2 Feb 2012 03:56:08 +0000 (UTC) (envelope-from bzeeb-lists@lists.zabbadoz.net) Received: from mx1.sbone.de (mx1.sbone.de [IPv6:2a01:4f8:130:3ffc::401:25]) by mx1.freebsd.org (Postfix) with ESMTP id 081C28FC14; Thu, 2 Feb 2012 03:56:08 +0000 (UTC) Received: from mail.sbone.de (mail.sbone.de [IPv6:fde9:577b:c1a9:31::2013:587]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mx1.sbone.de (Postfix) with ESMTPS id 0A09425D385E; Thu, 2 Feb 2012 03:56:06 +0000 (UTC) Received: from content-filter.sbone.de (content-filter.sbone.de [IPv6:fde9:577b:c1a9:31::2013:2742]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPS id 0BA3ABDA77A; Thu, 2 Feb 2012 03:56:06 +0000 (UTC) X-Virus-Scanned: amavisd-new at sbone.de Received: from mail.sbone.de ([IPv6:fde9:577b:c1a9:31::2013:587]) by content-filter.sbone.de (content-filter.sbone.de [fde9:577b:c1a9:31::2013:2742]) (amavisd-new, port 10024) with ESMTP id q0zmqVpkcAdL; Thu, 2 Feb 2012 03:56:04 +0000 (UTC) Received: from orange-en1.sbone.de (orange-en1.sbone.de [IPv6:fde9:577b:c1a9:31:cabc:c8ff:fecf:e8e3]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPSA id 7B4E6BDA779; Thu, 2 Feb 2012 03:56:04 +0000 (UTC) Mime-Version: 1.0 (Apple Message framework v1084) Content-Type: text/plain; charset=us-ascii From: "Bjoern A. Zeeb" In-Reply-To: <201202012018.q11KIvae002893@svn.freebsd.org> Date: Thu, 2 Feb 2012 03:56:03 +0000 Content-Transfer-Encoding: quoted-printable Message-Id: <35AAFFDE-9247-4489-B5A5-7F5048AC766E@lists.zabbadoz.net> References: <201202012018.q11KIvae002893@svn.freebsd.org> To: Kenneth D. Merry X-Mailer: Apple Mail (2.1084) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r230878 - head/sys/conf X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Feb 2012 03:56:08 -0000 On 1. Feb 2012, at 20:18 , Kenneth D. Merry wrote: > Author: ken > Date: Wed Feb 1 20:18:57 2012 > New Revision: 230878 > URL: http://svn.freebsd.org/changeset/base/230878 >=20 > Log: > Add the netback driver to the build. I guess only tested on amd64... =3D=3D=3D> i386 XENHVM failed (_.i386.XENHVM): >>> Kernel build for XENHVM started on Thu Feb 2 02:29:12 UTC 2012 /scratch/tmp/bz/head.svn/sys/dev/xen/netback/netback.c: In function = 'xnb_txpkt2gnttab': =3D=3D=3D> i386 XEN failed (_.i386.XEN): >>> Kernel build for XEN started on Thu Feb 2 02:29:11 UTC 2012 /scratch/tmp/bz/head.svn/sys/dev/xen/netback/netback.c: In function = 'xnb_free_communication_mem': /scratch/tmp/bz/head.svn/sys/dev/xen/netback/netback.c:622: error: = 'kernel_map' undeclared (first use in this function) /scratch/tmp/bz/head.svn/sys/dev/xen/netback/netback.c:622: error: (Each = undeclared identifier is reported only once /scratch/tmp/bz/head.svn/sys/dev/xen/netback/netback.c:622: error: for = each function it appears in.) /scratch/tmp/bz/head.svn/sys/dev/xen/netback/netback.c: In function = 'xnb_alloc_communication_mem': /scratch/tmp/bz/head.svn/sys/dev/xen/netback/netback.c:812: error: = 'kernel_map' undeclared (first use in this function) > MFC after: 3 days >=20 > Modified: > head/sys/conf/files >=20 > Modified: head/sys/conf/files > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=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/conf/files Wed Feb 1 20:12:44 2012 = (r230877) > +++ head/sys/conf/files Wed Feb 1 20:18:57 2012 = (r230878) > @@ -3532,6 +3532,7 @@ dev/xen/blkback/blkback.c optional xen | > dev/xen/console/console.c optional xen > dev/xen/console/xencons_ring.c optional xen > dev/xen/control/control.c optional xen | xenhvm > +dev/xen/netback/netback.c optional xen | xenhvm > dev/xen/netfront/netfront.c optional xen | xenhvm > dev/xen/xenpci/xenpci.c optional xenpci > dev/xen/xenpci/evtchn.c optional xenpci --=20 Bjoern A. Zeeb You have to have visions! It does not matter how good you are. It matters what good you do! From owner-svn-src-head@FreeBSD.ORG Thu Feb 2 06:17:41 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5734D106566B; Thu, 2 Feb 2012 06:17:41 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from mail.zoral.com.ua (mx0.zoral.com.ua [91.193.166.200]) by mx1.freebsd.org (Postfix) with ESMTP id A28898FC14; Thu, 2 Feb 2012 06:17:40 +0000 (UTC) Received: from skuns.kiev.zoral.com.ua (localhost [127.0.0.1]) by mail.zoral.com.ua (8.14.2/8.14.2) with ESMTP id q126HZqq037255 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 2 Feb 2012 08:17:35 +0200 (EET) (envelope-from kostikbel@gmail.com) Received: from deviant.kiev.zoral.com.ua (kostik@localhost [127.0.0.1]) by deviant.kiev.zoral.com.ua (8.14.5/8.14.5) with ESMTP id q126HZhU094894; Thu, 2 Feb 2012 08:17:35 +0200 (EET) (envelope-from kostikbel@gmail.com) Received: (from kostik@localhost) by deviant.kiev.zoral.com.ua (8.14.5/8.14.5/Submit) id q126HYUT094893; Thu, 2 Feb 2012 08:17:34 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: deviant.kiev.zoral.com.ua: kostik set sender to kostikbel@gmail.com using -f Date: Thu, 2 Feb 2012 08:17:34 +0200 From: Konstantin Belousov To: Bruce Evans , Gleb Smirnoff , svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Message-ID: <20120202061734.GP3283@deviant.kiev.zoral.com.ua> References: <20120127091244.GZ2726@deviant.kiev.zoral.com.ua> <20120127194221.GA25723@zim.MIT.EDU> <20120128123748.GD2726@deviant.kiev.zoral.com.ua> <20120129001225.GA32220@zim.MIT.EDU> <20120129062327.GK2726@deviant.kiev.zoral.com.ua> <20120129223904.GA37483@zim.MIT.EDU> <20120130063034.GU2726@deviant.kiev.zoral.com.ua> <20120130190703.GA44663@zim.MIT.EDU> <20120131105431.GB3283@deviant.kiev.zoral.com.ua> <20120131174849.GA50386@zim.MIT.EDU> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="X78YbkCBd9ye7Cvs" Content-Disposition: inline In-Reply-To: <20120131174849.GA50386@zim.MIT.EDU> User-Agent: Mutt/1.4.2.3i X-Virus-Scanned: clamav-milter 0.95.2 at skuns.kiev.zoral.com.ua X-Virus-Status: Clean X-Spam-Status: No, score=-3.9 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on skuns.kiev.zoral.com.ua Cc: Subject: Re: svn commit: r230583 - head/sys/kern X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Feb 2012 06:17:41 -0000 --X78YbkCBd9ye7Cvs Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Jan 31, 2012 at 12:48:49PM -0500, David Schultz wrote: > On Tue, Jan 31, 2012, Konstantin Belousov wrote: > > On Mon, Jan 30, 2012 at 02:07:03PM -0500, David Schultz wrote: > > > On Mon, Jan 30, 2012, Kostik Belousov wrote: > > > > On Sun, Jan 29, 2012 at 05:39:04PM -0500, David Schultz wrote: > > > > > On Sun, Jan 29, 2012, Kostik Belousov wrote: > > > > > > On Sat, Jan 28, 2012 at 07:12:25PM -0500, David Schultz wrote: > > > > > > > On Sat, Jan 28, 2012, Kostik Belousov wrote: > > > > > > > > On Fri, Jan 27, 2012 at 02:42:21PM -0500, David Schultz wro= te: > > > > > > > > > The correct limit on the maximum size of a single read/wr= ite is > > > > > > > > > SSIZE_MAX, but FreeBSD uses INT_MAX. It's not safe to ra= ise the > > > > > > > > > limit yet, though, because of bugs in several filesystems= . For > > > > > > > > > example, FFS copies uio_resid into a local variable of ty= pe int. > > > > > > > > > I have some old patches that fix some of these issues for= FFS and > > > > > > > > > cd9660, but surely there are more places I didn't notice. > > > > > > > > >=20 > > > > > > > > Absolutely agree. > > > > > > > >=20 > > > > > > > > http://people.freebsd.org/~kib/misc/uio_resid.5.patch > > > > > > >=20 > > > > > > > Nice. You found a lot more than I've got in my tree, and you= even > > > > > > > fixed the return values. There are at least a few more place= s to > > > > > > > fix. For instance, cd9660 and the NFS client pass uio_resid = or > > > > > > > iov_len to min(), which operates on ints. (Incidentally, C11 > > > > > > > generics ought to make it possible to write type-generic min() > > > > > > > and max() functions.) > > > > > >=20 > > > > > > Thank you, http://people.freebsd.org/~kib/misc/uio_resid.6.patch > > > > > > changed them to MIN(). > > > > >=20 > > > > > This looks good to me. I tried to think of other places that you > > > > > might have missed, and the only one that occurred to me is the > > > > Might ? I think this is a blatant understate. > > > >=20 > > > > > pipe code. sys_pipe.c has an `int orig_resid' and lots of bogus > > > > > casts of iov_len and uio_resid to type u_int. Some look harmless, > > > > > although it appears that writing a multiple of 2^32 bytes might > > > > > result in pipe_build_write_buffer() allocating a 0-length buffer. > > > > >=20 > > > > > My only reservation is that raising the limit could unmask a > > > > > kernel buffer overflow if we missed something, but I guess we have > > > > > to cross that bridge some day anyway. > > > > Yes, and it is an obvious reason why I am chicken to commit this for > > > > so long time. One more place, if this is reasonable to count as 'on= e' > > > > place, are the cdevsw methods. devfs passes uio down to the drivers. > > >=20 > > > That's why I'm glad I'm not committing it. :) A more conservative > > > change (also known as "kicking the can down the road") would be to > > > add a VFS flag, e.g., VFCF_LONGIO, and only set it on file systems > > > that have been thoroughly reviewed. The VFS layer could cap the size > > > at INT_MAX for file systems without the flag. > > At least I will get more mail after the commit, I hope. > >=20 > > I disagree with the VFCF_LONGIO approach. It will cause much head-scrat= ching > > for unsuspecting user who would try to use > 4GB transfers. > >=20 > > What I can do, is to commit all changes except removals of the checks > > for INT_MAX. After type changes settle, I can try to gather enough > > bravery to flip the checks in HEAD, possibly with temporary sysctl > > to return to old behaviour for emergency (AKA hole). >=20 > That sounds like a good plan to me. >=20 > As an aside, I wonder if we could convince the clang folks to add > a warning similar to `lint -a', which complains about every long->int > narrowing conversion that doesn't have an explicit cast. Modern > languages such as Java and C# require casts for narrowing > conversions, and I'd be a lot more confident about this change if > we did the same for the FreeBSD kernel. >=20 > > > > diff --git a/sys/kern/sys_pipe.c b/sys/kern/sys_pipe.c > > > > index 9edcb74..332ec37 100644 > > > > --- a/sys/kern/sys_pipe.c > > > > +++ b/sys/kern/sys_pipe.c > > > [...] > > > > @@ -757,14 +757,14 @@ pipe_build_write_buffer(wpipe, uio) > > > > struct pipe *wpipe; > > > > struct uio *uio; > > > > { > > > > - u_int size; > > > > + size_t size; > > > > int i; > > > > =20 > > > > PIPE_LOCK_ASSERT(wpipe, MA_NOTOWNED); > > > > KASSERT(wpipe->pipe_state & PIPE_DIRECTW, > > > > ("Clone attempt on non-direct write pipe!")); > > > > =20 > > > > - size =3D (u_int) uio->uio_iov->iov_len; > > > > + size =3D uio->uio_iov->iov_len; > > > > if (size > wpipe->pipe_buffer.size) > > > > size =3D wpipe->pipe_buffer.size; > > >=20 > > > The transfer can't be bigger than the max pipe buffer size (64k), > > > so `size =3D (int)MIN(uio->uio_iov->iov_len, wpipe->pipe_buffer.size)' > > > should suffice. The same comment applies elsewhere in the file. > >=20 > > True. If you much prefer this version, I will change the patch. But I do > > think that my changes are cleaner. >=20 > I don't mind either way. I haven't touched anything remotely > close to that code in years. I did the changes along the way suggested by Bruce. Also, I put the patch under the real test for UFS and new NFS client, reading/writing files of sizes multiple of INT_MAX in single transaction. This indeed revealed two more issues, one in ktrace, and second in uiomove(). The later resulted in quite spectacular kernel stack corruption, because uio_iovcnt become underflowed and iovec was iterated past end. The updated patch disables SSIZE_MAX i/o by default, and includes sysctl knob debug.iosize_max_clamp, which removes the clamp if set to zero. I consider this patch as a commit candidate. http://people.freebsd.org/~kib/misc/uio_resid.9.patch --X78YbkCBd9ye7Cvs Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (FreeBSD) iEYEARECAAYFAk8qKn0ACgkQC3+MBN1Mb4g65ACgsLLHOMAckJciVwiRT5K4u+2H 4yEAn3JoSuIHG8d6edIxVMAevmh+MFJz =lqxH -----END PGP SIGNATURE----- --X78YbkCBd9ye7Cvs-- From owner-svn-src-head@FreeBSD.ORG Thu Feb 2 07:38:40 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D1331106566B; Thu, 2 Feb 2012 07:38:40 +0000 (UTC) (envelope-from ken@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id BB7998FC08; Thu, 2 Feb 2012 07:38:40 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q127ceG4025361; Thu, 2 Feb 2012 07:38:40 GMT (envelope-from ken@svn.freebsd.org) Received: (from ken@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q127ceIo025359; Thu, 2 Feb 2012 07:38:40 GMT (envelope-from ken@svn.freebsd.org) Message-Id: <201202020738.q127ceIo025359@svn.freebsd.org> From: "Kenneth D. Merry" Date: Thu, 2 Feb 2012 07:38:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230902 - head/sys/conf X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Feb 2012 07:38:40 -0000 Author: ken Date: Thu Feb 2 07:38:40 2012 New Revision: 230902 URL: http://svn.freebsd.org/changeset/base/230902 Log: Unbreak the i386 full PV (XEN kernel) build by reverting rev 230878 and taking the netback driver out of the build temporarily. Modified: head/sys/conf/files Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Thu Feb 2 06:39:33 2012 (r230901) +++ head/sys/conf/files Thu Feb 2 07:38:40 2012 (r230902) @@ -3531,7 +3531,6 @@ dev/xen/blkback/blkback.c optional xen | dev/xen/console/console.c optional xen dev/xen/console/xencons_ring.c optional xen dev/xen/control/control.c optional xen | xenhvm -dev/xen/netback/netback.c optional xen | xenhvm dev/xen/netfront/netfront.c optional xen | xenhvm dev/xen/xenpci/xenpci.c optional xenpci dev/xen/xenpci/evtchn.c optional xenpci From owner-svn-src-head@FreeBSD.ORG Thu Feb 2 07:41:51 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 659E4106574A; Thu, 2 Feb 2012 07:41:51 +0000 (UTC) (envelope-from ken@kdm.org) Received: from nargothrond.kdm.org (nargothrond.kdm.org [70.56.43.81]) by mx1.freebsd.org (Postfix) with ESMTP id 266768FC1C; Thu, 2 Feb 2012 07:41:50 +0000 (UTC) Received: from nargothrond.kdm.org (localhost [127.0.0.1]) by nargothrond.kdm.org (8.14.2/8.14.2) with ESMTP id q127fowu088752; Thu, 2 Feb 2012 00:41:50 -0700 (MST) (envelope-from ken@nargothrond.kdm.org) Received: (from ken@localhost) by nargothrond.kdm.org (8.14.2/8.14.2/Submit) id q127fnO3088749; Thu, 2 Feb 2012 00:41:49 -0700 (MST) (envelope-from ken) Date: Thu, 2 Feb 2012 00:41:49 -0700 From: "Kenneth D. Merry" To: "Bjoern A. Zeeb" Message-ID: <20120202074149.GA87780@nargothrond.kdm.org> References: <201202012018.q11KIvae002893@svn.freebsd.org> <35AAFFDE-9247-4489-B5A5-7F5048AC766E@lists.zabbadoz.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <35AAFFDE-9247-4489-B5A5-7F5048AC766E@lists.zabbadoz.net> User-Agent: Mutt/1.4.2i Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r230878 - head/sys/conf X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Feb 2012 07:41:51 -0000 On Thu, Feb 02, 2012 at 03:56:03 +0000, Bjoern A. Zeeb wrote: > On 1. Feb 2012, at 20:18 , Kenneth D. Merry wrote: > > > Author: ken > > Date: Wed Feb 1 20:18:57 2012 > > New Revision: 230878 > > URL: http://svn.freebsd.org/changeset/base/230878 > > > > Log: > > Add the netback driver to the build. > > I guess only tested on amd64... > > ===> i386 XENHVM failed (_.i386.XENHVM): > >>> Kernel build for XENHVM started on Thu Feb 2 02:29:12 UTC 2012 > /scratch/tmp/bz/head.svn/sys/dev/xen/netback/netback.c: In function 'xnb_txpkt2gnttab': > > ===> i386 XEN failed (_.i386.XEN): > >>> Kernel build for XEN started on Thu Feb 2 02:29:11 UTC 2012 > > /scratch/tmp/bz/head.svn/sys/dev/xen/netback/netback.c: In function 'xnb_free_communication_mem': > /scratch/tmp/bz/head.svn/sys/dev/xen/netback/netback.c:622: error: 'kernel_map' undeclared (first use in this function) > /scratch/tmp/bz/head.svn/sys/dev/xen/netback/netback.c:622: error: (Each undeclared identifier is reported only once > /scratch/tmp/bz/head.svn/sys/dev/xen/netback/netback.c:622: error: for each function it appears in.) > /scratch/tmp/bz/head.svn/sys/dev/xen/netback/netback.c: In function 'xnb_alloc_communication_mem': > /scratch/tmp/bz/head.svn/sys/dev/xen/netback/netback.c:812: error: 'kernel_map' undeclared (first use in this function) Whoops! Sorry about that. I backed it out until I can figure out the right way to fix it. My build machine is bogged down with nightly backups at the moment, so figuring out the fix isn't going to happen tonight. Thanks, Ken -- Kenneth Merry ken@FreeBSD.ORG From owner-svn-src-head@FreeBSD.ORG Thu Feb 2 14:17:59 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 18897106566C; Thu, 2 Feb 2012 14:17:59 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 03E4F8FC0A; Thu, 2 Feb 2012 14:17:59 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q12EHwkA040838; Thu, 2 Feb 2012 14:17:58 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q12EHw1S040836; Thu, 2 Feb 2012 14:17:58 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201202021417.q12EHw1S040836@svn.freebsd.org> From: Alexander Motin Date: Thu, 2 Feb 2012 14:17:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230912 - head/sys/cam/ata X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Feb 2012 14:17:59 -0000 Author: mav Date: Thu Feb 2 14:17:58 2012 New Revision: 230912 URL: http://svn.freebsd.org/changeset/base/230912 Log: Make CAM ATA honor old hw.ata.ata_dma and hw.ata.atapi_dma tunables. Even having more specific hint.ata.X.mode controls, global ones are still could be useful from some points, including compatibility. PR: kern/164651 MFC after: 1 week Modified: head/sys/cam/ata/ata_xpt.c Modified: head/sys/cam/ata/ata_xpt.c ============================================================================== --- head/sys/cam/ata/ata_xpt.c Thu Feb 2 12:22:22 2012 (r230911) +++ head/sys/cam/ata/ata_xpt.c Thu Feb 2 14:17:58 2012 (r230912) @@ -186,6 +186,12 @@ static void ata_dev_async(u_int32_t asy static void ata_action(union ccb *start_ccb); static void ata_announce_periph(struct cam_periph *periph); +static int ata_dma = 1; +static int atapi_dma = 1; + +TUNABLE_INT("hw.ata.ata_dma", &ata_dma); +TUNABLE_INT("hw.ata.atapi_dma", &atapi_dma); + static struct xpt_xport ata_xport = { .alloc_device = ata_alloc_device, .action = ata_action, @@ -356,6 +362,13 @@ probestart(struct cam_periph *periph, un if (cts.xport_specific.sata.valid & CTS_SATA_VALID_MODE) mode = cts.xport_specific.sata.mode; } + if (periph->path->device->protocol == PROTO_ATA) { + if (ata_dma == 0 && (mode == 0 || mode > ATA_PIO_MAX)) + mode = ATA_PIO_MAX; + } else { + if (atapi_dma == 0 && (mode == 0 || mode > ATA_PIO_MAX)) + mode = ATA_PIO_MAX; + } negotiate: /* Honor device capabilities. */ wantmode = mode = ata_max_mode(ident_buf, mode); From owner-svn-src-head@FreeBSD.ORG Thu Feb 2 15:24:10 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 305C0106566C; Thu, 2 Feb 2012 15:24:10 +0000 (UTC) (envelope-from nwhitehorn@freebsd.org) Received: from agogare.doit.wisc.edu (agogare.doit.wisc.edu [144.92.197.211]) by mx1.freebsd.org (Postfix) with ESMTP id F04878FC0C; Thu, 2 Feb 2012 15:24:09 +0000 (UTC) MIME-version: 1.0 Content-transfer-encoding: 7BIT Content-type: text/plain; CHARSET=US-ASCII; format=flowed Received: from avs-daemon.smtpauth2.wiscmail.wisc.edu by smtpauth2.wiscmail.wisc.edu (Sun Java(tm) System Messaging Server 7u2-7.05 32bit (built Jul 30 2009)) id <0LYR00K0KUS9UR00@smtpauth2.wiscmail.wisc.edu>; Thu, 02 Feb 2012 09:24:09 -0600 (CST) Received: from wanderer.tachypleus.net (i3-user-nat.icecube.wisc.edu [128.104.255.12]) by smtpauth2.wiscmail.wisc.edu (Sun Java(tm) System Messaging Server 7u2-7.05 32bit (built Jul 30 2009)) with ESMTPSA id <0LYR0084SUS61Q30@smtpauth2.wiscmail.wisc.edu>; Thu, 02 Feb 2012 09:24:06 -0600 (CST) Date: Thu, 02 Feb 2012 09:24:05 -0600 From: Nathan Whitehorn In-reply-to: <1D21A08C-C878-473B-B47B-985559F454CC@lists.zabbadoz.net> To: "Bjoern A. Zeeb" Message-id: <4F2AAA95.8050702@freebsd.org> X-Spam-Report: AuthenticatedSender=yes, SenderIP=128.104.255.12 X-Spam-PmxInfo: Server=avs-13, Version=5.6.1.2065439, Antispam-Engine: 2.7.2.376379, Antispam-Data: 2012.2.2.151515, SenderIP=128.104.255.12 References: <201201231617.q0NGHtPq033979@svn.freebsd.org> <1D21A08C-C878-473B-B47B-985559F454CC@lists.zabbadoz.net> User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:8.0) Gecko/20111213 Thunderbird/8.0 Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r230484 - head/release X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Feb 2012 15:24:10 -0000 On 02/01/12 20:29, Bjoern A. Zeeb wrote: > > On 23. Jan 2012, at 16:17 , Nathan Whitehorn wrote: > >> Author: nwhitehorn >> Date: Mon Jan 23 16:17:54 2012 >> New Revision: 230484 >> URL: http://svn.freebsd.org/changeset/base/230484 >> >> Log: >> Part of r230482 didn't actually work. Revert it for now. This means PR >> 161047 isn't actually fixed. >> > > It also seems that this currently leaves the VTY0 in tail saying: > "Starting local daemons:" > > ^T says tail, ^C and ^Z obviously don't work and the boot seems to hang > unless you get what's going on. Took me a couple minutes:( > > We really need a big message there... saying "please go to vtyX" at least. > > See also attached screenshot. Interesting and sorry for breakage --it should just continue normally. I've broken my arm and typing and testing this kind of thing is hard. Any chance you could fix it? -Nathan > >> PR: bin/161047 >> >> Modified: >> head/release/rc.local >> >> Modified: head/release/rc.local >> ============================================================================== >> --- head/release/rc.local Mon Jan 23 15:50:16 2012 (r230483) >> +++ head/release/rc.local Mon Jan 23 16:17:54 2012 (r230484) >> @@ -14,14 +14,12 @@ if [ $? -eq 0 ]; then >> TERM=xterm >> >> if [ -z "$EXTERNAL_VTY_STARTED" ]; then >> - vidcontrol -s 2 # Switch to a VTY with no kernel messages >> # Init will clean these processes up if/when the system >> # goes multiuser >> touch /tmp/bsdinstall_log >> tail -f /tmp/bsdinstall_log> /dev/ttyv2& >> /usr/libexec/getty autologin ttyv3 >> EXTERNAL_VTY_STARTED=1 >> - trap "vidcontrol -s 1" EXIT >> fi >> else >> # Serial or other console > > From owner-svn-src-head@FreeBSD.ORG Thu Feb 2 16:18:41 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A21FA1065672; Thu, 2 Feb 2012 16:18:41 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8C43F8FC0A; Thu, 2 Feb 2012 16:18:41 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q12GIfUZ044501; Thu, 2 Feb 2012 16:18:41 GMT (envelope-from mm@svn.freebsd.org) Received: (from mm@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q12GIf7e044499; Thu, 2 Feb 2012 16:18:41 GMT (envelope-from mm@svn.freebsd.org) Message-Id: <201202021618.q12GIf7e044499@svn.freebsd.org> From: Martin Matuska Date: Thu, 2 Feb 2012 16:18:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230913 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Feb 2012 16:18:41 -0000 Author: mm Date: Thu Feb 2 16:18:40 2012 New Revision: 230913 URL: http://svn.freebsd.org/changeset/base/230913 Log: Fix out of bounds write causing random panics, uncovered by the change in r230256 Reviewed by: pluknet@ MFC after: 3 days Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c Thu Feb 2 14:17:58 2012 (r230912) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c Thu Feb 2 16:18:40 2012 (r230913) @@ -993,7 +993,7 @@ dnode_buf_pageout(dmu_buf_t *db, void *a dnh->dnh_dnode = NULL; } kmem_free(children_dnodes, sizeof (dnode_children_t) + - (epb - 1) * sizeof (dnode_handle_t)); + epb * sizeof (dnode_handle_t)); } /* @@ -1078,7 +1078,7 @@ dnode_hold_impl(objset_t *os, uint64_t o int i; dnode_children_t *winner; children_dnodes = kmem_zalloc(sizeof (dnode_children_t) + - (epb - 1) * sizeof (dnode_handle_t), KM_SLEEP); + epb * sizeof (dnode_handle_t), KM_SLEEP); children_dnodes->dnc_count = epb; dnh = &children_dnodes->dnc_children[0]; for (i = 0; i < epb; i++) { @@ -1088,7 +1088,7 @@ dnode_hold_impl(objset_t *os, uint64_t o if (winner = dmu_buf_set_user(&db->db, children_dnodes, NULL, dnode_buf_pageout)) { kmem_free(children_dnodes, sizeof (dnode_children_t) + - (epb - 1) * sizeof (dnode_handle_t)); + epb * sizeof (dnode_handle_t)); children_dnodes = winner; } } From owner-svn-src-head@FreeBSD.ORG Thu Feb 2 16:33:59 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9869E106564A; Thu, 2 Feb 2012 16:33:59 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 829228FC12; Thu, 2 Feb 2012 16:33:59 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q12GXx1x045031; Thu, 2 Feb 2012 16:33:59 GMT (envelope-from mm@svn.freebsd.org) Received: (from mm@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q12GXxHN045029; Thu, 2 Feb 2012 16:33:59 GMT (envelope-from mm@svn.freebsd.org) Message-Id: <201202021633.q12GXxHN045029@svn.freebsd.org> From: Martin Matuska Date: Thu, 2 Feb 2012 16:33:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230914 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Feb 2012 16:33:59 -0000 Author: mm Date: Thu Feb 2 16:33:58 2012 New Revision: 230914 URL: http://svn.freebsd.org/changeset/base/230914 Log: Add copyright information on last commits to comply with CDDL. Discussed with: pluknet@ MFC after: 3 days Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c Thu Feb 2 16:18:40 2012 (r230913) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c Thu Feb 2 16:33:58 2012 (r230914) @@ -20,6 +20,9 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. + * + * Portions Copyright 2012 Sergey Kandaurov + * Portions Copyright 2012 Martin Matuska */ #include From owner-svn-src-head@FreeBSD.ORG Thu Feb 2 17:08:51 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AA1C3106564A; Thu, 2 Feb 2012 17:08:51 +0000 (UTC) (envelope-from bzeeb-lists@lists.zabbadoz.net) Received: from mx1.sbone.de (mx1.sbone.de [IPv6:2a01:4f8:130:3ffc::401:25]) by mx1.freebsd.org (Postfix) with ESMTP id 3171C8FC12; Thu, 2 Feb 2012 17:08:51 +0000 (UTC) Received: from mail.sbone.de (mail.sbone.de [IPv6:fde9:577b:c1a9:31::2013:587]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mx1.sbone.de (Postfix) with ESMTPS id 5B77C25D3888; Thu, 2 Feb 2012 17:08:50 +0000 (UTC) Received: from content-filter.sbone.de (content-filter.sbone.de [IPv6:fde9:577b:c1a9:31::2013:2742]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPS id 82F35BDA818; Thu, 2 Feb 2012 17:08:49 +0000 (UTC) X-Virus-Scanned: amavisd-new at sbone.de Received: from mail.sbone.de ([IPv6:fde9:577b:c1a9:31::2013:587]) by content-filter.sbone.de (content-filter.sbone.de [fde9:577b:c1a9:31::2013:2742]) (amavisd-new, port 10024) with ESMTP id naBLmFkCJhzH; Thu, 2 Feb 2012 17:08:48 +0000 (UTC) Received: from orange-en1.sbone.de (orange-en1.sbone.de [IPv6:fde9:577b:c1a9:31:cabc:c8ff:fecf:e8e3]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPSA id 61505BDA81A; Thu, 2 Feb 2012 17:08:48 +0000 (UTC) Mime-Version: 1.0 (Apple Message framework v1084) Content-Type: text/plain; charset=us-ascii From: "Bjoern A. Zeeb" In-Reply-To: <4F2AAA95.8050702@freebsd.org> Date: Thu, 2 Feb 2012 17:08:47 +0000 Content-Transfer-Encoding: quoted-printable Message-Id: <54DDA424-0570-4485-B93A-52BC2CFC83F1@lists.zabbadoz.net> References: <201201231617.q0NGHtPq033979@svn.freebsd.org> <1D21A08C-C878-473B-B47B-985559F454CC@lists.zabbadoz.net> <4F2AAA95.8050702@freebsd.org> To: Nathan Whitehorn X-Mailer: Apple Mail (2.1084) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r230484 - head/release X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Feb 2012 17:08:51 -0000 On 2. Feb 2012, at 15:24 , Nathan Whitehorn wrote: > On 02/01/12 20:29, Bjoern A. Zeeb wrote: >>=20 >> On 23. Jan 2012, at 16:17 , Nathan Whitehorn wrote: >>=20 >>> Author: nwhitehorn >>> Date: Mon Jan 23 16:17:54 2012 >>> New Revision: 230484 >>> URL: http://svn.freebsd.org/changeset/base/230484 >>>=20 >>> Log: >>> Part of r230482 didn't actually work. Revert it for now. This means = PR >>> 161047 isn't actually fixed. >>>=20 >>=20 >> It also seems that this currently leaves the VTY0 in tail saying: >> "Starting local daemons:" >>=20 >> ^T says tail, ^C and ^Z obviously don't work and the boot seems to = hang >> unless you get what's going on. Took me a couple minutes:( >>=20 >> We really need a big message there... saying "please go to vtyX" at = least. >>=20 >> See also attached screenshot. >=20 > Interesting and sorry for breakage --it should just continue normally. Switching to vty3 and checking it seems "bsdinstall" is not running on = any other terminal either yet. > I've broken my arm and typing and testing this kind of thing is hard. = Any chance you could fix it? Get well soon. I'll see if I can trick anyone into it or find some time = this weekend. /bz --=20 Bjoern A. Zeeb You have to have visions! It does not matter how good you are. It matters what good you do! From owner-svn-src-head@FreeBSD.ORG Thu Feb 2 17:25:40 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 236401065674; Thu, 2 Feb 2012 17:25:40 +0000 (UTC) (envelope-from joel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0E9358FC08; Thu, 2 Feb 2012 17:25:40 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q12HPdji046666; Thu, 2 Feb 2012 17:25:39 GMT (envelope-from joel@svn.freebsd.org) Received: (from joel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q12HPdtA046663; Thu, 2 Feb 2012 17:25:39 GMT (envelope-from joel@svn.freebsd.org) Message-Id: <201202021725.q12HPdtA046663@svn.freebsd.org> From: Joel Dahl Date: Thu, 2 Feb 2012 17:25:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230915 - in head/sys/modules/sound/driver: emu10k1 emu10kx X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Feb 2012 17:25:40 -0000 Author: joel (doc committer) Date: Thu Feb 2 17:25:39 2012 New Revision: 230915 URL: http://svn.freebsd.org/changeset/base/230915 Log: Remove leftovers from previous commits. Approved by: jhb Modified: head/sys/modules/sound/driver/emu10k1/Makefile head/sys/modules/sound/driver/emu10kx/Makefile Modified: head/sys/modules/sound/driver/emu10k1/Makefile ============================================================================== --- head/sys/modules/sound/driver/emu10k1/Makefile Thu Feb 2 16:33:58 2012 (r230914) +++ head/sys/modules/sound/driver/emu10k1/Makefile Thu Feb 2 17:25:39 2012 (r230915) @@ -1,7 +1,6 @@ # $FreeBSD$ -.PATH: ${.CURDIR}/../../../../dev/sound/pci \ - ${.CURDIR}/../../../../gnu/dev/sound/pci +.PATH: ${.CURDIR}/../../../../dev/sound/pci KMOD= snd_emu10k1 SRCS= device_if.h bus_if.h pci_if.h Modified: head/sys/modules/sound/driver/emu10kx/Makefile ============================================================================== --- head/sys/modules/sound/driver/emu10kx/Makefile Thu Feb 2 16:33:58 2012 (r230914) +++ head/sys/modules/sound/driver/emu10kx/Makefile Thu Feb 2 17:25:39 2012 (r230915) @@ -1,6 +1,5 @@ # $FreeBSD$ -.PATH: ${.CURDIR}/../../../../dev/sound/pci \ - ${.CURDIR}/../../../../gnu/dev/sound/pci +.PATH: ${.CURDIR}/../../../../dev/sound/pci KMOD= snd_emu10kx From owner-svn-src-head@FreeBSD.ORG Thu Feb 2 17:54:35 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D7E2B106566B; Thu, 2 Feb 2012 17:54:35 +0000 (UTC) (envelope-from ken@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C1A2C8FC08; Thu, 2 Feb 2012 17:54:35 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q12HsZHH047643; Thu, 2 Feb 2012 17:54:35 GMT (envelope-from ken@svn.freebsd.org) Received: (from ken@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q12HsZh5047637; Thu, 2 Feb 2012 17:54:35 GMT (envelope-from ken@svn.freebsd.org) Message-Id: <201202021754.q12HsZh5047637@svn.freebsd.org> From: "Kenneth D. Merry" Date: Thu, 2 Feb 2012 17:54:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230916 - in head/sys: conf dev/xen/netback i386/include/xen X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Feb 2012 17:54:35 -0000 Author: ken Date: Thu Feb 2 17:54:35 2012 New Revision: 230916 URL: http://svn.freebsd.org/changeset/base/230916 Log: Fix the netback driver build for i386. netback.c: Add missing VM includes. xen/xenvar.h, xen/xenpmap.h: Move some XENHVM macros from to on i386 to match the amd64 headers. conf/files: Add netback to the build. Submitted by: jhb MFC after: 3 days Modified: head/sys/conf/files head/sys/dev/xen/netback/netback.c head/sys/i386/include/xen/xenpmap.h head/sys/i386/include/xen/xenvar.h Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Thu Feb 2 17:25:39 2012 (r230915) +++ head/sys/conf/files Thu Feb 2 17:54:35 2012 (r230916) @@ -3531,6 +3531,7 @@ dev/xen/blkback/blkback.c optional xen | dev/xen/console/console.c optional xen dev/xen/console/xencons_ring.c optional xen dev/xen/control/control.c optional xen | xenhvm +dev/xen/netback/netback.c optional xen | xenhvm dev/xen/netfront/netfront.c optional xen | xenhvm dev/xen/xenpci/xenpci.c optional xenpci dev/xen/xenpci/evtchn.c optional xenpci Modified: head/sys/dev/xen/netback/netback.c ============================================================================== --- head/sys/dev/xen/netback/netback.c Thu Feb 2 17:25:39 2012 (r230915) +++ head/sys/dev/xen/netback/netback.c Thu Feb 2 17:54:35 2012 (r230916) @@ -75,6 +75,8 @@ __FBSDID("$FreeBSD$"); #include #include +#include +#include #include #include Modified: head/sys/i386/include/xen/xenpmap.h ============================================================================== --- head/sys/i386/include/xen/xenpmap.h Thu Feb 2 17:25:39 2012 (r230915) +++ head/sys/i386/include/xen/xenpmap.h Thu Feb 2 17:54:35 2012 (r230916) @@ -232,15 +232,6 @@ phys_to_machine_mapping_valid(unsigned l return xen_phys_machine[pfn] != INVALID_P2M_ENTRY; } -#elif defined(XENHVM) - -#define set_phys_to_machine(pfn, mfn) ((void)0) -#define phys_to_machine_mapping_valid(pfn) (TRUE) - -#if !defined(PAE) -#define vtomach(va) pmap_kextract((vm_offset_t) (va)) -#endif - -#endif /* !XEN && !XENHVM */ +#endif /* !XEN */ #endif /* _XEN_XENPMAP_H_ */ Modified: head/sys/i386/include/xen/xenvar.h ============================================================================== --- head/sys/i386/include/xen/xenvar.h Thu Feb 2 17:25:39 2012 (r230915) +++ head/sys/i386/include/xen/xenvar.h Thu Feb 2 17:54:35 2012 (r230916) @@ -106,9 +106,15 @@ void xen_destroy_contiguous_region(void #elif defined(XENHVM) +#if !defined(PAE) +#define vtomach(va) pmap_kextract((vm_offset_t) (va)) +#endif #define PFNTOMFN(pa) (pa) #define MFNTOPFN(ma) (ma) +#define set_phys_to_machine(pfn, mfn) ((void)0) +#define phys_to_machine_mapping_valid(pfn) (TRUE) + #endif /* !XEN && !XENHVM */ #endif From owner-svn-src-head@FreeBSD.ORG Thu Feb 2 19:02:16 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B65AA1065674; Thu, 2 Feb 2012 19:02:16 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8A8A28FC0C; Thu, 2 Feb 2012 19:02:16 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q12J2GEC050296; Thu, 2 Feb 2012 19:02:16 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q12J2GXO050293; Thu, 2 Feb 2012 19:02:16 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201202021902.q12J2GXO050293@svn.freebsd.org> From: Alexander Motin Date: Thu, 2 Feb 2012 19:02:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230921 - in head/sys/cam: ata scsi X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Feb 2012 19:02:16 -0000 Author: mav Date: Thu Feb 2 19:02:15 2012 New Revision: 230921 URL: http://svn.freebsd.org/changeset/base/230921 Log: Insert ordered command every 1/4 of the current command timeout, not 1/4 of the default one. Without this change setting kern.cam.ada.default_timeout to 1 instead of 30 allowed me to trigger several false positive command timeouts under heavy ZFS load on a SiI3132 siis(4) controller with 5 HDDs on a port multiplier. MFC after: 1 week Modified: head/sys/cam/ata/ata_da.c head/sys/cam/scsi/scsi_da.c Modified: head/sys/cam/ata/ata_da.c ============================================================================== --- head/sys/cam/ata/ata_da.c Thu Feb 2 19:01:41 2012 (r230920) +++ head/sys/cam/ata/ata_da.c Thu Feb 2 19:02:15 2012 (r230921) @@ -1098,7 +1098,7 @@ adaregister(struct cam_periph *periph, v */ callout_init_mtx(&softc->sendordered_c, periph->sim->mtx, 0); callout_reset(&softc->sendordered_c, - (ADA_DEFAULT_TIMEOUT * hz) / ADA_ORDEREDTAG_INTERVAL, + (ada_default_timeout * hz) / ADA_ORDEREDTAG_INTERVAL, adasendorderedtag, softc); if (ADA_RA >= 0 && @@ -1653,7 +1653,7 @@ adasendorderedtag(void *arg) } /* Queue us up again */ callout_reset(&softc->sendordered_c, - (ADA_DEFAULT_TIMEOUT * hz) / ADA_ORDEREDTAG_INTERVAL, + (ada_default_timeout * hz) / ADA_ORDEREDTAG_INTERVAL, adasendorderedtag, softc); } Modified: head/sys/cam/scsi/scsi_da.c ============================================================================== --- head/sys/cam/scsi/scsi_da.c Thu Feb 2 19:01:41 2012 (r230920) +++ head/sys/cam/scsi/scsi_da.c Thu Feb 2 19:02:15 2012 (r230921) @@ -1149,7 +1149,7 @@ dadump(void *arg, void *virtual, vm_offs /*data_ptr*/(u_int8_t *) virtual, /*dxfer_len*/length, /*sense_len*/SSD_FULL_SIZE, - DA_DEFAULT_TIMEOUT * 1000); + da_default_timeout * 1000); xpt_polled_action((union ccb *)&csio); cam_periph_unlock(periph); @@ -1597,7 +1597,7 @@ daregister(struct cam_periph *periph, vo */ callout_init_mtx(&softc->sendordered_c, periph->sim->mtx, 0); callout_reset(&softc->sendordered_c, - (DA_DEFAULT_TIMEOUT * hz) / DA_ORDEREDTAG_INTERVAL, + (da_default_timeout * hz) / DA_ORDEREDTAG_INTERVAL, dasendorderedtag, softc); mtx_unlock(periph->sim->mtx); @@ -2768,7 +2768,7 @@ dasendorderedtag(void *arg) } /* Queue us up again */ callout_reset(&softc->sendordered_c, - (DA_DEFAULT_TIMEOUT * hz) / DA_ORDEREDTAG_INTERVAL, + (da_default_timeout * hz) / DA_ORDEREDTAG_INTERVAL, dasendorderedtag, softc); } From owner-svn-src-head@FreeBSD.ORG Thu Feb 2 21:04:24 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C8E79106566B; Thu, 2 Feb 2012 21:04:24 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B74AF8FC16; Thu, 2 Feb 2012 21:04:24 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q12L4OUT054132; Thu, 2 Feb 2012 21:04:24 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q12L4OJ8054130; Thu, 2 Feb 2012 21:04:24 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201202022104.q12L4OJ8054130@svn.freebsd.org> From: Adrian Chadd Date: Thu, 2 Feb 2012 21:04:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230923 - head/tools/tools/ath/athradar X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Feb 2012 21:04:24 -0000 Author: adrian Date: Thu Feb 2 21:04:24 2012 New Revision: 230923 URL: http://svn.freebsd.org/changeset/base/230923 Log: Add some missing radar config parameters to athradar. Modified: head/tools/tools/ath/athradar/athradar.c Modified: head/tools/tools/ath/athradar/athradar.c ============================================================================== --- head/tools/tools/ath/athradar/athradar.c Thu Feb 2 19:03:29 2012 (r230922) +++ head/tools/tools/ath/athradar/athradar.c Thu Feb 2 21:04:24 2012 (r230923) @@ -207,6 +207,12 @@ radar_set_param(struct radarhandler *rad radarset(radar, DFS_PARAM_RELSTEP, v); } else if (strcmp(param, "maxlen") == 0) { radarset(radar, DFS_PARAM_MAXLEN, v); + } else if (strcmp(param, "usefir128") == 0) { + radarset(radar, DFS_PARAM_USEFIR128, v); + } else if (strcmp(param, "blockradar") == 0) { + radarset(radar, DFS_PARAM_BLOCKRADAR, v); + } else if (strcmp(param, "enmaxrssi") == 0) { + radarset(radar, DFS_PARAM_MAXRSSI_EN, v); } else if (strcmp(param, "extchannel") == 0) { radarset(radar, DFS_PARAM_EN_EXTCH, v); } else { From owner-svn-src-head@FreeBSD.ORG Fri Feb 3 02:06:15 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1D7BD106566B; Fri, 3 Feb 2012 02:06:15 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 02E598FC14; Fri, 3 Feb 2012 02:06:15 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q1326EWr065153; Fri, 3 Feb 2012 02:06:14 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q1326EER065151; Fri, 3 Feb 2012 02:06:14 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <201202030206.q1326EER065151@svn.freebsd.org> From: Rui Paulo Date: Fri, 3 Feb 2012 02:06:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230926 - head/sys/net80211 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Feb 2012 02:06:15 -0000 Author: rpaulo Date: Fri Feb 3 02:06:14 2012 New Revision: 230926 URL: http://svn.freebsd.org/changeset/base/230926 Log: Whitespace removal. Modified: head/sys/net80211/ieee80211_mesh.c Modified: head/sys/net80211/ieee80211_mesh.c ============================================================================== --- head/sys/net80211/ieee80211_mesh.c Fri Feb 3 01:59:16 2012 (r230925) +++ head/sys/net80211/ieee80211_mesh.c Fri Feb 3 02:06:14 2012 (r230926) @@ -442,19 +442,19 @@ ieee80211_mesh_init(void) ieee80211_recv_action_register(IEEE80211_ACTION_CAT_MESHLMETRIC, IEEE80211_ACTION_MESHLMETRIC_REP, mesh_recv_action_meshlmetric_rep); - ieee80211_send_action_register(IEEE80211_ACTION_CAT_MESHPEERING, + ieee80211_send_action_register(IEEE80211_ACTION_CAT_MESHPEERING, IEEE80211_ACTION_MESHPEERING_OPEN, mesh_send_action_meshpeering_open); - ieee80211_send_action_register(IEEE80211_ACTION_CAT_MESHPEERING, + ieee80211_send_action_register(IEEE80211_ACTION_CAT_MESHPEERING, IEEE80211_ACTION_MESHPEERING_CONFIRM, mesh_send_action_meshpeering_confirm); - ieee80211_send_action_register(IEEE80211_ACTION_CAT_MESHPEERING, + ieee80211_send_action_register(IEEE80211_ACTION_CAT_MESHPEERING, IEEE80211_ACTION_MESHPEERING_CLOSE, mesh_send_action_meshpeering_close); - ieee80211_send_action_register(IEEE80211_ACTION_CAT_MESHLMETRIC, + ieee80211_send_action_register(IEEE80211_ACTION_CAT_MESHLMETRIC, IEEE80211_ACTION_MESHLMETRIC_REQ, mesh_send_action_meshlink_request); - ieee80211_send_action_register(IEEE80211_ACTION_CAT_MESHLMETRIC, + ieee80211_send_action_register(IEEE80211_ACTION_CAT_MESHLMETRIC, IEEE80211_ACTION_MESHLMETRIC_REP, mesh_send_action_meshlink_reply); @@ -1934,10 +1934,10 @@ mesh_send_action_meshpeering_open(struct ic->ic_headroom + sizeof(struct ieee80211_frame), sizeof(uint16_t) /* action+category */ + sizeof(uint16_t) /* capabilites */ - + 2 + IEEE80211_RATE_SIZE - + 2 + (IEEE80211_RATE_MAXSIZE - IEEE80211_RATE_SIZE) + + 2 + IEEE80211_RATE_SIZE + + 2 + (IEEE80211_RATE_MAXSIZE - IEEE80211_RATE_SIZE) + 2 + IEEE80211_MESHID_LEN - + sizeof(struct ieee80211_meshconf_ie) + + sizeof(struct ieee80211_meshconf_ie) + sizeof(struct ieee80211_meshpeer_ie) ); if (m != NULL) { @@ -1997,10 +1997,10 @@ mesh_send_action_meshpeering_confirm(str + sizeof(uint16_t) /* capabilites */ + sizeof(uint16_t) /* status code */ + sizeof(uint16_t) /* AID */ - + 2 + IEEE80211_RATE_SIZE - + 2 + (IEEE80211_RATE_MAXSIZE - IEEE80211_RATE_SIZE) + + 2 + IEEE80211_RATE_SIZE + + 2 + (IEEE80211_RATE_MAXSIZE - IEEE80211_RATE_SIZE) + 2 + IEEE80211_MESHID_LEN - + sizeof(struct ieee80211_meshconf_ie) + + sizeof(struct ieee80211_meshconf_ie) + sizeof(struct ieee80211_meshpeer_ie) ); if (m != NULL) { @@ -2063,7 +2063,7 @@ mesh_send_action_meshpeering_close(struc sizeof(uint16_t) /* action+category */ + sizeof(uint16_t) /* reason code */ + 2 + IEEE80211_MESHID_LEN - + sizeof(struct ieee80211_meshpeer_ie) + + sizeof(struct ieee80211_meshpeer_ie) ); if (m != NULL) { /* From owner-svn-src-head@FreeBSD.ORG Fri Feb 3 05:23:52 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D9488106566B; Fri, 3 Feb 2012 05:23:52 +0000 (UTC) (envelope-from uzimac@da3m0n8t3r.com) Received: from z.umatar.com (z.umatar.com [66.135.39.87]) by mx1.freebsd.org (Postfix) with ESMTP id 4F06B8FC0A; Fri, 3 Feb 2012 05:23:52 +0000 (UTC) Received: from z.umatar.com (localhost [127.0.0.1]) by z.umatar.com (8.14.5/8.14.3) with ESMTP id q135C8jG040204; Thu, 2 Feb 2012 21:12:08 -0800 (PST) (envelope-from uzimac@da3m0n8t3r.com) Received: (from uzimac@localhost) by z.umatar.com (8.14.5/8.14.3/Submit) id q135C8j9040203; Thu, 2 Feb 2012 21:12:08 -0800 (PST) (envelope-from uzimac@da3m0n8t3r.com) X-Authentication-Warning: z.umatar.com: uzimac set sender to uzimac@da3m0n8t3r.com using -f From: "Waitman Gobble" To: Adrian Chadd Message-Id: <1328245928.39926@da3m0n8t3r.com> X-Originating-IP: 75.36.155.21 X-Mailer: Usermin 1.500 In-Reply-To: <201202022104.q12L4OJ8054130@svn.freebsd.org> Date: Thu, 02 Feb 2012 21:12:08 -0800 (PST) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="bound1328245928" Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r230923 - head/tools/tools/ath/athradar X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Feb 2012 05:23:53 -0000 This is a multi-part message in MIME format. --bound1328245928 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Adrian Chadd wrote .. > Author: adrian > Date: Thu Feb 2 21:04:24 2012 > New Revision: 230923 > URL: http://svn.freebsd.org/changeset/base/230923 > > Log: > Add some missing radar config parameters to athradar. > > Modified: > head/tools/tools/ath/athradar/athradar.c > > Modified: head/tools/tools/ath/athradar/athradar.c > ============================================================================== > --- head/tools/tools/ath/athradar/athradar.c Thu Feb 2 19:03:29 2012 (r230922) > +++ head/tools/tools/ath/athradar/athradar.c Thu Feb 2 21:04:24 2012 (r230923) > @@ -207,6 +207,12 @@ radar_set_param(struct radarhandler *rad > radarset(radar, DFS_PARAM_RELSTEP, v); > } else if (strcmp(param, "maxlen") == 0) { > radarset(radar, DFS_PARAM_MAXLEN, v); > + } else if (strcmp(param, "usefir128") == 0) { > + radarset(radar, DFS_PARAM_USEFIR128, v); > + } else if (strcmp(param, "blockradar") == 0) { > + radarset(radar, DFS_PARAM_BLOCKRADAR, v); > + } else if (strcmp(param, "enmaxrssi") == 0) { > + radarset(radar, DFS_PARAM_MAXRSSI_EN, v); > } else if (strcmp(param, "extchannel") == 0) { > radarset(radar, DFS_PARAM_EN_EXTCH, v); > } else { > _______________________________________________ > svn-src-head@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/svn-src-head > To unsubscribe, send any mail to "svn-src-head-unsubscribe@freebsd.org" I make/installed in /usr/src/tools/tools/ath/athradar and it appears to work, however I'm curious about what I can do with this. I don't seem to find anything about "radar parameter diagnostic" in a search engine, but maybe I'm looking in the wrong place. Simple command line example? Only asking `cause it sounds potentially cool :) thanks! -- Waitman Gobble San Jose California USA --bound1328245928-- From owner-svn-src-head@FreeBSD.ORG Fri Feb 3 09:07:54 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 30CD71065672; Fri, 3 Feb 2012 09:07:54 +0000 (UTC) (envelope-from pluknet@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 034248FC15; Fri, 3 Feb 2012 09:07:54 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q1397rO4078876; Fri, 3 Feb 2012 09:07:53 GMT (envelope-from pluknet@svn.freebsd.org) Received: (from pluknet@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q1397r50078874; Fri, 3 Feb 2012 09:07:53 GMT (envelope-from pluknet@svn.freebsd.org) Message-Id: <201202030907.q1397r50078874@svn.freebsd.org> From: Sergey Kandaurov Date: Fri, 3 Feb 2012 09:07:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230934 - head/usr.bin/fstat X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Feb 2012 09:07:54 -0000 Author: pluknet Date: Fri Feb 3 09:07:53 2012 New Revision: 230934 URL: http://svn.freebsd.org/changeset/base/230934 Log: Print the owner process for unix domain sockets when restricted to the specified files. PR: bin/143962 MFC after: 2 weeks Modified: head/usr.bin/fstat/fstat.c Modified: head/usr.bin/fstat/fstat.c ============================================================================== --- head/usr.bin/fstat/fstat.c Fri Feb 3 09:06:24 2012 (r230933) +++ head/usr.bin/fstat/fstat.c Fri Feb 3 09:07:53 2012 (r230934) @@ -38,6 +38,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include @@ -224,28 +225,53 @@ static void print_file_info(struct procstat *procstat, struct filestat *fst, const char *uname, const char *cmd, int pid) { + struct sockstat sock; struct vnstat vn; DEVS *d; const char *filename; int error, fsmatch = 0; char errbuf[_POSIX2_LINE_MAX]; + error = 0; filename = NULL; if (checkfile != 0) { - if (fst->fs_type != PS_FST_TYPE_VNODE && - fst->fs_type != PS_FST_TYPE_FIFO) + switch (fst->fs_type) { + case PS_FST_TYPE_VNODE: + case PS_FST_TYPE_FIFO: + error = procstat_get_vnode_info(procstat, fst, &vn, errbuf); + break; + case PS_FST_TYPE_SOCKET: + error = procstat_get_socket_info(procstat, fst, &sock, errbuf); + break; + default: return; - error = procstat_get_vnode_info(procstat, fst, &vn, errbuf); + } if (error != 0) return; for (d = devs; d != NULL; d = d->next) - if (d->fsid == vn.vn_fsid) { - fsmatch = 1; - if ((unsigned)d->ino == vn.vn_fileid) { - filename = d->name; - break; + switch (fst->fs_type) { + case PS_FST_TYPE_VNODE: + case PS_FST_TYPE_FIFO: + if (d->fsid == vn.vn_fsid) { + fsmatch = 1; + if ((unsigned)d->ino == vn.vn_fileid) { + filename = d->name; + break; + } + } + break; + case PS_FST_TYPE_SOCKET: + if (sock.dom_family == AF_UNIX) { + fsmatch = 1; + if (strcmp(((struct sockaddr_un *) + (&sock.sa_local))->sun_path, + d->name) == 0) { + filename = d->name; + break; + } } + break; } if (fsmatch == 0 || (filename == NULL && fsflg == 0)) return; From owner-svn-src-head@FreeBSD.ORG Fri Feb 3 13:40:51 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E7B4A106566C; Fri, 3 Feb 2012 13:40:51 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D1F268FC14; Fri, 3 Feb 2012 13:40:51 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q13DepRC089602; Fri, 3 Feb 2012 13:40:51 GMT (envelope-from mm@svn.freebsd.org) Received: (from mm@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q13DepPU089600; Fri, 3 Feb 2012 13:40:51 GMT (envelope-from mm@svn.freebsd.org) Message-Id: <201202031340.q13DepPU089600@svn.freebsd.org> From: Martin Matuska Date: Fri, 3 Feb 2012 13:40:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230945 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Feb 2012 13:40:52 -0000 Author: mm Date: Fri Feb 3 13:40:51 2012 New Revision: 230945 URL: http://svn.freebsd.org/changeset/base/230945 Log: Revert r230913 and r230914. The initialization was correct, the problem needs deeper analysis. Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c Fri Feb 3 13:20:48 2012 (r230944) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c Fri Feb 3 13:40:51 2012 (r230945) @@ -20,9 +20,6 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * - * Portions Copyright 2012 Sergey Kandaurov - * Portions Copyright 2012 Martin Matuska */ #include @@ -996,7 +993,7 @@ dnode_buf_pageout(dmu_buf_t *db, void *a dnh->dnh_dnode = NULL; } kmem_free(children_dnodes, sizeof (dnode_children_t) + - epb * sizeof (dnode_handle_t)); + (epb - 1) * sizeof (dnode_handle_t)); } /* @@ -1081,7 +1078,7 @@ dnode_hold_impl(objset_t *os, uint64_t o int i; dnode_children_t *winner; children_dnodes = kmem_zalloc(sizeof (dnode_children_t) + - epb * sizeof (dnode_handle_t), KM_SLEEP); + (epb - 1) * sizeof (dnode_handle_t), KM_SLEEP); children_dnodes->dnc_count = epb; dnh = &children_dnodes->dnc_children[0]; for (i = 0; i < epb; i++) { @@ -1091,7 +1088,7 @@ dnode_hold_impl(objset_t *os, uint64_t o if (winner = dmu_buf_set_user(&db->db, children_dnodes, NULL, dnode_buf_pageout)) { kmem_free(children_dnodes, sizeof (dnode_children_t) + - epb * sizeof (dnode_handle_t)); + (epb - 1) * sizeof (dnode_handle_t)); children_dnodes = winner; } } From owner-svn-src-head@FreeBSD.ORG Fri Feb 3 21:21:01 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 27E161065674; Fri, 3 Feb 2012 21:21:01 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 128EF8FC16; Fri, 3 Feb 2012 21:21:01 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q13LL0s3004569; Fri, 3 Feb 2012 21:21:00 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q13LL0uA004567; Fri, 3 Feb 2012 21:21:00 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201202032121.q13LL0uA004567@svn.freebsd.org> From: Jung-uk Kim Date: Fri, 3 Feb 2012 21:21:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230957 - head/sys/amd64/acpica X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Feb 2012 21:21:01 -0000 Author: jkim Date: Fri Feb 3 21:21:00 2012 New Revision: 230957 URL: http://svn.freebsd.org/changeset/base/230957 Log: Fix a function prototype to reflect reality. No functional change. Modified: head/sys/amd64/acpica/acpi_wakeup.c Modified: head/sys/amd64/acpica/acpi_wakeup.c ============================================================================== --- head/sys/amd64/acpica/acpi_wakeup.c Fri Feb 3 20:27:14 2012 (r230956) +++ head/sys/amd64/acpica/acpi_wakeup.c Fri Feb 3 21:21:00 2012 (r230957) @@ -74,7 +74,7 @@ static struct pcb **susppcbs; static void **suspfpusave; #endif -int acpi_restorecpu(vm_offset_t, struct pcb *); +int acpi_restorecpu(uint64_t, vm_offset_t); static void *acpi_alloc_wakeup_handler(void); static void acpi_stop_beep(void *); From owner-svn-src-head@FreeBSD.ORG Fri Feb 3 21:24:29 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1F0A4106566B; Fri, 3 Feb 2012 21:24:29 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 09BFE8FC12; Fri, 3 Feb 2012 21:24:29 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q13LOSEQ004728; Fri, 3 Feb 2012 21:24:28 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q13LOSGv004726; Fri, 3 Feb 2012 21:24:28 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201202032124.q13LOSGv004726@svn.freebsd.org> From: Jung-uk Kim Date: Fri, 3 Feb 2012 21:24:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230958 - head/sys/amd64/acpica X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Feb 2012 21:24:29 -0000 Author: jkim Date: Fri Feb 3 21:24:28 2012 New Revision: 230958 URL: http://svn.freebsd.org/changeset/base/230958 Log: Restore callee saved registers later and micro-optimize. Modified: head/sys/amd64/acpica/acpi_switch.S Modified: head/sys/amd64/acpica/acpi_switch.S ============================================================================== --- head/sys/amd64/acpica/acpi_switch.S Fri Feb 3 21:21:00 2012 (r230957) +++ head/sys/amd64/acpica/acpi_switch.S Fri Feb 3 21:24:28 2012 (r230958) @@ -120,15 +120,6 @@ ENTRY(acpi_restorecpu) #undef SDT_SYSTSS #undef SDT_SYSBSY - /* Restore other callee saved registers. */ - movq PCB_R15(%rdi), %r15 - movq PCB_R14(%rdi), %r14 - movq PCB_R13(%rdi), %r13 - movq PCB_R12(%rdi), %r12 - movq PCB_RBP(%rdi), %rbp - movq PCB_RSP(%rdi), %rsp - movq PCB_RBX(%rdi), %rbx - /* Restore debug registers. */ movq PCB_DR0(%rdi), %rax movq %rax, %dr0 @@ -145,6 +136,7 @@ ENTRY(acpi_restorecpu) /* Restore FPU state. */ fninit + movq WAKEUP_CTX(fpusave), %rbx movq WAKEUP_CTX(xsmask), %rax testq %rax, %rax jz 1f @@ -153,19 +145,26 @@ ENTRY(acpi_restorecpu) movl $XCR0, %ecx /* xsetbv */ .byte 0x0f, 0x01, 0xd1 - movq WAKEUP_CTX(fpusave), %rcx -/* xrstor (%rcx) */ - .byte 0x0f, 0xae, 0x29 +/* xrstor (%rbx) */ + .byte 0x0f, 0xae, 0x2b jmp 2f 1: - movq WAKEUP_CTX(fpusave), %rcx - fxrstor (%rcx) + fxrstor (%rbx) 2: /* Reload CR0. */ movq PCB_CR0(%rdi), %rax movq %rax, %cr0 + /* Restore other callee saved registers. */ + movq PCB_R15(%rdi), %r15 + movq PCB_R14(%rdi), %r14 + movq PCB_R13(%rdi), %r13 + movq PCB_R12(%rdi), %r12 + movq PCB_RBP(%rdi), %rbp + movq PCB_RSP(%rdi), %rsp + movq PCB_RBX(%rdi), %rbx + /* Restore return address. */ movq PCB_RIP(%rdi), %rax movq %rax, (%rsp) From owner-svn-src-head@FreeBSD.ORG Sat Feb 4 00:54:44 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A8739106564A; Sat, 4 Feb 2012 00:54:44 +0000 (UTC) (envelope-from rmh@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 94D888FC0A; Sat, 4 Feb 2012 00:54:44 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q140sifn012256; Sat, 4 Feb 2012 00:54:44 GMT (envelope-from rmh@svn.freebsd.org) Received: (from rmh@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q140siBP012241; Sat, 4 Feb 2012 00:54:44 GMT (envelope-from rmh@svn.freebsd.org) Message-Id: <201202040054.q140siBP012241@svn.freebsd.org> From: Robert Millan Date: Sat, 4 Feb 2012 00:54:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230972 - in head: share/mk sys/amd64/conf sys/i386/conf sys/modules sys/modules/drm sys/modules/sound/driver sys/modules/usb tools/build/options X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Feb 2012 00:54:44 -0000 Author: rmh Date: Sat Feb 4 00:54:43 2012 New Revision: 230972 URL: http://svn.freebsd.org/changeset/base/230972 Log: Add MK_SOURCELESS build option. Setting MK_SOURCELESS to "no" will disable kernel modules that include binary-only code. More fine-grained control is provided via MK_SOURCELESS_HOST (for native code that runs on host CPU) and MK_SOURCELESS_UCODE (for microcode). Reviewed by: julian, delphij, freebsd-arch Approved by: kib (mentor) MFC after: 2 weeks Added: head/sys/amd64/conf/WITHOUT_SOURCELESS (contents, props changed) head/sys/amd64/conf/WITHOUT_SOURCELESS_HOST (contents, props changed) head/sys/amd64/conf/WITHOUT_SOURCELESS_UCODE (contents, props changed) head/sys/i386/conf/WITHOUT_SOURCELESS (contents, props changed) head/sys/i386/conf/WITHOUT_SOURCELESS_HOST (contents, props changed) head/sys/i386/conf/WITHOUT_SOURCELESS_UCODE (contents, props changed) head/tools/build/options/WITHOUT_SOURCELESS (contents, props changed) head/tools/build/options/WITHOUT_SOURCELESS_HOST (contents, props changed) head/tools/build/options/WITHOUT_SOURCELESS_UCODE (contents, props changed) Modified: head/share/mk/bsd.own.mk head/sys/modules/Makefile head/sys/modules/drm/Makefile head/sys/modules/sound/driver/Makefile head/sys/modules/usb/Makefile Modified: head/share/mk/bsd.own.mk ============================================================================== --- head/share/mk/bsd.own.mk Fri Feb 3 23:36:08 2012 (r230971) +++ head/share/mk/bsd.own.mk Sat Feb 4 00:54:43 2012 (r230972) @@ -320,6 +320,9 @@ __DEFAULT_YES_OPTIONS = \ BOOT \ BSD_CPIO \ BSNMP \ + SOURCELESS \ + SOURCELESS_HOST \ + SOURCELESS_UCODE \ BZIP2 \ CALENDAR \ CAPSICUM \ @@ -511,6 +514,11 @@ MK_BIND_UTILS:= no MK_BIND_ETC:= no .endif +.if ${MK_SOURCELESS} == "no" +MK_SOURCELESS_HOST:= no +MK_SOURCELESS_UCODE:= no +.endif + .if ${MK_CDDL} == "no" MK_ZFS:= no MK_CTF:= no Added: head/sys/amd64/conf/WITHOUT_SOURCELESS ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/amd64/conf/WITHOUT_SOURCELESS Sat Feb 4 00:54:43 2012 (r230972) @@ -0,0 +1,7 @@ +# +# WITHOUT_SOURCELESS -- Disable drivers that include sourceless code. +# +# $FreeBSD$ + +include WITHOUT_SOURCELESS_HOST +include WITHOUT_SOURCELESS_UCODE Added: head/sys/amd64/conf/WITHOUT_SOURCELESS_HOST ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/amd64/conf/WITHOUT_SOURCELESS_HOST Sat Feb 4 00:54:43 2012 (r230972) @@ -0,0 +1,10 @@ +# +# WITHOUT_SOURCELESS_UCODE -- Disable drivers that include sourceless +# native code for host CPU. +# +# $FreeBSD$ + +nodevice hpt27xx +nodevice hptmv +nodevice hptrr +nodevice nve Added: head/sys/amd64/conf/WITHOUT_SOURCELESS_UCODE ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/amd64/conf/WITHOUT_SOURCELESS_UCODE Sat Feb 4 00:54:43 2012 (r230972) @@ -0,0 +1,40 @@ +# +# WITHOUT_SOURCELESS_UCODE -- Disable drivers that include sourceless +# microcode. +# +# $FreeBSD$ + +nodevice bce +nodevice fatm +nodevice fxp +nodevice ispfw +nodevice mwlfw +nodevice ralfw +nodevice runfw +nodevice sf +nodevice sn +nodevice ti +nodevice txp +nodevice ce +nodevice cp +nodevice ctau +nodevice ipwfw +nodevice iwifw +nodevice iwnfw +nodevice wpifw + +# drm +nodevice mga +nodevice r128 +nodevice radeon + +# sound +nodevice csa +nodevice ds1 +nodevice maestro3 + +# usb +nodevice rum +nodevice uath +nodevice zyd +nodevice kue Added: head/sys/i386/conf/WITHOUT_SOURCELESS ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/i386/conf/WITHOUT_SOURCELESS Sat Feb 4 00:54:43 2012 (r230972) @@ -0,0 +1,7 @@ +# +# WITHOUT_SOURCELESS -- Disable drivers that include sourceless code. +# +# $FreeBSD$ + +include WITHOUT_SOURCELESS_HOST +include WITHOUT_SOURCELESS_UCODE Added: head/sys/i386/conf/WITHOUT_SOURCELESS_HOST ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/i386/conf/WITHOUT_SOURCELESS_HOST Sat Feb 4 00:54:43 2012 (r230972) @@ -0,0 +1,10 @@ +# +# WITHOUT_SOURCELESS_UCODE -- Disable drivers that include sourceless +# native code for host CPU. +# +# $FreeBSD$ + +nodevice hpt27xx +nodevice hptmv +nodevice hptrr +nodevice nve Added: head/sys/i386/conf/WITHOUT_SOURCELESS_UCODE ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/i386/conf/WITHOUT_SOURCELESS_UCODE Sat Feb 4 00:54:43 2012 (r230972) @@ -0,0 +1,40 @@ +# +# WITHOUT_SOURCELESS_UCODE -- Disable drivers that include sourceless +# microcode. +# +# $FreeBSD$ + +nodevice bce +nodevice fatm +nodevice fxp +nodevice ispfw +nodevice mwlfw +nodevice ralfw +nodevice runfw +nodevice sf +nodevice sn +nodevice ti +nodevice txp +nodevice ce +nodevice cp +nodevice ctau +nodevice ipwfw +nodevice iwifw +nodevice iwnfw +nodevice wpifw + +# drm +nodevice mga +nodevice r128 +nodevice radeon + +# sound +nodevice csa +nodevice ds1 +nodevice maestro3 + +# usb +nodevice rum +nodevice uath +nodevice zyd +nodevice kue Modified: head/sys/modules/Makefile ============================================================================== --- head/sys/modules/Makefile Fri Feb 3 23:36:08 2012 (r230971) +++ head/sys/modules/Makefile Sat Feb 4 00:54:43 2012 (r230972) @@ -2,6 +2,9 @@ .include +# Modules that include binary-only blobs of microcode should be selectable by +# MK_SOURCELESS_UCODE option (see below). + SUBDIR= ${_3dfx} \ ${_3dfx_linux} \ ${_aac} \ @@ -36,7 +39,7 @@ SUBDIR= ${_3dfx} \ ath \ ath_pci \ ${_auxio} \ - bce \ + ${_bce} \ bfe \ bge \ ${_bxe} \ @@ -95,13 +98,13 @@ SUBDIR= ${_3dfx} \ ${_ex} \ ${_exca} \ ${_ext2fs} \ - fatm \ + ${_fatm} \ fdc \ fdescfs \ ${_fe} \ firewire \ firmware \ - fxp \ + ${_fxp} \ gem \ geom \ ${_glxiic} \ @@ -148,7 +151,7 @@ SUBDIR= ${_3dfx} \ ${_isci} \ iscsi \ isp \ - ispfw \ + ${_ispfw} \ ${_iwi} \ ${_iwifw} \ ${_iwn} \ @@ -209,7 +212,7 @@ SUBDIR= ${_3dfx} \ ${_mthca} \ mvs \ mwl \ - mwlfw \ + ${_mwlfw} \ mxge \ my \ ${_ncp} \ @@ -259,14 +262,14 @@ SUBDIR= ${_3dfx} \ puc \ ${_qlxgb} \ ral \ - ralfw \ + ${_ralfw} \ ${_random} \ rc4 \ ${_rdma} \ re \ reiserfs \ rl \ - runfw \ + ${_runfw} \ ${_s3} \ ${_safe} \ ${_sbni} \ @@ -276,7 +279,7 @@ SUBDIR= ${_3dfx} \ sdhci \ sem \ send \ - sf \ + ${_sf} \ ${_sfxge} \ sge \ siba_bwn \ @@ -285,7 +288,7 @@ SUBDIR= ${_3dfx} \ sis \ sk \ ${_smbfs} \ - sn \ + ${_sn} \ ${_snc} \ snp \ ${_sound} \ @@ -300,7 +303,7 @@ SUBDIR= ${_3dfx} \ ${_sym} \ ${_syscons} \ sysvipc \ - ti \ + ${_ti} \ tl \ tmpfs \ ${_tpm} \ @@ -309,7 +312,7 @@ SUBDIR= ${_3dfx} \ twe \ tws \ tx \ - txp \ + ${_txp} \ uart \ ubsec \ udf \ @@ -358,8 +361,10 @@ _vpo= vpo # No barrier instruction support (specific to this driver) _sym= sym # intr_disable() is a macro, causes problems +.if ${MK_SOURCELESS_UCODE} != "no" _cxgb= cxgb .endif +.endif .if ${MK_CRYPT} != "no" || defined(ALL_MODULES) .if exists(${.CURDIR}/../opencrypto) @@ -402,6 +407,20 @@ _pfsync= pfsync .endif .endif +.if ${MK_SOURCELESS_UCODE} != "no" +_bce= bce +_fatm= fatm +_fxp= fxp +_ispfw= ispfw +_mwlfw= mwlfw +_ralfw= ralfw +_runfw= runfw +_sf= sf +_sn= sn +_ti= ti +_txp= txp +.endif + .if ${MACHINE_CPUARCH} == "i386" # XXX some of these can move to the general case when de-i386'ed # XXX some of these can move now, but are untested on other architectures. @@ -417,9 +436,13 @@ _bktr= bktr _bxe= bxe _cardbus= cardbus _cbb= cbb +.if ${MK_SOURCELESS_UCODE} != "no" _ce= ce +.endif _coff= coff +.if ${MK_SOURCELESS_UCODE} != "no" _cp= cp +.endif _cpuctl= cpuctl _cpufreq= cpufreq _cs= cs @@ -508,36 +531,52 @@ _ciss= ciss _cm= cm _cmx= cmx _coretemp= coretemp +.if ${MK_SOURCELESS_UCODE} != "no" _ctau= ctau +.endif _dpt= dpt _ex= ex +.if ${MK_SOURCELESS_HOST} != "no" _hpt27xx= hpt27xx +.endif _hptiop= hptiop +.if ${MK_SOURCELESS_HOST} != "no" _hptmv= hptmv _hptrr= hptrr +.endif _ichwd= ichwd _ida= ida _iir= iir _ipmi= ipmi _ips= ips _ipw= ipw +.if ${MK_SOURCELESS_UCODE} != "no" _ipwfw= ipwfw +.endif _isci= isci _iwi= iwi +.if ${MK_SOURCELESS_UCODE} != "no" _iwifw= iwifw +.endif _iwn= iwn +.if ${MK_SOURCELESS_UCODE} != "no" _iwnfw= iwnfw +.endif _ixgb= ixgb _ixgbe= ixgbe _mly= mly _nfe= nfe +.if ${MK_SOURCELESS_HOST} != "no" _nve= nve +.endif _nvram= nvram _nxge= nxge _tpm= tpm _viawd= viawd _wpi= wpi +.if ${MK_SOURCELESS_UCODE} != "no" _wpifw= wpifw +.endif .if ${MK_CRYPT} != "no" || defined(ALL_MODULES) _padlock= padlock .endif @@ -589,10 +628,14 @@ _et= et _em= em _exca= exca _ext2fs= ext2fs +.if ${MK_SOURCELESS_HOST} != "no" _hpt27xx= hpt27xx +.endif _hptiop= hptiop +.if ${MK_SOURCELESS_HOST} != "no" _hptmv= hptmv _hptrr= hptrr +.endif _i2c= i2c _ichwd= ichwd _ida= ida @@ -603,12 +646,18 @@ _io= io _ipmi= ipmi _ips= ips _ipw= ipw +.if ${MK_SOURCELESS_UCODE} != "no" _ipwfw= ipwfw +.endif _isci= isci _iwi= iwi +.if ${MK_SOURCELESS_UCODE} != "no" _iwifw= iwifw +.endif _iwn= iwn +.if ${MK_SOURCELESS_UCODE} != "no" _iwnfw= iwnfw +.endif _ixgb= ixgb _ixgbe= ixgbe _lindev= lindev @@ -624,7 +673,9 @@ _mthca= mthca .endif _ndis= ndis _nfe= nfe +.if ${MK_SOURCELESS_HOST} != "no" _nve= nve +.endif _nvram= nvram _nxge= nxge .if ${MK_CDDL} != "no" || defined(ALL_MODULES) @@ -654,7 +705,9 @@ _vxge= vxge _x86bios= x86bios _wi= wi _wpi= wpi +.if ${MK_SOURCELESS_UCODE} != "no" _wpifw= wpifw +.endif .if ${MK_ZFS} != "no" || defined(ALL_MODULES) _zfs= zfs .endif Modified: head/sys/modules/drm/Makefile ============================================================================== --- head/sys/modules/drm/Makefile Fri Feb 3 23:36:08 2012 (r230971) +++ head/sys/modules/drm/Makefile Sat Feb 4 00:54:43 2012 (r230972) @@ -1,15 +1,26 @@ # $FreeBSD$ +.include + +# Modules that include binary-only blobs of microcode should be selectable by +# MK_SOURCELESS_UCODE option (see below). + SUBDIR = \ drm \ i915 \ mach64 \ - mga \ - r128 \ - radeon \ + ${_mga} \ + ${_r128} \ + ${_radeon} \ savage \ sis \ tdfx \ via +.if ${MK_SOURCELESS_UCODE} != "no" +_mga= mga +_r128= r128 +_radeon= radeon +.endif + .include Modified: head/sys/modules/sound/driver/Makefile ============================================================================== --- head/sys/modules/sound/driver/Makefile Fri Feb 3 23:36:08 2012 (r230971) +++ head/sys/modules/sound/driver/Makefile Sat Feb 4 00:54:43 2012 (r230972) @@ -1,10 +1,21 @@ # $FreeBSD$ -SUBDIR= ad1816 als4000 atiixp cs4281 csa ds1 emu10k1 emu10kx -SUBDIR+= envy24 envy24ht es137x ess fm801 hda ich maestro maestro3 +.include + +# Modules that include binary-only blobs of microcode should be selectable by +# MK_SOURCELESS_UCODE option (see below). + +SUBDIR= ad1816 als4000 atiixp cs4281 ${_csa} ${_ds1} emu10k1 emu10kx +SUBDIR+= envy24 envy24ht es137x ess fm801 hda ich maestro ${_maestro3} SUBDIR+= neomagic sb16 sb8 sbc solo spicds t4dwave via8233 SUBDIR+= via82c686 vibes driver uaudio +.if ${MK_SOURCELESS_UCODE} != "no" +_csa= csa +_ds1= ds1 +_maestro3= maestro3 +.endif + .if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64" SUBDIR+= cmi mss .endif Modified: head/sys/modules/usb/Makefile ============================================================================== --- head/sys/modules/usb/Makefile Fri Feb 3 23:36:08 2012 (r230971) +++ head/sys/modules/usb/Makefile Sat Feb 4 00:54:43 2012 (r230972) @@ -25,16 +25,28 @@ # SUCH DAMAGE. # +.include + +# Modules that include binary-only blobs of microcode should be selectable by +# MK_SOURCELESS_UCODE option (see below). + SUBDIR = usb SUBDIR += ehci musb ohci uhci xhci uss820dci ${_at91dci} ${_atmegadci} ${_avr32dci} -SUBDIR += rum run uath upgt usie ural zyd ${_urtw} +SUBDIR += ${_rum} run ${_uath} upgt usie ural ${_zyd} ${_urtw} SUBDIR += atp uhid ukbd ums udbp ufm uep SUBDIR += ucom u3g uark ubsa ubser uchcom ucycom ufoma uftdi ugensa uipaq ulpt \ umct umcs umodem umoscom uplcom uslcom uvisor uvscom -SUBDIR += uether aue axe cdce cue kue mos rue udav uhso ipheth +SUBDIR += uether aue axe cdce cue ${_kue} mos rue udav uhso ipheth SUBDIR += usfs umass urio SUBDIR += quirk template +.if ${MK_SOURCELESS_UCODE} != "no" +_rum= rum +_uath= uath +_zyd= zyd +_kue= kue +.endif + .if ${MACHINE_CPUARCH} == "amd64" _urtw= urtw .endif Added: head/tools/build/options/WITHOUT_SOURCELESS ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/tools/build/options/WITHOUT_SOURCELESS Sat Feb 4 00:54:43 2012 (r230972) @@ -0,0 +1,2 @@ +.\" $FreeBSD$ +Set to not build kernel modules that include sourceless code (either microcode or native code for host CPU). Added: head/tools/build/options/WITHOUT_SOURCELESS_HOST ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/tools/build/options/WITHOUT_SOURCELESS_HOST Sat Feb 4 00:54:43 2012 (r230972) @@ -0,0 +1,2 @@ +.\" $FreeBSD$ +Set to not build kernel modules that include sourceless native code for host CPU. Added: head/tools/build/options/WITHOUT_SOURCELESS_UCODE ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/tools/build/options/WITHOUT_SOURCELESS_UCODE Sat Feb 4 00:54:43 2012 (r230972) @@ -0,0 +1,2 @@ +.\" $FreeBSD$ +Set to not build kernel modules that include sourceless microcode. From owner-svn-src-head@FreeBSD.ORG Sat Feb 4 07:43:18 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E06221065688; Sat, 4 Feb 2012 07:43:18 +0000 (UTC) (envelope-from pawel@dawidek.net) Received: from mail.dawidek.net (60.wheelsystems.com [83.12.187.60]) by mx1.freebsd.org (Postfix) with ESMTP id 90F5B8FC19; Sat, 4 Feb 2012 07:43:18 +0000 (UTC) Received: from localhost (89-73-195-149.dynamic.chello.pl [89.73.195.149]) by mail.dawidek.net (Postfix) with ESMTPSA id E0974328; Sat, 4 Feb 2012 08:43:15 +0100 (CET) Date: Sat, 4 Feb 2012 08:42:01 +0100 From: Pawel Jakub Dawidek To: Guy Helmer Message-ID: <20120204074201.GA1694@garage.freebsd.pl> References: <201202011641.q11Gf0j6095461@svn.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="pWyiEgJYm5f9v55/" Content-Disposition: inline In-Reply-To: <201202011641.q11Gf0j6095461@svn.freebsd.org> X-OS: FreeBSD 9.0-CURRENT amd64 User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r230869 - head/usr.sbin/daemon X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Feb 2012 07:43:19 -0000 --pWyiEgJYm5f9v55/ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Feb 01, 2012 at 04:41:00PM +0000, Guy Helmer wrote: > Author: ghelmer > Date: Wed Feb 1 16:40:59 2012 > New Revision: 230869 > URL: http://svn.freebsd.org/changeset/base/230869 >=20 > Log: > Change the notes about the pidfile to include Doug's preference > for pre-creating the pidfile with appropriate owner and permissions. > =20 > Requested by dougb Pre-creating pidfiles? That sounds weird. The common practise is to turn eg. /var/run/.pid into /var/run//pid where directory has appropriate permissions. Pre-creating pidfiles is simply wrong, because applications create pidfile on start and unlink it on exit. If application has no permission to remove files from /var/run/ it will leave pidfile with stale PID in it, which is bad. Changing application to truncate pidfile on exit instead of unlinking it also is a bad idea especially because there is working solution - pid directory. --=20 Pawel Jakub Dawidek http://www.wheelsystems.com FreeBSD committer http://www.FreeBSD.org Am I Evil? Yes, I Am! http://tupytaj.pl --pWyiEgJYm5f9v55/ Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.18 (FreeBSD) iEYEARECAAYFAk8s4UkACgkQForvXbEpPzTYlgCcDd/fuSdpYRoAO+JpHNM2gfdx t6kAn3tu//ynWDKsXeIUmT+H/nuaxuZH =7xPX -----END PGP SIGNATURE----- --pWyiEgJYm5f9v55/-- From owner-svn-src-head@FreeBSD.ORG Sat Feb 4 07:59:12 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EDFFE106566B; Sat, 4 Feb 2012 07:59:12 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DCFD78FC13; Sat, 4 Feb 2012 07:59:12 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q147xCZS025610; Sat, 4 Feb 2012 07:59:12 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q147xCpD025608; Sat, 4 Feb 2012 07:59:12 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201202040759.q147xCpD025608@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Sat, 4 Feb 2012 07:59:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230976 - head/sbin/hastd X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Feb 2012 07:59:13 -0000 Author: pjd Date: Sat Feb 4 07:59:12 2012 New Revision: 230976 URL: http://svn.freebsd.org/changeset/base/230976 Log: Fix typo in comment. MFC after: 3 days Modified: head/sbin/hastd/parse.y Modified: head/sbin/hastd/parse.y ============================================================================== --- head/sbin/hastd/parse.y Sat Feb 4 04:31:28 2012 (r230975) +++ head/sbin/hastd/parse.y Sat Feb 4 07:59:12 2012 (r230976) @@ -85,7 +85,7 @@ isitme(const char *name) size_t bufsize; /* - * First check if the give name matches our full hostname. + * First check if the given name matches our full hostname. */ if (gethostname(buf, sizeof(buf)) < 0) { pjdlog_errno(LOG_ERR, "gethostname() failed"); From owner-svn-src-head@FreeBSD.ORG Sat Feb 4 08:03:02 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4C978106566B; Sat, 4 Feb 2012 08:03:02 +0000 (UTC) (envelope-from joel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3B68D8FC14; Sat, 4 Feb 2012 08:03:02 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q14832j4025842; Sat, 4 Feb 2012 08:03:02 GMT (envelope-from joel@svn.freebsd.org) Received: (from joel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q14832TQ025840; Sat, 4 Feb 2012 08:03:02 GMT (envelope-from joel@svn.freebsd.org) Message-Id: <201202040803.q14832TQ025840@svn.freebsd.org> From: Joel Dahl Date: Sat, 4 Feb 2012 08:03:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230977 - head/share/man/man7 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Feb 2012 08:03:02 -0000 Author: joel (doc committer) Date: Sat Feb 4 08:03:01 2012 New Revision: 230977 URL: http://svn.freebsd.org/changeset/base/230977 Log: Add /usr/src/cddl/ to the hierarchy. Modified: head/share/man/man7/hier.7 Modified: head/share/man/man7/hier.7 ============================================================================== --- head/share/man/man7/hier.7 Sat Feb 4 07:59:12 2012 (r230976) +++ head/share/man/man7/hier.7 Sat Feb 4 08:03:01 2012 (r230977) @@ -639,6 +639,8 @@ third-party, and/or local source files .Bl -tag -width ".Pa kerberos5/" -compact .It Pa bin/ source code for files in /bin +.It Pa cddl/ +Utilities covered by the Common Development and Distribution License .It Pa contrib/ source code for contributed software .It Pa crypto/ From owner-svn-src-head@FreeBSD.ORG Sat Feb 4 08:24:01 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 56C12106564A; Sat, 4 Feb 2012 08:24:01 +0000 (UTC) (envelope-from andrey@zonov.org) Received: from mail-bk0-f54.google.com (mail-bk0-f54.google.com [209.85.214.54]) by mx1.freebsd.org (Postfix) with ESMTP id A6BBF8FC0C; Sat, 4 Feb 2012 08:23:59 +0000 (UTC) Received: by bkbzx1 with SMTP id zx1so5002066bkb.13 for ; Sat, 04 Feb 2012 00:23:58 -0800 (PST) Received: by 10.204.143.131 with SMTP id v3mr4900132bku.44.1328343838654; Sat, 04 Feb 2012 00:23:58 -0800 (PST) Received: from [10.254.254.77] (ppp95-165-147-239.pppoe.spdop.ru. [95.165.147.239]) by mx.google.com with ESMTPS id cg2sm24123022bkb.12.2012.02.04.00.23.57 (version=SSLv3 cipher=OTHER); Sat, 04 Feb 2012 00:23:58 -0800 (PST) Message-ID: <4F2CEB1D.10607@zonov.org> Date: Sat, 04 Feb 2012 12:23:57 +0400 From: Andrey Zonov User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.24) Gecko/20100228 Thunderbird/2.0.0.24 Mnenhy/0.7.6.0 MIME-Version: 1.0 To: Pawel Jakub Dawidek References: <201202011641.q11Gf0j6095461@svn.freebsd.org> <20120204074201.GA1694@garage.freebsd.pl> In-Reply-To: <20120204074201.GA1694@garage.freebsd.pl> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Guy Helmer Subject: Re: svn commit: r230869 - head/usr.sbin/daemon X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Feb 2012 08:24:01 -0000 On 04.02.2012 11:42, Pawel Jakub Dawidek wrote: > On Wed, Feb 01, 2012 at 04:41:00PM +0000, Guy Helmer wrote: >> Author: ghelmer >> Date: Wed Feb 1 16:40:59 2012 >> New Revision: 230869 >> URL: http://svn.freebsd.org/changeset/base/230869 >> >> Log: >> Change the notes about the pidfile to include Doug's preference >> for pre-creating the pidfile with appropriate owner and permissions. >> >> Requested by dougb > > Pre-creating pidfiles? That sounds weird. The common practise is to turn > eg. /var/run/.pid into /var/run//pid where directory > has appropriate permissions. Pre-creating pidfiles is simply wrong, > because applications create pidfile on start and unlink it on exit. > If application has no permission to remove files from /var/run/ it will > leave pidfile with stale PID in it, which is bad. Changing application > to truncate pidfile on exit instead of unlinking it also is a bad idea > especially because there is working solution - pid directory. > Hi, There's even worse problem - kernel closes pidfile in execvp() because of FD_CLOEXEC flag is set and daemon doesn't hold lock on pidfile. I reported about that earlier, but was ignored. -- Andrey Zonov From owner-svn-src-head@FreeBSD.ORG Sat Feb 4 09:48:26 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 010C3106566B; Sat, 4 Feb 2012 09:48:26 +0000 (UTC) (envelope-from zeising@daemonic.se) Received: from mail.lysator.liu.se (mail.lysator.liu.se [IPv6:2001:6b0:17:f0a0::3]) by mx1.freebsd.org (Postfix) with ESMTP id 6B3A28FC13; Sat, 4 Feb 2012 09:48:25 +0000 (UTC) Received: from mail.lysator.liu.se (localhost [127.0.0.1]) by mail.lysator.liu.se (Postfix) with ESMTP id 4818640010; Sat, 4 Feb 2012 10:48:24 +0100 (CET) Received: by mail.lysator.liu.se (Postfix, from userid 1004) id 3D34F4000F; Sat, 4 Feb 2012 10:48:24 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on bernadotte.lysator.liu.se X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=AWL autolearn=disabled version=3.3.1 X-Spam-Score: 0.0 Received: from mx.daemonic.se (mx.daemonic.se [IPv6:2001:470:dca9:0:1::3]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.lysator.liu.se (Postfix) with ESMTPSA id B1AA34000F; Sat, 4 Feb 2012 10:48:23 +0100 (CET) Received: from mailscanner.daemonic.se (mailscanner.daemonic.se [IPv6:2001:470:dca9:0:1::6]) by mx.daemonic.se (Postfix) with ESMTPS id 24CF9119D3D; Sat, 4 Feb 2012 10:48:23 +0100 (CET) X-Virus-Scanned: amavisd-new at daemonic.se Received: from mx.daemonic.se ([IPv6:2001:470:dca9:0:1::3]) (using TLS with cipher CAMELLIA256-SHA) by mailscanner.daemonic.se (mailscanner.daemonic.se [2001:470:dca9:0:1::6]) (amavisd-new, port 10025) with ESMTPS id 6nvIlr2ARTQs; Sat, 4 Feb 2012 10:48:20 +0100 (CET) Received: from mail.daemonic.se (mail.daemonic.se [IPv6:2001:470:dca9:0:1::4]) by mx.daemonic.se (Postfix) with ESMTPS id 84F8C119D3C; Sat, 4 Feb 2012 10:48:20 +0100 (CET) Received: from [IPv6:2001:470:dca9:1::4] (vivi.daemonic.se [IPv6:2001:470:dca9:1::4]) by mail.daemonic.se (Postfix) with ESMTPSA id 661A312B089; Sat, 4 Feb 2012 10:48:20 +0100 (CET) Message-ID: <4F2CFEE3.6070306@daemonic.se> Date: Sat, 04 Feb 2012 10:48:19 +0100 From: Niclas Zeising User-Agent: Mutt/1.5.21 MIME-Version: 1.0 To: Robert Millan References: <201202040054.q140siBP012241@svn.freebsd.org> In-Reply-To: <201202040054.q140siBP012241@svn.freebsd.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV using ClamSMTP Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r230972 - in head: share/mk sys/amd64/conf sys/i386/conf sys/modules sys/modules/drm sys/modules/sound/driver sys/modules/usb tools/build/options X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Feb 2012 09:48:26 -0000 On 2012-02-04 01:54, Robert Millan wrote: > Author: rmh > Date: Sat Feb 4 00:54:43 2012 > New Revision: 230972 > URL: http://svn.freebsd.org/changeset/base/230972 > > Log: > Add MK_SOURCELESS build option. Setting MK_SOURCELESS to "no" will disable > kernel modules that include binary-only code. > > More fine-grained control is provided via MK_SOURCELESS_HOST (for native code > that runs on host CPU) and MK_SOURCELESS_UCODE (for microcode). > > Reviewed by: julian, delphij, freebsd-arch > Approved by: kib (mentor) > MFC after: 2 weeks > > Added: > head/sys/amd64/conf/WITHOUT_SOURCELESS (contents, props changed) > head/sys/amd64/conf/WITHOUT_SOURCELESS_HOST (contents, props changed) > head/sys/amd64/conf/WITHOUT_SOURCELESS_UCODE (contents, props changed) > head/sys/i386/conf/WITHOUT_SOURCELESS (contents, props changed) > head/sys/i386/conf/WITHOUT_SOURCELESS_HOST (contents, props changed) > head/sys/i386/conf/WITHOUT_SOURCELESS_UCODE (contents, props changed) > head/tools/build/options/WITHOUT_SOURCELESS (contents, props changed) > head/tools/build/options/WITHOUT_SOURCELESS_HOST (contents, props changed) > head/tools/build/options/WITHOUT_SOURCELESS_UCODE (contents, props changed) > Modified: > head/share/mk/bsd.own.mk > head/sys/modules/Makefile > head/sys/modules/drm/Makefile > head/sys/modules/sound/driver/Makefile > head/sys/modules/usb/Makefile > > > Added: head/sys/amd64/conf/WITHOUT_SOURCELESS_HOST > ============================================================================== > --- /dev/null 00:00:00 1970 (empty, because file is newly added) > +++ head/sys/amd64/conf/WITHOUT_SOURCELESS_HOST Sat Feb 4 00:54:43 2012 (r230972) > @@ -0,0 +1,10 @@ > +# > +# WITHOUT_SOURCELESS_UCODE -- Disable drivers that include sourceless ^^^^^ This seems like a typo. Shouldn't it read HOST instead? > +# native code for host CPU. > +# > +# $FreeBSD$ > + > +nodevice hpt27xx > +nodevice hptmv > +nodevice hptrr > +nodevice nve > > > Added: head/sys/i386/conf/WITHOUT_SOURCELESS_HOST > ============================================================================== > --- /dev/null 00:00:00 1970 (empty, because file is newly added) > +++ head/sys/i386/conf/WITHOUT_SOURCELESS_HOST Sat Feb 4 00:54:43 2012 (r230972) > @@ -0,0 +1,10 @@ > +# > +# WITHOUT_SOURCELESS_UCODE -- Disable drivers that include sourceless ^^^^^ Same here. > +# native code for host CPU. > +# > +# $FreeBSD$ > + > +nodevice hpt27xx > +nodevice hptmv > +nodevice hptrr > +nodevice nve > > Also, can you please regenerate the src.conf manual page? Perhaps it should be documented somewhere which drivers/modules that are affected by this as well. Thank you! Regards! -- Niclas From owner-svn-src-head@FreeBSD.ORG Sat Feb 4 12:58:45 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ABFA41065673; Sat, 4 Feb 2012 12:58:45 +0000 (UTC) (envelope-from bzeeb-lists@lists.zabbadoz.net) Received: from mx1.sbone.de (mx1.sbone.de [IPv6:2a01:4f8:130:3ffc::401:25]) by mx1.freebsd.org (Postfix) with ESMTP id 2F3D18FC0A; Sat, 4 Feb 2012 12:58:45 +0000 (UTC) Received: from mail.sbone.de (mail.sbone.de [IPv6:fde9:577b:c1a9:31::2013:587]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mx1.sbone.de (Postfix) with ESMTPS id 1518E25D3888; Sat, 4 Feb 2012 12:58:43 +0000 (UTC) Received: from content-filter.sbone.de (content-filter.sbone.de [IPv6:fde9:577b:c1a9:31::2013:2742]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPS id 1933ABDAA27; Sat, 4 Feb 2012 12:58:43 +0000 (UTC) X-Virus-Scanned: amavisd-new at sbone.de Received: from mail.sbone.de ([IPv6:fde9:577b:c1a9:31::2013:587]) by content-filter.sbone.de (content-filter.sbone.de [fde9:577b:c1a9:31::2013:2742]) (amavisd-new, port 10024) with ESMTP id sE6Me9Ccx3cd; Sat, 4 Feb 2012 12:58:41 +0000 (UTC) Received: from orange-en1.sbone.de (orange-en1.sbone.de [IPv6:fde9:577b:c1a9:31:cabc:c8ff:fecf:e8e3]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPSA id 4A24ABDAA26; Sat, 4 Feb 2012 12:58:41 +0000 (UTC) Mime-Version: 1.0 (Apple Message framework v1084) Content-Type: text/plain; charset=us-ascii From: "Bjoern A. Zeeb" In-Reply-To: <4F2CFEE3.6070306@daemonic.se> Date: Sat, 4 Feb 2012 12:58:40 +0000 Content-Transfer-Encoding: quoted-printable Message-Id: References: <201202040054.q140siBP012241@svn.freebsd.org> <4F2CFEE3.6070306@daemonic.se> To: Robert Millan X-Mailer: Apple Mail (2.1084) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r230972 - in head: share/mk sys/amd64/conf sys/i386/conf sys/modules sys/modules/drm sys/modules/sound/driver sys/modules/usb tools/build/options X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Feb 2012 12:58:45 -0000 On 4. Feb 2012, at 09:48 , Niclas Zeising wrote: > On 2012-02-04 01:54, Robert Millan wrote: >> Author: rmh >> Date: Sat Feb 4 00:54:43 2012 >> New Revision: 230972 >> URL: http://svn.freebsd.org/changeset/base/230972 >>=20 >> Log: >> Add MK_SOURCELESS build option. Setting MK_SOURCELESS to "no" will = disable >> kernel modules that include binary-only code. >>=20 >> More fine-grained control is provided via MK_SOURCELESS_HOST (for = native code >> that runs on host CPU) and MK_SOURCELESS_UCODE (for microcode). >>=20 >> Reviewed by: julian, delphij, freebsd-arch >> Approved by: kib (mentor) >> MFC after: 2 weeks >>=20 >> Added: >> head/sys/amd64/conf/WITHOUT_SOURCELESS (contents, props changed) >> head/sys/amd64/conf/WITHOUT_SOURCELESS_HOST (contents, props = changed) >> head/sys/amd64/conf/WITHOUT_SOURCELESS_UCODE (contents, props = changed) >> head/sys/i386/conf/WITHOUT_SOURCELESS (contents, props changed) >> head/sys/i386/conf/WITHOUT_SOURCELESS_HOST (contents, props = changed) >> head/sys/i386/conf/WITHOUT_SOURCELESS_UCODE (contents, props = changed) >> head/tools/build/options/WITHOUT_SOURCELESS (contents, props = changed) >> head/tools/build/options/WITHOUT_SOURCELESS_HOST (contents, props = changed) >> head/tools/build/options/WITHOUT_SOURCELESS_UCODE (contents, props = changed) >> Modified: >> head/share/mk/bsd.own.mk >> head/sys/modules/Makefile >> head/sys/modules/drm/Makefile >> head/sys/modules/sound/driver/Makefile >> head/sys/modules/usb/Makefile >>=20 >>=20 >> Added: head/sys/amd64/conf/WITHOUT_SOURCELESS_HOST >> = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D >> --- /dev/null 00:00:00 1970 (empty, because file is newly = added) >> +++ head/sys/amd64/conf/WITHOUT_SOURCELESS_HOST Sat Feb 4 = 00:54:43 2012 (r230972) >> @@ -0,0 +1,10 @@ >> +# >> +# WITHOUT_SOURCELESS_UCODE -- Disable drivers that include = sourceless > ^^^^^ > This seems like a typo. Shouldn't it read HOST instead? >> +# native code for host CPU. >> +# >> +# $FreeBSD$ >> + >> +nodevice hpt27xx >> +nodevice hptmv >> +nodevice hptrr >> +nodevice nve >>=20 >>=20 >> Added: head/sys/i386/conf/WITHOUT_SOURCELESS_HOST >> = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D >> --- /dev/null 00:00:00 1970 (empty, because file is newly = added) >> +++ head/sys/i386/conf/WITHOUT_SOURCELESS_HOST Sat Feb 4 = 00:54:43 2012 (r230972) >> @@ -0,0 +1,10 @@ >> +# >> +# WITHOUT_SOURCELESS_UCODE -- Disable drivers that include = sourceless > ^^^^^ > Same here. >> +# native code for host CPU. >> +# >> +# $FreeBSD$ >> + >> +nodevice hpt27xx >> +nodevice hptmv >> +nodevice hptrr >> +nodevice nve >>=20 >>=20 >=20 > Also, can you please regenerate the src.conf manual page? Perhaps it > should be documented somewhere which drivers/modules that are affected > by this as well. And can you please include GENERIC at least in these kernel configs? = They are not building and this breaks a make universe and I guess = eventually the tinderbox as well... /bz --=20 Bjoern A. Zeeb You have to have visions! It does not matter how good you are. It matters what good you do! From owner-svn-src-head@FreeBSD.ORG Sat Feb 4 13:12:53 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8930E1065672; Sat, 4 Feb 2012 13:12:53 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 77F898FC08; Sat, 4 Feb 2012 13:12:53 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q14DCrjA036725; Sat, 4 Feb 2012 13:12:53 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q14DCrIV036723; Sat, 4 Feb 2012 13:12:53 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201202041312.q14DCrIV036723@svn.freebsd.org> From: Konstantin Belousov Date: Sat, 4 Feb 2012 13:12:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230978 - head/usr.sbin/boot0cfg X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Feb 2012 13:12:53 -0000 Author: kib Date: Sat Feb 4 13:12:52 2012 New Revision: 230978 URL: http://svn.freebsd.org/changeset/base/230978 Log: Be as explicit as possible when describing relation between the -m mask argument and slices. Adjust example for the same reason. Submitted by: Valentin Nechayev MFC after: 3 days Modified: head/usr.sbin/boot0cfg/boot0cfg.8 Modified: head/usr.sbin/boot0cfg/boot0cfg.8 ============================================================================== --- head/usr.sbin/boot0cfg/boot0cfg.8 Sat Feb 4 08:03:01 2012 (r230977) +++ head/usr.sbin/boot0cfg/boot0cfg.8 Sat Feb 4 13:12:52 2012 (r230978) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd November 7, 2011 +.Dd February 4, 2012 .Dt BOOT0CFG 8 .Os .Sh NAME @@ -114,6 +114,9 @@ Specify slices to be enabled/disabled, w .Ar mask is an integer between 0 (no slices enabled) and 0xf (all four slices enabled). +Each mask bit enables corresponding slice if set to 1. +The least significant bit of the mask corresponds to slice 1, +the most significant bit of the mask corresponds to slice 4. .It Fl o Ar options A comma-separated string of any of the following options may be specified (with @@ -172,9 +175,9 @@ To boot slice 2 on the next boot: .Pp .Dl "boot0cfg -s 2 ad0" .Pp -To enable just slices 1 and 2 in the menu: +To enable just slices 1 and 3 in the menu: .Pp -.Dl "boot0cfg -m 0x3 ad0" +.Dl "boot0cfg -m 0x5 ad0" .Pp To go back to non-interactive booting, use .Xr fdisk 8 From owner-svn-src-head@FreeBSD.ORG Sat Feb 4 13:37:32 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 18542106567B; Sat, 4 Feb 2012 13:37:32 +0000 (UTC) (envelope-from jh@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id EFBA58FC1B; Sat, 4 Feb 2012 13:37:31 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q14DbVZt037488; Sat, 4 Feb 2012 13:37:31 GMT (envelope-from jh@svn.freebsd.org) Received: (from jh@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q14DbVTn037485; Sat, 4 Feb 2012 13:37:31 GMT (envelope-from jh@svn.freebsd.org) Message-Id: <201202041337.q14DbVTn037485@svn.freebsd.org> From: Jaakko Heinonen Date: Sat, 4 Feb 2012 13:37:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230979 - head/usr.bin/touch X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Feb 2012 13:37:32 -0000 Author: jh Date: Sat Feb 4 13:37:31 2012 New Revision: 230979 URL: http://svn.freebsd.org/changeset/base/230979 Log: Remove useless and potentially dangerous rw() function which tries to update access and modification times by reading and writing the file. chmod(2) in rw() doesn't help because utimes(2) allow owner and the super-user to change times. Using just utimes(2) should be sufficient. The -f option becomes no-op. Reviewed by: jilles Modified: head/usr.bin/touch/touch.1 head/usr.bin/touch/touch.c Modified: head/usr.bin/touch/touch.1 ============================================================================== --- head/usr.bin/touch/touch.1 Sat Feb 4 13:12:52 2012 (r230978) +++ head/usr.bin/touch/touch.1 Sat Feb 4 13:37:31 2012 (r230979) @@ -31,7 +31,7 @@ .\" @(#)touch.1 8.3 (Berkeley) 4/28/95 .\" $FreeBSD$ .\" -.Dd April 28, 1995 +.Dd February 4, 2012 .Dt TOUCH 1 .Os .Sh NAME @@ -40,7 +40,7 @@ .Sh SYNOPSIS .Nm .Op Fl A Ar [-][[hh]mm]SS -.Op Fl acfhm +.Op Fl achm .Op Fl r Ar file .Op Fl t Ar [[CC]YY]MMDDhhmm[.SS] .Ar @@ -109,9 +109,6 @@ The .Nm utility does not treat this as an error. No error messages are displayed and the exit value is not affected. -.It Fl f -Attempt to force the update, even if the file permissions do not -currently permit it. .It Fl h If the file is a symbolic link, change the times of the link itself rather than the file that the link points to. Modified: head/usr.bin/touch/touch.c ============================================================================== --- head/usr.bin/touch/touch.c Sat Feb 4 13:12:52 2012 (r230978) +++ head/usr.bin/touch/touch.c Sat Feb 4 13:37:31 2012 (r230979) @@ -55,7 +55,6 @@ static const char sccsid[] = "@(#)touch. #include #include -int rw(char *, struct stat *, int); void stime_arg1(char *, struct timeval *); void stime_arg2(char *, int, struct timeval *); void stime_file(char *, struct timeval *); @@ -69,12 +68,12 @@ main(int argc, char *argv[]) struct timeval tv[2]; int (*stat_f)(const char *, struct stat *); int (*utimes_f)(const char *, const struct timeval *); - int Aflag, aflag, cflag, fflag, mflag, ch, fd, len, rval, timeset; + int Aflag, aflag, cflag, mflag, ch, fd, len, rval, timeset; char *p; char *myname; myname = basename(argv[0]); - Aflag = aflag = cflag = fflag = mflag = timeset = 0; + Aflag = aflag = cflag = mflag = timeset = 0; stat_f = stat; utimes_f = utimes; if (gettimeofday(&tv[0], NULL)) @@ -92,7 +91,7 @@ main(int argc, char *argv[]) cflag = 1; break; case 'f': - fflag = 1; + /* No-op for compatibility. */ break; case 'h': cflag = 1; @@ -222,14 +221,8 @@ main(int argc, char *argv[]) if (!utimes_f(*argv, NULL)) continue; - /* Try reading/writing. */ - if (!S_ISLNK(sb.st_mode) && !S_ISDIR(sb.st_mode)) { - if (rw(*argv, &sb, fflag)) - rval = 1; - } else { - rval = 1; - warn("%s", *argv); - } + rval = 1; + warn("%s", *argv); } exit(rval); } @@ -368,59 +361,10 @@ stime_file(char *fname, struct timeval * TIMESPEC_TO_TIMEVAL(tvp + 1, &sb.st_mtim); } -int -rw(char *fname, struct stat *sbp, int force) -{ - int fd, needed_chmod, rval; - u_char byte; - - /* Try regular files. */ - if (!S_ISREG(sbp->st_mode)) { - warnx("%s: %s", fname, strerror(EFTYPE)); - return (1); - } - - needed_chmod = rval = 0; - if ((fd = open(fname, O_RDWR, 0)) == -1) { - if (!force || chmod(fname, DEFFILEMODE)) - goto err; - if ((fd = open(fname, O_RDWR, 0)) == -1) - goto err; - needed_chmod = 1; - } - - if (sbp->st_size != 0) { - if (read(fd, &byte, sizeof(byte)) != sizeof(byte)) - goto err; - if (lseek(fd, (off_t)0, SEEK_SET) == -1) - goto err; - if (write(fd, &byte, sizeof(byte)) != sizeof(byte)) - goto err; - } else { - if (write(fd, &byte, sizeof(byte)) != sizeof(byte)) { -err: rval = 1; - warn("%s", fname); - } else if (ftruncate(fd, (off_t)0)) { - rval = 1; - warn("%s: file modified", fname); - } - } - - if (close(fd) && rval != 1) { - rval = 1; - warn("%s", fname); - } - if (needed_chmod && chmod(fname, sbp->st_mode) && rval != 1) { - rval = 1; - warn("%s: permissions modified", fname); - } - return (rval); -} - void usage(char *myname) { - fprintf(stderr, "usage:\n" "%s [-A [-][[hh]mm]SS] [-acfhm] [-r file] " + fprintf(stderr, "usage:\n" "%s [-A [-][[hh]mm]SS] [-achm] [-r file] " "[-t [[CC]YY]MMDDhhmm[.SS]] file ...\n", myname); exit(1); } From owner-svn-src-head@FreeBSD.ORG Sat Feb 4 13:45:40 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 53B0B1065674; Sat, 4 Feb 2012 13:45:40 +0000 (UTC) (envelope-from rmh@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 42B598FC18; Sat, 4 Feb 2012 13:45:40 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q14DjeR1037770; Sat, 4 Feb 2012 13:45:40 GMT (envelope-from rmh@svn.freebsd.org) Received: (from rmh@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q14DjeQ7037767; Sat, 4 Feb 2012 13:45:40 GMT (envelope-from rmh@svn.freebsd.org) Message-Id: <201202041345.q14DjeQ7037767@svn.freebsd.org> From: Robert Millan Date: Sat, 4 Feb 2012 13:45:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230980 - in head/sys: amd64/conf i386/conf X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Feb 2012 13:45:40 -0000 Author: rmh Date: Sat Feb 4 13:45:39 2012 New Revision: 230980 URL: http://svn.freebsd.org/changeset/base/230980 Log: Add "nodevice adw" to WITHOUT_SOURCELESS_UCODE. Approved by: kib (mentor) MFC after: 13 days Modified: head/sys/amd64/conf/WITHOUT_SOURCELESS_UCODE head/sys/i386/conf/WITHOUT_SOURCELESS_UCODE Modified: head/sys/amd64/conf/WITHOUT_SOURCELESS_UCODE ============================================================================== --- head/sys/amd64/conf/WITHOUT_SOURCELESS_UCODE Sat Feb 4 13:37:31 2012 (r230979) +++ head/sys/amd64/conf/WITHOUT_SOURCELESS_UCODE Sat Feb 4 13:45:39 2012 (r230980) @@ -4,6 +4,7 @@ # # $FreeBSD$ +nodevice adw nodevice bce nodevice fatm nodevice fxp Modified: head/sys/i386/conf/WITHOUT_SOURCELESS_UCODE ============================================================================== --- head/sys/i386/conf/WITHOUT_SOURCELESS_UCODE Sat Feb 4 13:37:31 2012 (r230979) +++ head/sys/i386/conf/WITHOUT_SOURCELESS_UCODE Sat Feb 4 13:45:39 2012 (r230980) @@ -4,6 +4,7 @@ # # $FreeBSD$ +nodevice adw nodevice bce nodevice fatm nodevice fxp From owner-svn-src-head@FreeBSD.ORG Sat Feb 4 15:00:27 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 05122106564A; Sat, 4 Feb 2012 15:00:27 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E3C498FC0C; Sat, 4 Feb 2012 15:00:26 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q14F0QRi040108; Sat, 4 Feb 2012 15:00:26 GMT (envelope-from hrs@svn.freebsd.org) Received: (from hrs@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q14F0Q7M040106; Sat, 4 Feb 2012 15:00:26 GMT (envelope-from hrs@svn.freebsd.org) Message-Id: <201202041500.q14F0Q7M040106@svn.freebsd.org> From: Hiroki Sato Date: Sat, 4 Feb 2012 15:00:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230981 - head/sys/kern X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Feb 2012 15:00:27 -0000 Author: hrs Date: Sat Feb 4 15:00:26 2012 New Revision: 230981 URL: http://svn.freebsd.org/changeset/base/230981 Log: Fix input validation in SO_SETFIB. Reviewed by: bz MFC after: 1 day Modified: head/sys/kern/uipc_socket.c Modified: head/sys/kern/uipc_socket.c ============================================================================== --- head/sys/kern/uipc_socket.c Sat Feb 4 13:45:39 2012 (r230980) +++ head/sys/kern/uipc_socket.c Sat Feb 4 15:00:26 2012 (r230981) @@ -2498,7 +2498,7 @@ sosetopt(struct socket *so, struct socko case SO_SETFIB: error = sooptcopyin(sopt, &optval, sizeof optval, sizeof optval); - if (optval < 0 || optval > rt_numfibs) { + if (optval < 0 || optval >= rt_numfibs) { error = EINVAL; goto bad; } From owner-svn-src-head@FreeBSD.ORG Sat Feb 4 16:49:30 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5AE2310656E8; Sat, 4 Feb 2012 16:49:30 +0000 (UTC) (envelope-from rstone@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 44F268FC13; Sat, 4 Feb 2012 16:49:30 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q14GnU7d043574; Sat, 4 Feb 2012 16:49:30 GMT (envelope-from rstone@svn.freebsd.org) Received: (from rstone@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q14GnUnI043572; Sat, 4 Feb 2012 16:49:30 GMT (envelope-from rstone@svn.freebsd.org) Message-Id: <201202041649.q14GnUnI043572@svn.freebsd.org> From: Ryan Stone Date: Sat, 4 Feb 2012 16:49:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230984 - head/sys/kern X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Feb 2012 16:49:30 -0000 Author: rstone Date: Sat Feb 4 16:49:29 2012 New Revision: 230984 URL: http://svn.freebsd.org/changeset/base/230984 Log: Whenever a new kernel thread is spawned, explicitly clear any CPU affinity set on the new thread. This prevents the thread from inadvertently inheriting affinity from a random sibling. Submitted by: attilio Tested by: pho MFC after: 1 week Modified: head/sys/kern/kern_kthread.c Modified: head/sys/kern/kern_kthread.c ============================================================================== --- head/sys/kern/kern_kthread.c Sat Feb 4 15:43:16 2012 (r230983) +++ head/sys/kern/kern_kthread.c Sat Feb 4 16:49:29 2012 (r230984) @@ -29,6 +29,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include @@ -117,6 +118,9 @@ kproc_create(void (*func)(void *), void /* call the processes' main()... */ cpu_set_fork_handler(td, func, arg); + + /* Avoid inheriting affinity from a random parent. */ + cpuset_setthread(td->td_tid, cpuset_root); thread_lock(td); TD_SET_CAN_RUN(td); sched_prio(td, PVM); @@ -299,6 +303,9 @@ kthread_add(void (*func)(void *), void * tidhash_add(newtd); + /* Avoid inheriting affinity from a random parent. */ + cpuset_setthread(newtd->td_tid, cpuset_root); + /* Delay putting it on the run queue until now. */ if (!(flags & RFSTOPPED)) { thread_lock(newtd); From owner-svn-src-head@FreeBSD.ORG Sat Feb 4 16:49:51 2012 Return-Path: Delivered-To: svn-src-head@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D6B6B1065670; Sat, 4 Feb 2012 16:49:51 +0000 (UTC) (envelope-from ghelmer@palisadesystems.com) Received: from ps-1-a.compliancesafe.com (ps-1-a.compliancesafe.com [216.81.161.161]) by mx1.freebsd.org (Postfix) with ESMTP id 84FDE8FC1E; Sat, 4 Feb 2012 16:49:51 +0000 (UTC) Received: from mail.palisadesystems.com (localhost [127.0.0.1]) by ps-1-a.compliancesafe.com (8.14.4/8.14.3) with ESMTP id q14GX3Qw006554; Sat, 4 Feb 2012 10:33:03 -0600 (CST) (envelope-from ghelmer@palisadesystems.com) Received: from [192.168.0.105] (173-20-105-176.client.mchsi.com [173.20.105.176]) (authenticated bits=0) by mail.palisadesystems.com (8.14.3/8.14.3) with ESMTP id q14GWvMQ039812 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Sat, 4 Feb 2012 10:32:58 -0600 (CST) (envelope-from ghelmer@palisadesystems.com) X-DKIM: Sendmail DKIM Filter v2.8.3 mail.palisadesystems.com q14GWvMQ039812 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=palisadesystems.com; s=mail; t=1328373179; bh=bXsZ/MFuiKbuNYyam8ofbrI4y1AqUXXB+1TNZD3Zk7I=; l=128; h=Subject:Mime-Version:Content-Type:From:In-Reply-To:Date:Cc: Content-Transfer-Encoding:Message-Id:References:To; b=nG2hinsySkcmS9+R3wxTrtu51NVoIXIWkU+TAgQ6ohOS44QY7zI3hW+yJFhy7pbz+ QWNGic4/tni2gkexco+UVhZseJ0Xx4PXNi57QNOc2ZmSx6ICkzqRg2s+sfzVblEl8t zPRzFKceNCttrGGpFUkMSXZluwXKjb7tZnyflj5M= Mime-Version: 1.0 (Apple Message framework v1257) Content-Type: text/plain; charset=us-ascii From: Guy Helmer In-Reply-To: <20120204074201.GA1694@garage.freebsd.pl> Date: Sat, 4 Feb 2012 10:32:56 -0600 Content-Transfer-Encoding: quoted-printable Message-Id: <74AF334B-CD90-4A43-96C4-1CF69C8EA42B@palisadesystems.com> References: <201202011641.q11Gf0j6095461@svn.freebsd.org> <20120204074201.GA1694@garage.freebsd.pl> To: Pawel Jakub Dawidek X-Mailer: Apple Mail (2.1257) X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.5 (mail.palisadesystems.com [172.16.1.5]); Sat, 04 Feb 2012 10:32:59 -0600 (CST) X-Palisade-MailScanner-Information: Please contact the ISP for more information X-Palisade-MailScanner-ID: q14GWvMQ039812 X-Palisade-MailScanner: Found to be clean X-Palisade-MailScanner-SpamCheck: not spam, SpamAssassin (score=-1.406, required 5, ALL_TRUSTED -1.00, BAYES_00 -1.90, RP_8BIT 1.49) X-Palisade-MailScanner-From: ghelmer@palisadesystems.com X-Spam-Status: No X-PacketSure-Scanned: Yes Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r230869 - head/usr.sbin/daemon X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Feb 2012 16:49:51 -0000 On Feb 4, 2012, at 1:42 AM, Pawel Jakub Dawidek wrote: > On Wed, Feb 01, 2012 at 04:41:00PM +0000, Guy Helmer wrote: >> Author: ghelmer >> Date: Wed Feb 1 16:40:59 2012 >> New Revision: 230869 >> URL: http://svn.freebsd.org/changeset/base/230869 >>=20 >> Log: >> Change the notes about the pidfile to include Doug's preference >> for pre-creating the pidfile with appropriate owner and permissions. >>=20 >> Requested by dougb >=20 > Pre-creating pidfiles? That sounds weird. The common practise is to = turn > eg. /var/run/.pid into /var/run//pid where = directory > has appropriate permissions. Pre-creating pidfiles is simply wrong, > because applications create pidfile on start and unlink it on exit. > If application has no permission to remove files from /var/run/ it = will > leave pidfile with stale PID in it, which is bad. Changing application > to truncate pidfile on exit instead of unlinking it also is a bad idea > especially because there is working solution - pid directory. I prefer this approach, but dougb prefers the other approach. Each has = positives and negatives. I tried to accommodate both approaches. Guy= -------- This message has been scanned by ComplianceSafe, powered by Palisade's PacketSure. From owner-svn-src-head@FreeBSD.ORG Sat Feb 4 16:49:52 2012 Return-Path: Delivered-To: svn-src-head@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 685021065672; Sat, 4 Feb 2012 16:49:52 +0000 (UTC) (envelope-from ghelmer@palisadesystems.com) Received: from ps-1-a.compliancesafe.com (ps-1-a.compliancesafe.com [216.81.161.161]) by mx1.freebsd.org (Postfix) with ESMTP id 155948FC13; Sat, 4 Feb 2012 16:49:52 +0000 (UTC) Received: from mail.palisadesystems.com (localhost [127.0.0.1]) by ps-1-a.compliancesafe.com (8.14.4/8.14.3) with ESMTP id q14GU8C6006439; Sat, 4 Feb 2012 10:30:08 -0600 (CST) (envelope-from ghelmer@palisadesystems.com) Received: from [192.168.0.105] (173-20-105-176.client.mchsi.com [173.20.105.176]) (authenticated bits=0) by mail.palisadesystems.com (8.14.3/8.14.3) with ESMTP id q14GU2sX039755 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Sat, 4 Feb 2012 10:30:03 -0600 (CST) (envelope-from ghelmer@palisadesystems.com) X-DKIM: Sendmail DKIM Filter v2.8.3 mail.palisadesystems.com q14GU2sX039755 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=palisadesystems.com; s=mail; t=1328373004; bh=fkoe7qod3F7agxp9ot7ofzP3aSG4lHkYbgfbsG3Q2dk=; l=128; h=Subject:Mime-Version:Content-Type:From:In-Reply-To:Date:Cc: Content-Transfer-Encoding:Message-Id:References:To; b=pCN6Ch51tTU57fagVhO+MwFW+KJg2GK0xJEATAZsOOfeodrgU6pcpHxpqPqEtN0uX 8BEZO7hR3Zo1+VP0Ovn4QUqzhV7PC/SsVQhabzpOaPOg/Z4RpZgfFpvNDLC5Dpbmzw XgwKdxuWWoLtbDjZ2CJzgaR+01zdtOghL1r6G/os= Mime-Version: 1.0 (Apple Message framework v1257) Content-Type: text/plain; charset=iso-8859-1 From: Guy Helmer In-Reply-To: <4F2CEB1D.10607@zonov.org> Date: Sat, 4 Feb 2012 10:30:00 -0600 Content-Transfer-Encoding: quoted-printable Message-Id: <27A0A960-F767-4D2C-BF3E-31F73FBF4E28@palisadesystems.com> References: <201202011641.q11Gf0j6095461@svn.freebsd.org> <20120204074201.GA1694@garage.freebsd.pl> <4F2CEB1D.10607@zonov.org> To: Andrey Zonov X-Mailer: Apple Mail (2.1257) X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.5 (mail.palisadesystems.com [172.16.1.5]); Sat, 04 Feb 2012 10:30:04 -0600 (CST) X-Palisade-MailScanner-Information: Please contact the ISP for more information X-Palisade-MailScanner-ID: q14GU2sX039755 X-Palisade-MailScanner: Found to be clean X-Palisade-MailScanner-SpamCheck: not spam, SpamAssassin (score=-1.406, required 5, ALL_TRUSTED -1.00, BAYES_00 -1.90, RP_8BIT 1.49) X-Palisade-MailScanner-From: ghelmer@palisadesystems.com X-Spam-Status: No X-PacketSure-Scanned: Yes Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org, Pawel Jakub Dawidek Subject: Re: svn commit: r230869 - head/usr.sbin/daemon X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Feb 2012 16:49:52 -0000 On Feb 4, 2012, at 2:23 AM, Andrey Zonov wrote: > On 04.02.2012 11:42, Pawel Jakub Dawidek wrote: >> On Wed, Feb 01, 2012 at 04:41:00PM +0000, Guy Helmer wrote: >>> Author: ghelmer >>> Date: Wed Feb 1 16:40:59 2012 >>> New Revision: 230869 >>> URL: http://svn.freebsd.org/changeset/base/230869 >>>=20 >>> Log: >>> Change the notes about the pidfile to include Doug's preference >>> for pre-creating the pidfile with appropriate owner and = permissions. >>>=20 >>> Requested by dougb >>=20 >> Pre-creating pidfiles? That sounds weird. The common practise is to = turn >> eg. /var/run/.pid into /var/run//pid where = directory >> has appropriate permissions. Pre-creating pidfiles is simply wrong, >> because applications create pidfile on start and unlink it on exit. >> If application has no permission to remove files from /var/run/ it = will >> leave pidfile with stale PID in it, which is bad. Changing = application >> to truncate pidfile on exit instead of unlinking it also is a bad = idea >> especially because there is working solution - pid directory. >>=20 >=20 > Hi, >=20 > There's even worse problem - kernel closes pidfile in execvp() because = of FD_CLOEXEC flag is set and daemon doesn't hold lock on pidfile. >=20 > I reported about that earlier, but was ignored. I don't understand your concern about this -- the daemon(8) program = exists to start a program that does not manage its own user authority or = pid file, and it is inappropriate to leak the open pidfile descriptor to = the program that daemon(8) execs. Guy= -------- This message has been scanned by ComplianceSafe, powered by Palisade's PacketSure. From owner-svn-src-head@FreeBSD.ORG Sat Feb 4 17:53:23 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 56415106566C; Sat, 4 Feb 2012 17:53:23 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 421938FC08; Sat, 4 Feb 2012 17:53:23 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q14HrN9k045664; Sat, 4 Feb 2012 17:53:23 GMT (envelope-from hrs@svn.freebsd.org) Received: (from hrs@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q14HrN8N045662; Sat, 4 Feb 2012 17:53:23 GMT (envelope-from hrs@svn.freebsd.org) Message-Id: <201202041753.q14HrN8N045662@svn.freebsd.org> From: Hiroki Sato Date: Sat, 4 Feb 2012 17:53:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230989 - head/sbin/route X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Feb 2012 17:53:23 -0000 Author: hrs Date: Sat Feb 4 17:53:22 2012 New Revision: 230989 URL: http://svn.freebsd.org/changeset/base/230989 Log: Fix a possible infinite loop in "route flush" on 64-bit archs. MFC after: 3 days Modified: head/sbin/route/route.c Modified: head/sbin/route/route.c ============================================================================== --- head/sbin/route/route.c Sat Feb 4 17:43:15 2012 (r230988) +++ head/sbin/route/route.c Sat Feb 4 17:53:22 2012 (r230989) @@ -460,8 +460,8 @@ netname(struct sockaddr *sa) * Guess at the subnet mask, assuming reasonable * width subnet fields. */ - while (in.s_addr &~ mask) - mask = (long)mask >> subnetshift; + while (in.s_addr & ~mask) + mask |= mask >> subnetshift; net = in.s_addr & mask; while ((mask & 1) == 0) mask >>= 1, net >>= 1; From owner-svn-src-head@FreeBSD.ORG Sat Feb 4 18:14:40 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 66D20106564A; Sat, 4 Feb 2012 18:14:40 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 514AD8FC0C; Sat, 4 Feb 2012 18:14:40 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q14IEeBR046403; Sat, 4 Feb 2012 18:14:40 GMT (envelope-from emaste@svn.freebsd.org) Received: (from emaste@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q14IEemR046401; Sat, 4 Feb 2012 18:14:40 GMT (envelope-from emaste@svn.freebsd.org) Message-Id: <201202041814.q14IEemR046401@svn.freebsd.org> From: Ed Maste Date: Sat, 4 Feb 2012 18:14:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230990 - head/sys/geom/part X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Feb 2012 18:14:40 -0000 Author: emaste Date: Sat Feb 4 18:14:39 2012 New Revision: 230990 URL: http://svn.freebsd.org/changeset/base/230990 Log: Correct typo in comment (numbver) Modified: head/sys/geom/part/g_part.c Modified: head/sys/geom/part/g_part.c ============================================================================== --- head/sys/geom/part/g_part.c Sat Feb 4 17:53:22 2012 (r230989) +++ head/sys/geom/part/g_part.c Sat Feb 4 18:14:39 2012 (r230990) @@ -215,7 +215,7 @@ g_part_geometry(struct g_part_table *tab continue; /* * Prefer a geometry with sectors > 1, but only if - * it doesn't bump down the numbver of heads to 1. + * it doesn't bump down the number of heads to 1. */ if (chs > bestchs || (chs == bestchs && heads > 1 && table->gpt_sectors == 1)) { From owner-svn-src-head@FreeBSD.ORG Sat Feb 4 18:14:49 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B5AA11065678; Sat, 4 Feb 2012 18:14:49 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A077E8FC1C; Sat, 4 Feb 2012 18:14:49 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q14IEnD0046443; Sat, 4 Feb 2012 18:14:49 GMT (envelope-from hrs@svn.freebsd.org) Received: (from hrs@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q14IEnnt046441; Sat, 4 Feb 2012 18:14:49 GMT (envelope-from hrs@svn.freebsd.org) Message-Id: <201202041814.q14IEnnt046441@svn.freebsd.org> From: Hiroki Sato Date: Sat, 4 Feb 2012 18:14:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230991 - head/etc/rc.d X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Feb 2012 18:14:49 -0000 Author: hrs Date: Sat Feb 4 18:14:49 2012 New Revision: 230991 URL: http://svn.freebsd.org/changeset/base/230991 Log: Fix $ipv6_network_interfaces handling in rc.d/routing. It could fail when it was set to "auto", for example. MFC after: 3 days Modified: head/etc/rc.d/routing Modified: head/etc/rc.d/routing ============================================================================== --- head/etc/rc.d/routing Sat Feb 4 18:14:39 2012 (r230990) +++ head/etc/rc.d/routing Sat Feb 4 18:14:49 2012 (r230991) @@ -98,8 +98,10 @@ routing_stop_inet6() local i route -n flush -inet6 - for i in ${ipv6_network_interfaces}; do - ifconfig $i inet6 -defaultif + for i in `list_net_interfaces`; do + if ipv6if $i; then + ifconfig $i inet6 -defaultif + fi done } From owner-svn-src-head@FreeBSD.ORG Sat Feb 4 18:16:50 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 76E1D106564A; Sat, 4 Feb 2012 18:16:50 +0000 (UTC) (envelope-from to.my.trociny@gmail.com) Received: from mail-bk0-f54.google.com (mail-bk0-f54.google.com [209.85.214.54]) by mx1.freebsd.org (Postfix) with ESMTP id 2C3308FC08; Sat, 4 Feb 2012 18:16:49 +0000 (UTC) Received: by bkbzx1 with SMTP id zx1so5285921bkb.13 for ; Sat, 04 Feb 2012 10:16:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=from:to:cc:subject:references:x-comment-to:sender:date:in-reply-to :message-id:user-agent:mime-version:content-type; bh=OtmKWiHpxUZgZ8fw/YJGZxajsmxY33u5PSeuDGFOWIw=; b=rRvYUECJByrSCi5Fe8LHJLnSik/8uDIISZxTfModxul7X7C5YZLG244OuC8ZTHCMTe O676VEDVgOtQ8z4rmB/GyxR4KGCZh/pfdQGFMYrtcv7OldFrpi2w2ZPRSRS28Wt7jeJA SUdUNoXsQIAfJgi235WXvKhv75JJBrqJr6di4= Received: by 10.204.133.204 with SMTP id g12mr5550045bkt.107.1328379408282; Sat, 04 Feb 2012 10:16:48 -0800 (PST) Received: from localhost ([95.69.173.122]) by mx.google.com with ESMTPS id cz3sm28052968bkb.3.2012.02.04.10.16.44 (version=TLSv1/SSLv3 cipher=OTHER); Sat, 04 Feb 2012 10:16:46 -0800 (PST) From: Mikolaj Golub To: Guy Helmer References: <201202011641.q11Gf0j6095461@svn.freebsd.org> <20120204074201.GA1694@garage.freebsd.pl> <4F2CEB1D.10607@zonov.org> <27A0A960-F767-4D2C-BF3E-31F73FBF4E28@palisadesystems.com> X-Comment-To: Guy Helmer Sender: Mikolaj Golub Date: Sat, 04 Feb 2012 20:16:42 +0200 In-Reply-To: <27A0A960-F767-4D2C-BF3E-31F73FBF4E28@palisadesystems.com> (Guy Helmer's message of "Sat, 4 Feb 2012 10:30:00 -0600") Message-ID: <86zkcy5ur9.fsf@kopusha.home.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, Andrey Zonov , Pawel Jakub Dawidek , src-committers@FreeBSD.org Subject: Re: svn commit: r230869 - head/usr.sbin/daemon X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Feb 2012 18:16:50 -0000 On Sat, 4 Feb 2012 10:30:00 -0600 Guy Helmer wrote: GH> On Feb 4, 2012, at 2:23 AM, Andrey Zonov wrote: >> On 04.02.2012 11:42, Pawel Jakub Dawidek wrote: >>> On Wed, Feb 01, 2012 at 04:41:00PM +0000, Guy Helmer wrote: >>>> Author: ghelmer >>>> Date: Wed Feb 1 16:40:59 2012 >>>> New Revision: 230869 >>>> URL: http://svn.freebsd.org/changeset/base/230869 >>>> >>>> Log: >>>> Change the notes about the pidfile to include Doug's preference >>>> for pre-creating the pidfile with appropriate owner and permissions. >>>> >>>> Requested by dougb >>> >>> Pre-creating pidfiles? That sounds weird. The common practise is to turn >>> eg. /var/run/.pid into /var/run//pid where directory >>> has appropriate permissions. Pre-creating pidfiles is simply wrong, >>> because applications create pidfile on start and unlink it on exit. >>> If application has no permission to remove files from /var/run/ it will >>> leave pidfile with stale PID in it, which is bad. Changing application >>> to truncate pidfile on exit instead of unlinking it also is a bad idea >>> especially because there is working solution - pid directory. >>> >> >> Hi, >> >> There's even worse problem - kernel closes pidfile in execvp() because of >> FD_CLOEXEC flag is set and daemon doesn't hold lock on pidfile. >> >> I reported about that earlier, but was ignored. GH> I don't understand your concern about this -- the daemon(8) program GH> exists to start a program that does not manage its own user authority or GH> pid file, and it is inappropriate to leak the open pidfile descriptor to GH> the program that daemon(8) execs. ref8-amd64:/home/trociny% uname -r 8.2-STABLE ref8-amd64:/home/trociny% daemon -p /tmp/sleep.pid sleep 10 ref8-amd64:/home/trociny% daemon -p /tmp/sleep.pid sleep 10 daemon: process already running, pid: 19799 kopusha:~% uname -r 10.0-CURRENT kopusha:~% daemon -p /tmp/sleep.pid sleep 10 kopusha:~% daemon -p /tmp/sleep.pid sleep 10 kopusha:~% -- Mikolaj Golub From owner-svn-src-head@FreeBSD.ORG Sat Feb 4 19:50:27 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 507B4106564A; Sat, 4 Feb 2012 19:50:27 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3ACF78FC08; Sat, 4 Feb 2012 19:50:27 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q14JoRTG049296; Sat, 4 Feb 2012 19:50:27 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q14JoRdi049293; Sat, 4 Feb 2012 19:50:27 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201202041950.q14JoRdi049293@svn.freebsd.org> From: Nathan Whitehorn Date: Sat, 4 Feb 2012 19:50:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230992 - in head/sys/powerpc: ofw ps3 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Feb 2012 19:50:27 -0000 Author: nwhitehorn Date: Sat Feb 4 19:50:26 2012 New Revision: 230992 URL: http://svn.freebsd.org/changeset/base/230992 Log: Avoid warnings about duplicate modules. MFC after: 2 weeks Modified: head/sys/powerpc/ofw/ofw_syscons.c head/sys/powerpc/ps3/ps3_syscons.c Modified: head/sys/powerpc/ofw/ofw_syscons.c ============================================================================== --- head/sys/powerpc/ofw/ofw_syscons.c Sat Feb 4 18:14:49 2012 (r230991) +++ head/sys/powerpc/ofw/ofw_syscons.c Sat Feb 4 19:50:26 2012 (r230992) @@ -984,7 +984,7 @@ static driver_t ofwfb_sc_driver = { static devclass_t sc_devclass; -DRIVER_MODULE(sc, nexus, ofwfb_sc_driver, sc_devclass, 0, 0); +DRIVER_MODULE(ofwfb, nexus, ofwfb_sc_driver, sc_devclass, 0, 0); /* * Define a stub keyboard driver in case one hasn't been Modified: head/sys/powerpc/ps3/ps3_syscons.c ============================================================================== --- head/sys/powerpc/ps3/ps3_syscons.c Sat Feb 4 18:14:49 2012 (r230991) +++ head/sys/powerpc/ps3/ps3_syscons.c Sat Feb 4 19:50:26 2012 (r230992) @@ -749,7 +749,7 @@ static driver_t ps3fb_sc_driver = { static devclass_t sc_devclass; -DRIVER_MODULE(sc, nexus, ps3fb_sc_driver, sc_devclass, 0, 0); +DRIVER_MODULE(ps3fb, nexus, ps3fb_sc_driver, sc_devclass, 0, 0); /* * Define a stub keyboard driver in case one hasn't been From owner-svn-src-head@FreeBSD.ORG Sat Feb 4 19:54:14 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 80DA6106564A; Sat, 4 Feb 2012 19:54:14 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 680968FC15; Sat, 4 Feb 2012 19:54:14 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q14JsE99049456; Sat, 4 Feb 2012 19:54:14 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q14JsE1S049451; Sat, 4 Feb 2012 19:54:14 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201202041954.q14JsE1S049451@svn.freebsd.org> From: Nathan Whitehorn Date: Sat, 4 Feb 2012 19:54:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230993 - in head/sys/powerpc: ofw powermac X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Feb 2012 19:54:14 -0000 Author: nwhitehorn Date: Sat Feb 4 19:54:13 2012 New Revision: 230993 URL: http://svn.freebsd.org/changeset/base/230993 Log: Unify OF PCI infrastructure, including changing from parsing the device tree based on heuristics to parsing it based on the spec. This should also lay the foundation for NEW_PCIB on PowerPC. MFC after: 3 months Added: head/sys/powerpc/ofw/ofw_pci.c (contents, props changed) head/sys/powerpc/ofw/ofw_pci.h (contents, props changed) Modified: head/sys/powerpc/powermac/cpcht.c head/sys/powerpc/powermac/grackle.c head/sys/powerpc/powermac/gracklevar.h head/sys/powerpc/powermac/uninorthpci.c head/sys/powerpc/powermac/uninorthvar.h Added: head/sys/powerpc/ofw/ofw_pci.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/powerpc/ofw/ofw_pci.c Sat Feb 4 19:54:13 2012 (r230993) @@ -0,0 +1,501 @@ +/*- + * 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 +#include +#include + +#include + +#include +#include + +#include + +#include "pcib_if.h" + +/* + * Bus interface. + */ +static int ofw_pci_read_ivar(device_t, device_t, int, + uintptr_t *); +static struct resource * ofw_pci_alloc_resource(device_t bus, + device_t child, int type, int *rid, u_long start, + u_long end, u_long count, u_int flags); +static int ofw_pci_release_resource(device_t bus, device_t child, + int type, int rid, struct resource *res); +static int ofw_pci_activate_resource(device_t bus, device_t child, + int type, int rid, struct resource *res); +static int ofw_pci_deactivate_resource(device_t bus, + device_t child, int type, int rid, + struct resource *res); + +/* + * pcib interface. + */ +static int ofw_pci_maxslots(device_t); +static int ofw_pci_route_interrupt(device_t, device_t, int); + +/* + * ofw_bus interface + */ +static phandle_t ofw_pci_get_node(device_t bus, device_t dev); + +/* + * local methods + */ + +static int ofw_pci_nranges(phandle_t node); +static int ofw_pci_fill_ranges(phandle_t node, struct ofw_pci_range *ranges); + +/* + * Driver methods. + */ +static device_method_t ofw_pci_methods[] = { + /* Device interface */ + DEVMETHOD(device_attach, ofw_pci_attach), + + /* Bus interface */ + DEVMETHOD(bus_print_child, bus_generic_print_child), + DEVMETHOD(bus_read_ivar, ofw_pci_read_ivar), + DEVMETHOD(bus_setup_intr, bus_generic_setup_intr), + DEVMETHOD(bus_teardown_intr, bus_generic_teardown_intr), + DEVMETHOD(bus_alloc_resource, ofw_pci_alloc_resource), + DEVMETHOD(bus_release_resource, ofw_pci_release_resource), + DEVMETHOD(bus_activate_resource, ofw_pci_activate_resource), + DEVMETHOD(bus_deactivate_resource, ofw_pci_deactivate_resource), + + /* pcib interface */ + DEVMETHOD(pcib_maxslots, ofw_pci_maxslots), + DEVMETHOD(pcib_route_interrupt, ofw_pci_route_interrupt), + + /* ofw_bus interface */ + DEVMETHOD(ofw_bus_get_node, ofw_pci_get_node), + + DEVMETHOD_END +}; + +DEFINE_CLASS_0(ofw_pci, ofw_pci_driver, ofw_pci_methods, 0); + +int +ofw_pci_attach(device_t dev) +{ + struct ofw_pci_softc *sc; + phandle_t node; + u_int32_t busrange[2]; + struct ofw_pci_range *rp; + int error; + + node = ofw_bus_get_node(dev); + sc = device_get_softc(dev); + + if (OF_getprop(node, "reg", &sc->sc_pcir, sizeof(sc->sc_pcir)) == -1) + return (ENXIO); + + if (OF_getprop(node, "bus-range", busrange, sizeof(busrange)) != 8) + busrange[0] = 0; + + sc->sc_dev = dev; + sc->sc_node = node; + sc->sc_bus = busrange[0]; + + if (sc->sc_quirks & OFW_PCI_QUIRK_RANGES_ON_CHILDREN) { + phandle_t c; + int n, i; + + sc->sc_nrange = 0; + for (c = OF_child(node); c != 0; c = OF_peer(c)) { + n = ofw_pci_nranges(c); + if (n > 0) + sc->sc_nrange += n; + } + if (sc->sc_nrange == 0) + return (ENXIO); + sc->sc_range = malloc(sc->sc_nrange * sizeof(sc->sc_range[0]), + M_DEVBUF, M_WAITOK); + i = 0; + for (c = OF_child(node); c != 0; c = OF_peer(c)) { + n = ofw_pci_fill_ranges(c, &sc->sc_range[i]); + if (n > 0) + i += n; + } + KASSERT(i == sc->sc_nrange, ("range count mismatch")); + } else { + sc->sc_nrange = ofw_pci_nranges(node); + if (sc->sc_nrange <= 0) { + device_printf(dev, "could not get ranges\n"); + return (ENXIO); + } + sc->sc_range = malloc(sc->sc_nrange * sizeof(sc->sc_range[0]), + M_DEVBUF, M_WAITOK); + ofw_pci_fill_ranges(node, sc->sc_range); + } + + sc->sc_io_rman.rm_type = RMAN_ARRAY; + sc->sc_io_rman.rm_descr = "PCI I/O Ports"; + error = rman_init(&sc->sc_io_rman); + if (error) { + device_printf(dev, "rman_init() failed. error = %d\n", error); + return (error); + } + + sc->sc_mem_rman.rm_type = RMAN_ARRAY; + sc->sc_mem_rman.rm_descr = "PCI Memory"; + error = rman_init(&sc->sc_mem_rman); + if (error) { + device_printf(dev, "rman_init() failed. error = %d\n", error); + return (error); + } + + for (rp = sc->sc_range; rp < sc->sc_range + sc->sc_nrange && + rp->pci_hi != 0; rp++) { + error = 0; + + switch (rp->pci_hi & OFW_PCI_PHYS_HI_SPACEMASK) { + case OFW_PCI_PHYS_HI_SPACE_CONFIG: + break; + case OFW_PCI_PHYS_HI_SPACE_IO: + error = rman_manage_region(&sc->sc_io_rman, rp->pci, + rp->pci + rp->size - 1); + break; + case OFW_PCI_PHYS_HI_SPACE_MEM32: + case OFW_PCI_PHYS_HI_SPACE_MEM64: + error = rman_manage_region(&sc->sc_mem_rman, rp->pci, + rp->pci + rp->size - 1); + break; + } + + if (error) { + device_printf(dev, + "rman_manage_region(%x, %#jx, %#jx) failed. " + "error = %d\n", rp->pci_hi & + OFW_PCI_PHYS_HI_SPACEMASK, rp->pci, + rp->pci + rp->size - 1, error); + panic("AHOY"); + return (error); + } + } + + ofw_bus_setup_iinfo(node, &sc->sc_pci_iinfo, sizeof(cell_t)); + + device_add_child(dev, "pci", device_get_unit(dev)); + return (bus_generic_attach(dev)); +} + +static int +ofw_pci_maxslots(device_t dev) +{ + + return (PCI_SLOTMAX); +} + +static int +ofw_pci_route_interrupt(device_t bus, device_t dev, int pin) +{ + struct ofw_pci_softc *sc; + struct ofw_pci_register reg; + uint32_t pintr, mintr; + phandle_t iparent; + uint8_t maskbuf[sizeof(reg) + sizeof(pintr)]; + + sc = device_get_softc(bus); + pintr = pin; + if (ofw_bus_lookup_imap(ofw_bus_get_node(dev), &sc->sc_pci_iinfo, ®, + sizeof(reg), &pintr, sizeof(pintr), &mintr, sizeof(mintr), + &iparent, maskbuf)) + return (MAP_IRQ(iparent, mintr)); + + /* Maybe it's a real interrupt, not an intpin */ + if (pin > 4) + return (pin); + + device_printf(bus, "could not route pin %d for device %d.%d\n", + pin, pci_get_slot(dev), pci_get_function(dev)); + return (PCI_INVALID_IRQ); +} + +static int +ofw_pci_read_ivar(device_t dev, device_t child, int which, uintptr_t *result) +{ + struct ofw_pci_softc *sc; + + sc = device_get_softc(dev); + + switch (which) { + case PCIB_IVAR_DOMAIN: + *result = device_get_unit(dev); + return (0); + case PCIB_IVAR_BUS: + *result = sc->sc_bus; + return (0); + } + + return (ENOENT); +} + +static struct resource * +ofw_pci_alloc_resource(device_t bus, device_t child, int type, int *rid, + u_long start, u_long end, u_long count, u_int flags) +{ + struct ofw_pci_softc *sc; + struct resource *rv; + struct rman *rm; + int needactivate; + + needactivate = flags & RF_ACTIVE; + flags &= ~RF_ACTIVE; + + sc = device_get_softc(bus); + + switch (type) { + case SYS_RES_MEMORY: + rm = &sc->sc_mem_rman; + break; + + case SYS_RES_IOPORT: + rm = &sc->sc_io_rman; + break; + + case SYS_RES_IRQ: + return (bus_alloc_resource(bus, type, rid, start, end, count, + flags)); + + default: + device_printf(bus, "unknown resource request from %s\n", + device_get_nameunit(child)); + return (NULL); + } + + rv = rman_reserve_resource(rm, start, end, count, flags, child); + if (rv == NULL) { + device_printf(bus, "failed to reserve resource for %s\n", + device_get_nameunit(child)); + return (NULL); + } + + rman_set_rid(rv, *rid); + + if (needactivate) { + if (bus_activate_resource(child, type, *rid, rv) != 0) { + device_printf(bus, + "failed to activate resource for %s\n", + device_get_nameunit(child)); + rman_release_resource(rv); + return (NULL); + } + } + + return (rv); +} + +static int +ofw_pci_release_resource(device_t bus, device_t child, int type, int rid, + struct resource *res) +{ + if (rman_get_flags(res) & RF_ACTIVE) { + int error = bus_deactivate_resource(child, type, rid, res); + if (error) + return error; + } + + return (rman_release_resource(res)); +} + +static int +ofw_pci_activate_resource(device_t bus, device_t child, int type, int rid, + struct resource *res) +{ + struct ofw_pci_softc *sc; + void *p; + + sc = device_get_softc(bus); + + if (type == SYS_RES_IRQ) { + return (bus_activate_resource(bus, type, rid, res)); + } + if (type == SYS_RES_MEMORY || type == SYS_RES_IOPORT) { + struct ofw_pci_range *rp; + vm_offset_t start; + int space; + + start = (vm_offset_t)rman_get_start(res); + + /* + * Map this through the ranges list + */ + for (rp = sc->sc_range; rp < sc->sc_range + sc->sc_nrange && + rp->pci_hi != 0; rp++) { + if (start < rp->pci || start >= rp->pci + rp->size) + continue; + + switch (rp->pci_hi & OFW_PCI_PHYS_HI_SPACEMASK) { + case OFW_PCI_PHYS_HI_SPACE_IO: + space = SYS_RES_IOPORT; + break; + case OFW_PCI_PHYS_HI_SPACE_MEM32: + case OFW_PCI_PHYS_HI_SPACE_MEM64: + space = SYS_RES_MEMORY; + break; + default: + space = -1; + } + + if (type == space) { + start += (rp->host - rp->pci); + break; + } + } + + if (bootverbose) + printf("ofw_pci mapdev: start %zx, len %ld\n", start, + rman_get_size(res)); + + p = pmap_mapdev(start, (vm_size_t)rman_get_size(res)); + if (p == NULL) + return (ENOMEM); + + rman_set_virtual(res, p); + rman_set_bustag(res, &bs_le_tag); + rman_set_bushandle(res, (u_long)p); + } + + return (rman_activate_resource(res)); +} + +static int +ofw_pci_deactivate_resource(device_t bus, device_t child, int type, int rid, + struct resource *res) +{ + /* + * If this is a memory resource, unmap it. + */ + if ((type == SYS_RES_MEMORY) || (type == SYS_RES_IOPORT)) { + u_int32_t psize; + + psize = rman_get_size(res); + pmap_unmapdev((vm_offset_t)rman_get_virtual(res), psize); + } + + return (rman_deactivate_resource(res)); +} + +static phandle_t +ofw_pci_get_node(device_t bus, device_t dev) +{ + struct ofw_pci_softc *sc; + + sc = device_get_softc(bus); + /* We only have one child, the PCI bus, which needs our own node. */ + + return (sc->sc_node); +} + +static int +ofw_pci_nranges(phandle_t node) +{ + int host_address_cells = 1, pci_address_cells = 3, size_cells = 2; + ssize_t nbase_ranges; + + OF_getprop(OF_parent(node), "#address-cells", &host_address_cells, + sizeof(host_address_cells)); + OF_getprop(node, "#address-cells", &pci_address_cells, + sizeof(pci_address_cells)); + OF_getprop(node, "#size-cells", &size_cells, sizeof(size_cells)); + + nbase_ranges = OF_getproplen(node, "ranges"); + if (nbase_ranges <= 0) + return (-1); + + return (nbase_ranges / sizeof(cell_t) / + (pci_address_cells + host_address_cells + size_cells)); +} + +static int +ofw_pci_fill_ranges(phandle_t node, struct ofw_pci_range *ranges) +{ + int host_address_cells = 1, pci_address_cells = 3, size_cells = 2; + cell_t *base_ranges; + ssize_t nbase_ranges; + int nranges; + int i, j, k; + + OF_getprop(OF_parent(node), "#address-cells", &host_address_cells, + sizeof(host_address_cells)); + OF_getprop(node, "#address-cells", &pci_address_cells, + sizeof(pci_address_cells)); + OF_getprop(node, "#size-cells", &size_cells, sizeof(size_cells)); + + nbase_ranges = OF_getproplen(node, "ranges"); + if (nbase_ranges <= 0) + return (-1); + nranges = nbase_ranges / sizeof(cell_t) / + (pci_address_cells + host_address_cells + size_cells); + + base_ranges = malloc(nbase_ranges, M_DEVBUF, M_WAITOK); + OF_getprop(node, "ranges", base_ranges, nbase_ranges); + + for (i = 0, j = 0; i < nranges; i++) { + ranges[i].pci_hi = base_ranges[j++]; + ranges[i].pci = 0; + for (k = 0; k < pci_address_cells - 1; k++) { + ranges[i].pci <<= 32; + ranges[i].pci |= base_ranges[j++]; + } + ranges[i].host = 0; + for (k = 0; k < host_address_cells; k++) { + ranges[i].host <<= 32; + ranges[i].host |= base_ranges[j++]; + } + ranges[i].size = 0; + for (k = 0; k < size_cells; k++) { + ranges[i].size <<= 32; + ranges[i].size |= base_ranges[j++]; + } + } + + free(base_ranges, M_DEVBUF); + return (nranges); +} + Added: head/sys/powerpc/ofw/ofw_pci.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/powerpc/ofw/ofw_pci.h Sat Feb 4 19:54:13 2012 (r230993) @@ -0,0 +1,74 @@ +/*- + * 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. + * + * $FreeBSD$ + */ + +#ifndef POWERPC_OFW_OFW_PCI_H +#define POWERPC_OFW_OFW_PCI_H + +/* + * Export class definition for inheritance purposes + */ +DECLARE_CLASS(ofw_pci_driver); + +struct ofw_pci_range { + uint32_t pci_hi; + uint64_t pci; + uint64_t host; + uint64_t size; +}; + +/* + * Quirks for some adapters + */ +enum { + OFW_PCI_QUIRK_RANGES_ON_CHILDREN = 1, +}; + +struct ofw_pci_softc { + device_t sc_dev; + phandle_t sc_node; + int sc_bus; + + 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; +}; + +int ofw_pci_attach(device_t dev); + +#endif // POWERPC_OFW_OFW_PCI_H + Modified: head/sys/powerpc/powermac/cpcht.c ============================================================================== --- head/sys/powerpc/powermac/cpcht.c Sat Feb 4 19:50:26 2012 (r230992) +++ head/sys/powerpc/powermac/cpcht.c Sat Feb 4 19:54:13 2012 (r230993) @@ -50,6 +50,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include @@ -66,30 +67,13 @@ static int cpcht_attach(device_t); static void cpcht_configure_htbridge(device_t, phandle_t); /* - * Bus interface. - */ -static int cpcht_read_ivar(device_t, device_t, int, - uintptr_t *); -static struct resource *cpcht_alloc_resource(device_t bus, device_t child, - int type, int *rid, u_long start, u_long end, - u_long count, u_int flags); -static int cpcht_activate_resource(device_t bus, device_t child, - int type, int rid, struct resource *res); -static int cpcht_release_resource(device_t bus, device_t child, - int type, int rid, struct resource *res); -static int cpcht_deactivate_resource(device_t bus, device_t child, - int type, int rid, struct resource *res); - -/* * pcib interface. */ -static int cpcht_maxslots(device_t); static u_int32_t cpcht_read_config(device_t, u_int, u_int, u_int, u_int, int); static void cpcht_write_config(device_t, u_int, u_int, u_int, u_int, u_int32_t, int); -static int cpcht_route_interrupt(device_t bus, device_t dev, - int pin); +static int cpcht_route_interrupt(device_t, device_t, int); static int cpcht_alloc_msi(device_t dev, device_t child, int count, int maxcount, int *irqs); static int cpcht_release_msi(device_t dev, device_t child, @@ -102,12 +86,6 @@ static int cpcht_map_msi(device_t dev, int irq, uint64_t *addr, uint32_t *data); /* - * ofw_bus interface - */ - -static phandle_t cpcht_get_node(device_t bus, device_t child); - -/* * Driver methods. */ static device_method_t cpcht_methods[] = { @@ -115,17 +93,7 @@ static device_method_t cpcht_methods[] = DEVMETHOD(device_probe, cpcht_probe), DEVMETHOD(device_attach, cpcht_attach), - /* Bus interface */ - DEVMETHOD(bus_read_ivar, cpcht_read_ivar), - DEVMETHOD(bus_setup_intr, bus_generic_setup_intr), - DEVMETHOD(bus_teardown_intr, bus_generic_teardown_intr), - DEVMETHOD(bus_alloc_resource, cpcht_alloc_resource), - DEVMETHOD(bus_release_resource, cpcht_release_resource), - DEVMETHOD(bus_activate_resource, cpcht_activate_resource), - DEVMETHOD(bus_deactivate_resource, cpcht_deactivate_resource), - /* pcib interface */ - DEVMETHOD(pcib_maxslots, cpcht_maxslots), DEVMETHOD(pcib_read_config, cpcht_read_config), DEVMETHOD(pcib_write_config, cpcht_write_config), DEVMETHOD(pcib_route_interrupt, cpcht_route_interrupt), @@ -135,9 +103,6 @@ static device_method_t cpcht_methods[] = DEVMETHOD(pcib_release_msix, cpcht_release_msix), DEVMETHOD(pcib_map_msi, cpcht_map_msi), - /* ofw_bus interface */ - DEVMETHOD(ofw_bus_get_node, cpcht_get_node), - DEVMETHOD_END }; @@ -158,25 +123,17 @@ static struct cpcht_irq *cpcht_irqmap = uint32_t cpcht_msipic = 0; struct cpcht_softc { - device_t sc_dev; - phandle_t sc_node; + struct ofw_pci_softc pci_sc; vm_offset_t sc_data; uint64_t sc_populated_slots; - struct rman sc_mem_rman; - struct rman sc_io_rman; struct cpcht_irq htirq_map[128]; struct mtx htirq_mtx; }; -static driver_t cpcht_driver = { - "pcib", - cpcht_methods, - sizeof(struct cpcht_softc) -}; - static devclass_t cpcht_devclass; - +DEFINE_CLASS_1(pcib, cpcht_driver, cpcht_methods, sizeof(struct cpcht_softc), + ofw_pci_driver); DRIVER_MODULE(cpcht, nexus, cpcht_driver, cpcht_devclass, 0, 0); #define CPCHT_IOPORT_BASE 0xf4000000UL /* Hardwired */ @@ -186,17 +143,6 @@ DRIVER_MODULE(cpcht, nexus, cpcht_driver #define HTAPIC_TRIGGER_LEVEL 0x02 #define HTAPIC_MASK 0x01 -struct cpcht_range { - u_int32_t pci_hi; - u_int32_t pci_mid; - u_int32_t pci_lo; - u_int32_t junk; - u_int32_t host_hi; - u_int32_t host_lo; - u_int32_t size_hi; - u_int32_t size_lo; -}; - static int cpcht_probe(device_t dev) { @@ -214,7 +160,6 @@ cpcht_probe(device_t dev) if (strcmp(compatible, "u3-ht") != 0) return (ENXIO); - device_set_desc(dev, "IBM CPC9X5 HyperTransport Tunnel"); return (0); } @@ -225,7 +170,7 @@ cpcht_attach(device_t dev) struct cpcht_softc *sc; phandle_t node, child; u_int32_t reg[3]; - int i, error; + int i; node = ofw_bus_get_node(dev); sc = device_get_softc(dev); @@ -233,35 +178,20 @@ cpcht_attach(device_t dev) if (OF_getprop(node, "reg", reg, sizeof(reg)) < 12) return (ENXIO); - sc->sc_dev = dev; - sc->sc_node = node; + sc->pci_sc.sc_quirks = OFW_PCI_QUIRK_RANGES_ON_CHILDREN; sc->sc_populated_slots = 0; sc->sc_data = (vm_offset_t)pmap_mapdev(reg[1], reg[2]); - sc->sc_mem_rman.rm_type = RMAN_ARRAY; - sc->sc_mem_rman.rm_descr = "CPCHT Device Memory"; - error = rman_init(&sc->sc_mem_rman); - if (error) { - device_printf(dev, "rman_init() failed. error = %d\n", error); - return (error); - } - - sc->sc_io_rman.rm_type = RMAN_ARRAY; - sc->sc_io_rman.rm_descr = "CPCHT I/O Memory"; - error = rman_init(&sc->sc_io_rman); - if (error) { - device_printf(dev, "rman_init() failed. error = %d\n", error); - return (error); - } - /* * Set up the resource manager and the HT->MPIC mapping. For cpcht, * the ranges are properties of the child bridges, and this is also * where we get the HT interrupts properties. */ +#if 0 /* I/O port mappings are usually not in the device tree */ - rman_manage_region(&sc->sc_io_rman, 0, CPCHT_IOPORT_SIZE - 1); + rman_manage_region(&sc->pci_sc.sc_io_rman, 0, CPCHT_IOPORT_SIZE - 1); +#endif bzero(sc->htirq_map, sizeof(sc->htirq_map)); mtx_init(&sc->htirq_mtx, "cpcht irq", NULL, MTX_DEF); @@ -273,9 +203,7 @@ cpcht_attach(device_t dev) /* Now make the mapping table available to the MPIC */ cpcht_irqmap = sc->htirq_map; - device_add_child(dev, "pci", device_get_unit(dev)); - - return (bus_generic_attach(dev)); + return (ofw_pci_attach(dev)); } static void @@ -283,8 +211,7 @@ cpcht_configure_htbridge(device_t dev, p { struct cpcht_softc *sc; struct ofw_pci_register pcir; - struct cpcht_range ranges[7], *rp; - int nranges, ptr, nextptr; + int ptr, nextptr; uint32_t vend, val; int i, nirq, irq; u_int f, s; @@ -303,32 +230,6 @@ cpcht_configure_htbridge(device_t dev, p sc->sc_populated_slots |= (1 << s); /* - * Next grab this child bus's bus ranges. - */ - bzero(ranges, sizeof(ranges)); - nranges = OF_getprop(child, "ranges", ranges, sizeof(ranges)); - nranges /= sizeof(ranges[0]); - - ranges[6].pci_hi = 0; - for (rp = ranges; rp < ranges + nranges && rp->pci_hi != 0; rp++) { - switch (rp->pci_hi & OFW_PCI_PHYS_HI_SPACEMASK) { - case OFW_PCI_PHYS_HI_SPACE_CONFIG: - break; - case OFW_PCI_PHYS_HI_SPACE_IO: - rman_manage_region(&sc->sc_io_rman, rp->pci_lo, - rp->pci_lo + rp->size_lo - 1); - break; - case OFW_PCI_PHYS_HI_SPACE_MEM32: - rman_manage_region(&sc->sc_mem_rman, rp->pci_lo, - rp->pci_lo + rp->size_lo - 1); - break; - case OFW_PCI_PHYS_HI_SPACE_MEM64: - panic("64-bit CPCHT reserved memory!"); - break; - } - } - - /* * Next build up any HT->MPIC mappings for this sub-bus. One would * naively hope that enabling, disabling, and EOIing interrupts would * cause the appropriate HT bus transactions to that effect. This is @@ -404,13 +305,6 @@ cpcht_configure_htbridge(device_t dev, p } } -static int -cpcht_maxslots(device_t dev) -{ - - return (PCI_SLOTMAX); -} - static u_int32_t cpcht_read_config(device_t dev, u_int bus, u_int slot, u_int func, u_int reg, int width) @@ -474,156 +368,11 @@ cpcht_write_config(device_t dev, u_int b } static int -cpcht_read_ivar(device_t dev, device_t child, int which, uintptr_t *result) -{ - switch (which) { - case PCIB_IVAR_DOMAIN: - *result = device_get_unit(dev); - return (0); - case PCIB_IVAR_BUS: - *result = 0; /* Root bus */ - return (0); - } - - return (ENOENT); -} - -static phandle_t -cpcht_get_node(device_t bus, device_t dev) -{ - struct cpcht_softc *sc; - - sc = device_get_softc(bus); - /* We only have one child, the PCI bus, which needs our own node. */ - return (sc->sc_node); -} - -static int cpcht_route_interrupt(device_t bus, device_t dev, int pin) { return (pin); } -static struct resource * -cpcht_alloc_resource(device_t bus, device_t child, int type, int *rid, - u_long start, u_long end, u_long count, u_int flags) -{ - struct cpcht_softc *sc; - struct resource *rv; - struct rman *rm; - int needactivate; - - needactivate = flags & RF_ACTIVE; - flags &= ~RF_ACTIVE; - - sc = device_get_softc(bus); - - switch (type) { - case SYS_RES_IOPORT: - end = min(end, start + count); - rm = &sc->sc_io_rman; - break; - - case SYS_RES_MEMORY: - rm = &sc->sc_mem_rman; - break; - - case SYS_RES_IRQ: - return (bus_alloc_resource(bus, type, rid, start, end, count, - flags)); - - default: - device_printf(bus, "unknown resource request from %s\n", - device_get_nameunit(child)); - return (NULL); - } - - rv = rman_reserve_resource(rm, start, end, count, flags, child); - if (rv == NULL) { - device_printf(bus, "failed to reserve resource for %s\n", - device_get_nameunit(child)); - return (NULL); - } - - rman_set_rid(rv, *rid); - - if (needactivate) { - if (bus_activate_resource(child, type, *rid, rv) != 0) { - device_printf(bus, - "failed to activate resource for %s\n", - device_get_nameunit(child)); - rman_release_resource(rv); - return (NULL); - } - } - - return (rv); -} - -static int -cpcht_activate_resource(device_t bus, device_t child, int type, int rid, - struct resource *res) -{ - void *p; - - if (type == SYS_RES_IRQ) - return (bus_activate_resource(bus, type, rid, res)); - - if (type == SYS_RES_MEMORY || type == SYS_RES_IOPORT) { - vm_offset_t start; - - start = (vm_offset_t)rman_get_start(res); - - if (type == SYS_RES_IOPORT) - start += CPCHT_IOPORT_BASE; - - if (bootverbose) - printf("cpcht mapdev: start %zx, len %ld\n", start, - rman_get_size(res)); - - p = pmap_mapdev(start, (vm_size_t)rman_get_size(res)); - if (p == NULL) - return (ENOMEM); - rman_set_virtual(res, p); - rman_set_bustag(res, &bs_le_tag); - rman_set_bushandle(res, (u_long)p); - } - - return (rman_activate_resource(res)); -} - -static int -cpcht_release_resource(device_t bus, device_t child, int type, int rid, - struct resource *res) -{ - - if (rman_get_flags(res) & RF_ACTIVE) { - int error = bus_deactivate_resource(child, type, rid, res); - if (error) - return error; - } - - return (rman_release_resource(res)); -} - -static int -cpcht_deactivate_resource(device_t bus, device_t child, int type, int rid, - struct resource *res) -{ - - /* - * If this is a memory resource, unmap it. - */ - if ((type == SYS_RES_MEMORY) || (type == SYS_RES_IOPORT)) { - u_int32_t psize; - - psize = rman_get_size(res); - pmap_unmapdev((vm_offset_t)rman_get_virtual(res), psize); - } - - return (rman_deactivate_resource(res)); -} - static int cpcht_alloc_msi(device_t dev, device_t child, int count, int maxcount, int *irqs) Modified: head/sys/powerpc/powermac/grackle.c ============================================================================== --- head/sys/powerpc/powermac/grackle.c Sat Feb 4 19:50:26 2012 (r230992) +++ head/sys/powerpc/powermac/grackle.c Sat Feb 4 19:54:13 2012 (r230993) @@ -51,6 +51,7 @@ __FBSDID("$FreeBSD$"); #include +#include *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@FreeBSD.ORG Sat Feb 4 20:04:36 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 47868106566B; Sat, 4 Feb 2012 20:04:36 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 326978FC17; Sat, 4 Feb 2012 20:04:36 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q14K4aLO049844; Sat, 4 Feb 2012 20:04:36 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q14K4ax4049842; Sat, 4 Feb 2012 20:04:36 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201202042004.q14K4ax4049842@svn.freebsd.org> From: Nathan Whitehorn Date: Sat, 4 Feb 2012 20:04:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230994 - head/sys/powerpc/powermac X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Feb 2012 20:04:36 -0000 Author: nwhitehorn Date: Sat Feb 4 20:04:35 2012 New Revision: 230994 URL: http://svn.freebsd.org/changeset/base/230994 Log: Miffed r230993 due to a one-character typo while reviewing the patch. Modified: head/sys/powerpc/powermac/grackle.c Modified: head/sys/powerpc/powermac/grackle.c ============================================================================== --- head/sys/powerpc/powermac/grackle.c Sat Feb 4 19:54:13 2012 (r230993) +++ head/sys/powerpc/powermac/grackle.c Sat Feb 4 20:04:35 2012 (r230994) @@ -98,7 +98,7 @@ static device_method_t grackle_methods[] }; static devclass_t grackle_devclass; -DEFINE_CLASS_1(pci, grackle_driver, grackle_methods, +DEFINE_CLASS_1(pcib, grackle_driver, grackle_methods, sizeof(struct grackle_softc), ofw_pci_driver); DRIVER_MODULE(grackle, nexus, grackle_driver, grackle_devclass, 0, 0); From owner-svn-src-head@FreeBSD.ORG Sat Feb 4 20:09:07 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6774D106564A; Sat, 4 Feb 2012 20:09:07 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 513868FC12; Sat, 4 Feb 2012 20:09:07 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q14K97wV050018; Sat, 4 Feb 2012 20:09:07 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q14K97Ra050016; Sat, 4 Feb 2012 20:09:07 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201202042009.q14K97Ra050016@svn.freebsd.org> From: Nathan Whitehorn Date: Sat, 4 Feb 2012 20:09:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230995 - head/sys/conf X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Feb 2012 20:09:07 -0000 Author: nwhitehorn Date: Sat Feb 4 20:09:06 2012 New Revision: 230995 URL: http://svn.freebsd.org/changeset/base/230995 Log: Missed file in r230993. Modified: head/sys/conf/files.powerpc Modified: head/sys/conf/files.powerpc ============================================================================== --- head/sys/conf/files.powerpc Sat Feb 4 20:04:35 2012 (r230994) +++ head/sys/conf/files.powerpc Sat Feb 4 20:09:06 2012 (r230995) @@ -133,6 +133,7 @@ powerpc/mpc85xx/openpic_fdt.c optional f powerpc/mpc85xx/pci_fdt.c optional pci mpc85xx powerpc/ofw/ofw_cpu.c optional aim powerpc/ofw/ofw_machdep.c optional aim +powerpc/ofw/ofw_pci.c optional pci aim powerpc/ofw/ofw_pcibus.c optional pci aim powerpc/ofw/ofw_pcib_pci.c optional pci aim powerpc/ofw/ofw_real.c optional aim From owner-svn-src-head@FreeBSD.ORG Sat Feb 4 20:17:07 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C734F106566B; Sat, 4 Feb 2012 20:17:07 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B1BE38FC08; Sat, 4 Feb 2012 20:17:07 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q14KH7Kf050344; Sat, 4 Feb 2012 20:17:07 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q14KH72v050342; Sat, 4 Feb 2012 20:17:07 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201202042017.q14KH72v050342@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Sat, 4 Feb 2012 20:17:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230996 - head/sys/conf X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Feb 2012 20:17:07 -0000 Author: pjd Date: Sat Feb 4 20:17:07 2012 New Revision: 230996 URL: http://svn.freebsd.org/changeset/base/230996 Log: After multiple requests for back out, after multiple promisses from adrian@ to fix it (without fixing it), after making one of my servers unbootable, after now making also my laptop unbootable and after running out of patiance back out r229800 until better solution is found. Modified: head/sys/conf/files Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Sat Feb 4 20:09:06 2012 (r230995) +++ head/sys/conf/files Sat Feb 4 20:17:07 2012 (r230996) @@ -2405,9 +2405,8 @@ kern/sched_ule.c optional sched_ule kern/serdev_if.m standard kern/stack_protector.c standard \ compile-with "${NORMAL_C:N-fstack-protector*}" -# XXX subr_acl_nfs4.c is also used by ZFS -kern/subr_acl_nfs4.c optional ufs_acl -kern/subr_acl_posix1e.c optional ufs_acl +kern/subr_acl_nfs4.c standard +kern/subr_acl_posix1e.c standard kern/subr_autoconf.c standard kern/subr_blist.c standard kern/subr_bus.c standard From owner-svn-src-head@FreeBSD.ORG Sat Feb 4 23:00:28 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 64464106564A; Sat, 4 Feb 2012 23:00:28 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4E9B88FC15; Sat, 4 Feb 2012 23:00:28 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q14N0Sd8055617; Sat, 4 Feb 2012 23:00:28 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q14N0SYD055615; Sat, 4 Feb 2012 23:00:28 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201202042300.q14N0SYD055615@svn.freebsd.org> From: Nathan Whitehorn Date: Sat, 4 Feb 2012 23:00:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230997 - head/release X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Feb 2012 23:00:28 -0000 Author: nwhitehorn Date: Sat Feb 4 23:00:27 2012 New Revision: 230997 URL: http://svn.freebsd.org/changeset/base/230997 Log: Fix installation script after r230482 -- a missing character apparently. Now, back to convalescing. Modified: head/release/rc.local Modified: head/release/rc.local ============================================================================== --- head/release/rc.local Sat Feb 4 20:17:07 2012 (r230996) +++ head/release/rc.local Sat Feb 4 23:00:27 2012 (r230997) @@ -18,7 +18,7 @@ if [ $? -eq 0 ]; then # goes multiuser touch /tmp/bsdinstall_log tail -f /tmp/bsdinstall_log > /dev/ttyv2 & - /usr/libexec/getty autologin ttyv3 + /usr/libexec/getty autologin ttyv3 & EXTERNAL_VTY_STARTED=1 fi else From owner-svn-src-head@FreeBSD.ORG Sat Feb 4 23:12:15 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CB619106564A; Sat, 4 Feb 2012 23:12:15 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7B8C58FC14; Sat, 4 Feb 2012 23:12:15 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q14NCFbn056000; Sat, 4 Feb 2012 23:12:15 GMT (envelope-from jilles@svn.freebsd.org) Received: (from jilles@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q14NCFPQ055994; Sat, 4 Feb 2012 23:12:15 GMT (envelope-from jilles@svn.freebsd.org) Message-Id: <201202042312.q14NCFPQ055994@svn.freebsd.org> From: Jilles Tjoelker Date: Sat, 4 Feb 2012 23:12:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230998 - head/bin/sh X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Feb 2012 23:12:15 -0000 Author: jilles Date: Sat Feb 4 23:12:14 2012 New Revision: 230998 URL: http://svn.freebsd.org/changeset/base/230998 Log: sh: Use vfork in a few common cases. This uses vfork() for simple commands and command substitutions containing a single simple command, invoking an external program under certain conditions (no redirections or variable assignments, non-interactive shell, no job control). These restrictions limit the amount of code executed in a vforked child. There is a large speedup (for example 35%) in microbenchmarks. The difference in buildkernel is smaller (for example 0.5%) but still statistically significant. See http://lists.freebsd.org/pipermail/freebsd-hackers/2012-January/037581.html for some numbers. The use of vfork() can be disabled by setting a variable named SH_DISABLE_VFORK. Modified: head/bin/sh/eval.c head/bin/sh/jobs.c head/bin/sh/jobs.h head/bin/sh/var.c head/bin/sh/var.h Modified: head/bin/sh/eval.c ============================================================================== --- head/bin/sh/eval.c Sat Feb 4 23:00:27 2012 (r230997) +++ head/bin/sh/eval.c Sat Feb 4 23:12:14 2012 (r230998) @@ -921,6 +921,15 @@ evalcommand(union node *cmd, int flags, if (pipe(pip) < 0) error("Pipe call failed: %s", strerror(errno)); } + if (cmdentry.cmdtype == CMDNORMAL && + cmd->ncmd.redirect == NULL && + varlist.list == NULL && + (mode == FORK_FG || mode == FORK_NOJOB) && + !disvforkset() && !iflag && !mflag) { + vforkexecshell(jp, argv, environment(), path, + cmdentry.u.index, flags & EV_BACKCMD ? pip : NULL); + goto parent; + } if (forkshell(jp, cmd, mode) != 0) goto parent; /* at end of routine */ if (flags & EV_BACKCMD) { Modified: head/bin/sh/jobs.c ============================================================================== --- head/bin/sh/jobs.c Sat Feb 4 23:00:27 2012 (r230997) +++ head/bin/sh/jobs.c Sat Feb 4 23:12:14 2012 (r230998) @@ -57,6 +57,7 @@ __FBSDID("$FreeBSD$"); #undef CEOF /* syntax.h redefines this */ #endif #include "redir.h" +#include "exec.h" #include "show.h" #include "main.h" #include "parser.h" @@ -885,6 +886,54 @@ forkshell(struct job *jp, union node *n, } +pid_t +vforkexecshell(struct job *jp, char **argv, char **envp, const char *path, int idx, int pip[2]) +{ + pid_t pid; + struct jmploc jmploc; + struct jmploc *savehandler; + + TRACE(("vforkexecshell(%%%td, %p, %d) called\n", jp - jobtab, (void *)n, + mode)); + INTOFF; + flushall(); + savehandler = handler; + pid = vfork(); + if (pid == -1) { + TRACE(("Vfork failed, errno=%d\n", errno)); + INTON; + error("Cannot fork: %s", strerror(errno)); + } + if (pid == 0) { + TRACE(("Child shell %d\n", (int)getpid())); + if (setjmp(jmploc.loc)) + _exit(exception == EXEXEC ? exerrno : 2); + if (pip != NULL) { + close(pip[0]); + if (pip[1] != 1) { + dup2(pip[1], 1); + close(pip[1]); + } + } + handler = &jmploc; + shellexec(argv, envp, path, idx); + } + handler = savehandler; + if (jp) { + struct procstat *ps = &jp->ps[jp->nprocs++]; + ps->pid = pid; + ps->status = -1; + ps->cmd = nullstr; + jp->foreground = 1; +#if JOBS + setcurjob(jp); +#endif + } + INTON; + TRACE(("In parent shell: child = %d\n", (int)pid)); + return pid; +} + /* * Wait for job to finish. Modified: head/bin/sh/jobs.h ============================================================================== --- head/bin/sh/jobs.h Sat Feb 4 23:00:27 2012 (r230997) +++ head/bin/sh/jobs.h Sat Feb 4 23:12:14 2012 (r230998) @@ -91,6 +91,7 @@ void setjobctl(int); void showjobs(int, int); struct job *makejob(union node *, int); pid_t forkshell(struct job *, union node *, int); +pid_t vforkexecshell(struct job *, char **, char **, const char *, int, int []); int waitforjob(struct job *, int *); int stoppedjobs(void); int backgndpidset(void); Modified: head/bin/sh/var.c ============================================================================== --- head/bin/sh/var.c Sat Feb 4 23:00:27 2012 (r230997) +++ head/bin/sh/var.c Sat Feb 4 23:12:14 2012 (r230998) @@ -94,6 +94,7 @@ struct var vps2; struct var vps4; struct var vvers; static struct var voptind; +struct var vdisvfork; int forcelocal; @@ -125,6 +126,8 @@ static const struct varinit varinit[] = #endif { &voptind, 0, "OPTIND=1", getoptsreset }, + { &vdisvfork, VUNSET, "SH_DISABLE_VFORK=", + NULL }, { NULL, 0, NULL, NULL } }; Modified: head/bin/sh/var.h ============================================================================== --- head/bin/sh/var.h Sat Feb 4 23:00:27 2012 (r230997) +++ head/bin/sh/var.h Sat Feb 4 23:12:14 2012 (r230998) @@ -79,6 +79,7 @@ extern struct var vppid; extern struct var vps1; extern struct var vps2; extern struct var vps4; +extern struct var vdisvfork; #ifndef NO_HISTORY extern struct var vhistsize; extern struct var vterm; @@ -109,6 +110,7 @@ extern int initial_localeisutf8; #endif #define mpathset() ((vmpath.flags & VUNSET) == 0) +#define disvforkset() ((vdisvfork.flags & VUNSET) == 0) void initvar(void); void setvar(const char *, const char *, int); From owner-svn-src-head@FreeBSD.ORG Sat Feb 4 23:25:19 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 73F18106566B; Sat, 4 Feb 2012 23:25:19 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 545528FC15; Sat, 4 Feb 2012 23:25:19 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q14NPJmN056447; Sat, 4 Feb 2012 23:25:19 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q14NPJ7L056445; Sat, 4 Feb 2012 23:25:19 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201202042325.q14NPJ7L056445@svn.freebsd.org> From: Nathan Whitehorn Date: Sat, 4 Feb 2012 23:25:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230999 - head/sys/powerpc/powermac X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Feb 2012 23:25:19 -0000 Author: nwhitehorn Date: Sat Feb 4 23:25:18 2012 New Revision: 230999 URL: http://svn.freebsd.org/changeset/base/230999 Log: Compatibility with IBM firmware. Modified: head/sys/powerpc/powermac/cpcht.c Modified: head/sys/powerpc/powermac/cpcht.c ============================================================================== --- head/sys/powerpc/powermac/cpcht.c Sat Feb 4 23:12:14 2012 (r230998) +++ head/sys/powerpc/powermac/cpcht.c Sat Feb 4 23:25:18 2012 (r230999) @@ -178,7 +178,8 @@ cpcht_attach(device_t dev) if (OF_getprop(node, "reg", reg, sizeof(reg)) < 12) return (ENXIO); - sc->pci_sc.sc_quirks = OFW_PCI_QUIRK_RANGES_ON_CHILDREN; + if (OF_getproplen(node, "ranges") <= 0) + sc->pci_sc.sc_quirks = OFW_PCI_QUIRK_RANGES_ON_CHILDREN; sc->sc_populated_slots = 0; sc->sc_data = (vm_offset_t)pmap_mapdev(reg[1], reg[2]); @@ -214,12 +215,13 @@ cpcht_configure_htbridge(device_t dev, p int ptr, nextptr; uint32_t vend, val; int i, nirq, irq; - u_int f, s; + u_int b, f, s; sc = device_get_softc(dev); if (OF_getprop(child, "reg", &pcir, sizeof(pcir)) == -1) return; + b = OFW_PCI_PHYS_HI_BUS(pcir.phys_hi); s = OFW_PCI_PHYS_HI_DEVICE(pcir.phys_hi); f = OFW_PCI_PHYS_HI_FUNCTION(pcir.phys_hi); @@ -242,41 +244,41 @@ cpcht_configure_htbridge(device_t dev, p */ /* All the devices we are interested in have caps */ - if (!(PCIB_READ_CONFIG(dev, 0, s, f, PCIR_STATUS, 2) + if (!(PCIB_READ_CONFIG(dev, b, s, f, PCIR_STATUS, 2) & PCIM_STATUS_CAPPRESENT)) return; - nextptr = PCIB_READ_CONFIG(dev, 0, s, f, PCIR_CAP_PTR, 1); + nextptr = PCIB_READ_CONFIG(dev, b, s, f, PCIR_CAP_PTR, 1); while (nextptr != 0) { ptr = nextptr; - nextptr = PCIB_READ_CONFIG(dev, 0, s, f, + nextptr = PCIB_READ_CONFIG(dev, b, s, f, ptr + PCICAP_NEXTPTR, 1); /* Find the HT IRQ capabilities */ - if (PCIB_READ_CONFIG(dev, 0, s, f, + if (PCIB_READ_CONFIG(dev, b, s, f, ptr + PCICAP_ID, 1) != PCIY_HT) continue; - val = PCIB_READ_CONFIG(dev, 0, s, f, ptr + PCIR_HT_COMMAND, 2); + val = PCIB_READ_CONFIG(dev, b, s, f, ptr + PCIR_HT_COMMAND, 2); if ((val & PCIM_HTCMD_CAP_MASK) != PCIM_HTCAP_INTERRUPT) continue; /* Ask for the IRQ count */ - PCIB_WRITE_CONFIG(dev, 0, s, f, ptr + PCIR_HT_COMMAND, 0x1, 1); - nirq = PCIB_READ_CONFIG(dev, 0, s, f, ptr + 4, 4); + PCIB_WRITE_CONFIG(dev, b, s, f, ptr + PCIR_HT_COMMAND, 0x1, 1); + nirq = PCIB_READ_CONFIG(dev, b, s, f, ptr + 4, 4); nirq = ((nirq >> 16) & 0xff) + 1; device_printf(dev, "%d HT IRQs on device %d.%d\n", nirq, s, f); for (i = 0; i < nirq; i++) { - PCIB_WRITE_CONFIG(dev, 0, s, f, + PCIB_WRITE_CONFIG(dev, b, s, f, ptr + PCIR_HT_COMMAND, 0x10 + (i << 1), 1); - irq = PCIB_READ_CONFIG(dev, 0, s, f, ptr + 4, 4); + irq = PCIB_READ_CONFIG(dev, b, s, f, ptr + 4, 4); /* * Mask this interrupt for now. */ - PCIB_WRITE_CONFIG(dev, 0, s, f, ptr + 4, + PCIB_WRITE_CONFIG(dev, b, s, f, ptr + 4, irq | HTAPIC_MASK, 4); irq = (irq >> 16) & 0xff; @@ -285,10 +287,10 @@ cpcht_configure_htbridge(device_t dev, p sc->htirq_map[irq].ht_base = sc->sc_data + (((((s & 0x1f) << 3) | (f & 0x07)) << 8) | (ptr)); - PCIB_WRITE_CONFIG(dev, 0, s, f, + PCIB_WRITE_CONFIG(dev, b, s, f, ptr + PCIR_HT_COMMAND, 0x11 + (i << 1), 1); sc->htirq_map[irq].eoi_data = - PCIB_READ_CONFIG(dev, 0, s, f, ptr + 4, 4) | + PCIB_READ_CONFIG(dev, b, s, f, ptr + 4, 4) | 0x80000000; /* @@ -296,7 +298,7 @@ cpcht_configure_htbridge(device_t dev, p * in how we signal EOIs. Check if this device was * made by Apple, and act accordingly. */ - vend = PCIB_READ_CONFIG(dev, 0, s, f, + vend = PCIB_READ_CONFIG(dev, b, s, f, PCIR_DEVVENDOR, 4); if ((vend & 0xffff) == 0x106b) sc->htirq_map[irq].apple_eoi = From owner-svn-src-head@FreeBSD.ORG Sat Feb 4 23:29:08 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6383B106566B; Sat, 4 Feb 2012 23:29:08 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4DE158FC17; Sat, 4 Feb 2012 23:29:08 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q14NT8wm056657; Sat, 4 Feb 2012 23:29:08 GMT (envelope-from jilles@svn.freebsd.org) Received: (from jilles@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q14NT8ro056655; Sat, 4 Feb 2012 23:29:08 GMT (envelope-from jilles@svn.freebsd.org) Message-Id: <201202042329.q14NT8ro056655@svn.freebsd.org> From: Jilles Tjoelker Date: Sat, 4 Feb 2012 23:29:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r231001 - head/bin/sh X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Feb 2012 23:29:08 -0000 Author: jilles Date: Sat Feb 4 23:29:07 2012 New Revision: 231001 URL: http://svn.freebsd.org/changeset/base/231001 Log: sh: Fix swapped INTON/INTOFF. A possible consequence of this bug was a memory leak if SIGINT arrived during a 'set' command (listing variables). MFC after: 1 week Modified: head/bin/sh/var.c Modified: head/bin/sh/var.c ============================================================================== --- head/bin/sh/var.c Sat Feb 4 23:27:16 2012 (r231000) +++ head/bin/sh/var.c Sat Feb 4 23:29:07 2012 (r231001) @@ -603,7 +603,7 @@ showvarscmd(int argc __unused, char **ar } } - INTON; + INTOFF; vars = ckmalloc(n * sizeof(*vars)); i = 0; for (vpp = vartab; vpp < vartab + VTABSIZE; vpp++) { @@ -628,7 +628,7 @@ showvarscmd(int argc __unused, char **ar out1c('\n'); } ckfree(vars); - INTOFF; + INTON; return 0; }